From: Jake Mannix <[email protected]> To: [email protected] Sent: Tue, December 8, 2009 10:05:50 PM Subject: Re: Fwd: A MapReduce Algorithm for Matrix Multiplication
On Tue, Dec 8, 2009 at 6:47 PM, Zhengguo 'Mike' SUN <[email protected]>wrote: > Hi Jake, > > I am implementing the classical multiplicative update rule of NMF. The > matrix to be factorized is really big and sparse. Are you suggesting that I > can use some specialised algorithms for sparse matrix instead of the > standard multiplication algorithm? But what algorithms are you referring to? > Could you please provide some pointers? > So given your input matrix X, you're trying to find non-negative matrices W (thin matrix, with few long dense columns) and H (wide matrix, with few long dense rows) which minimize || X - WH ||, right, where || * || is the Froebenius norm, right? Yes. I'm just suggesting that you don't even compute entries in X - WH where X has missing data - optimize treating those values as unknown, not "zero". No, I am not computing entries in X-WH. I am doing iterations on the following two rules: H <- H*(WtX)/(WtWH), W<- W*(XHt)/(WHHt) The detailed algorithm is presented in this paper: http://www.nips.cc/Web/Groups/NIPS/NIPS2000/00papers-pub-on-web/LeeSeung.ps.gz -jake
