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.

- Zhirong Yang and Erkki Oja, Linear and Nonlinear Projective Nonnegative Matrix Factorization, IEEE Transactions on Neural Networks, 21(5):734-749, 2010. [pdf]. [clustering experiment scripts and datasets]