Projective Nonnegative Matrix Factorization (PNMF)

Click here to download the toolbox, which contains the following files:

pnmfeu.m PNMF based on Euclidean distance
pnmfkl.m PNMF based on I-divergence (non-normalized KL-divergence), non-sparse input
pnmfkl_sparse.m PNMF based on I-divergence, sparse input. Run "mex sp_factor_ratio.c" before its use.
idiv.m Utility function that computes I-divergence between two non-sparse matrices/vectors
sp_factor_ratio.c Utility C function that computes Z=X./(W*H) for sparse X, called by pnmfkl_sparse.m
pnmf_demo.m Demonstration script.
faces.mat Faces data used in the demo (inner faces extracted from the FERET database).
cisi.mat CISI text data used in the demo.
ShowNMFBasis.m Utility function for displaying the columns of resulting matrix as basis images.

Please give reference to our contribution below if you use our PNMF toolbox in your publishable work.