Variational Bayesian Nonnegative Matrix Factorisation

Download the zip file here. This folder contains a Matlab implementation of variational Bayes for KL (Kullback-Leibler) divergence based Non Negative Matrix Factorisation, as discussed in: A. T. Cemgil. Bayesian inference in non-negative matrix factorisation models. Technical Report CUED/F-INFENG/TR.609, University of Cambridge, July 2008. Accepted for publication to Computational Intelligence and Neuroscience Features: * Full Bayesian treatment of NMF * Handles Missing data (specified via NaN's) * Enables model selection via variational lower bound (finding automatically the 'rank' of the decomposition) * Hyperparameter adaptation (Finding the appropriate sparsity criteria ) * Compact implementation To run a demo, simply extract all files to a directory, in Matlab change to the directory and run the demo: >> gnmf_vb_demo01 This generates a positive matrix X from the NMF generative model, then computes a positive decomposition with hyperparameter adaptation. Note: This implementation needs the statistics toolbox of Matlab. Actually, we only use the Poisson and Gamma random variable generators poissrnd and gamrnd, so you should be able to easily remove the toolbox dependence. File List: gnmf_vb_poisson_mult_fast.m NMF implementation with bound computation gnmf_solvebynewton.m Hyper parameter optimisation marginal_plot.m Visualisation Utility parse_optionlist.m Parameter parsing utility %11-May-2009 3:09 PM ATC Author: Ali Taylan Cemgil Dept. of Computer Eng., Bogazici University, 34342 Bebek, Istanbul, Turkey email <append> : taylan DOT cemgil AT boun %11-May-2009 3:09 PM ATC Copyright (C) 2009 Ali Taylan Cemgil, This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.