Week 15: Nonnegative Matrix Factorization

Chris Tralie

Click here to read the original paper on this. Below is code to implement both the Euclidean and KL divergence versions. Below that is KL divergence run on various numbers of components, showing the results of each iteration of NMF. The more components we allow ourselves to use, the better approximation we get, but the less meaningful each component is.



KL Divergence Examples

K = 3

Griffin-Lim Inverse of W*H

NMF Iterations

Components

Components Filtered
0
1
2

K = 5

Griffin-Lim Inverse of W*H

NMF Iterations

Components

Components Filtered
0
1
2
3
4