Skip to content

ahmadvh/Non-Negative-Matrix-factorization---Implemented-in-python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NMF Algorithm

Non-negative Matrix Factorization (NMF) is a family of linear algebra algorithms used for identifying the latent structure within data represented as a non-negative matrix. Link to the YouTube tutorial



Input: matrix A; rank k.
Output: Two k-dimensional factors W and H approximating A
So our Objective function looks like this:



There are several approaches to solving this minimization Problem. I used Multiplicative Update Method
introduced by Lee and Seung in 1999. (This Paper)

NNDSVD Method

As the Multiplicative Update is an iterative method, It is very sensitive to initializations of W and H.
NNDSVD Method is an SVD-based initialization, introduced by C. Boutsidis and E. Gallopoulos in 2007 (This Paper)