A=nmf(H) returns a Non-negative Matrix Factorization object.
Given matrix X>0 creates matrices W,H>0 with X ~ X*=W*H
Usage: [r n]=train(nmf,data(abs(rand(nrofsamples,nroffeatures))));
Result: r.X = approximated X* , r.Y= original X
implementation for the MPG journal club. faster code available from the seungs lab.
Hyperparameters, and their defaults
N=5; -- number of final basis functions
maxIteration=50; -- maximum number of iterations per cycle
nrofrestarts=5; -- nr of restarts to overcome local minima.
Model
W = new coordinates of object.
H = new basis vectors.
Methods:
train
testing
Example:
d=data(rand(20,10));
[r,n]=train(nmf('N=2'),d);
|
Reference : Algorithms for Non-negative Matrix Factorization |
|
Author : Daniel D. Lee, H. Sebastian Seung |