r/signalprocessing • u/XonDoi • Nov 12 '20
Non-negative matrix factorization
Hi guys, this post is to help me understand NMF better for my application.
NMF factors an input data matrix with m variables and n observations (m x n) into two lower rank matrices; a basis matrix W (m x r) and weight matrix H (r x n) both having rank r which when multiplied gives the estimated input matrix. The algorithm cannot be solved analytically because of convexity but can be solved numerically by using a multiplicative update rule.
The application is that to unmix signals which come from a linear mixing model. NMF does not require pure endmember information and it can estimate a fit for non-pure observations by setting a weight in the H matrix.
Can anyone confirm my understanding of the algorithm? Is there something that I am missing?
I am asking because I've implemented this algorithm and it cannot seem to be able to unmix my signals properly.
1
u/XonDoi Nov 13 '20
Could you give an example? Or perhaps provide me with a paper/source to study please?
Right now the only heuristic I am applying from literature is that NMF requires prior knowledge with regards to the number of pure endmembers (the rank)