非負(fù)矩陣分解

基本思想

非負(fù)矩陣分解(Non-negative Matrix Factorization)于 1999 年由 Lee 和 Seung 發(fā)表于《Nature》上,其基本思想可以簡(jiǎn)單描述為:對(duì)矩陣中所有元素進(jìn)行非負(fù)數(shù)的約束,即對(duì)于任意給定的非負(fù)矩陣 V,NMF 算法能夠?qū)ふ乙粋€(gè)非負(fù)矩陣 W 和一個(gè)非負(fù)矩陣 H,使 V=WH。原始矩陣中的列向量可以解釋為矩陣 W 列向量的加權(quán)和,加權(quán)系數(shù)為 H 中對(duì)應(yīng)列向量的元素。這種基于向量組合的表示方式具有很直觀的語(yǔ)義解釋,反映人類思維中「局部構(gòu)成整體」的概念。

矩陣分解的方法有很多,比如 PCA(主成分分析)、ICA(獨(dú)立成分分析)、SVD(奇異值分解)、VQ(矢量量化)等。在這些方法中,原始矩陣 V 被近似分解為低秩的 V=WH 的形式,因子 W 和 H 中的元素可正可負(fù),即使輸入的初始矩陣的元素全為正,傳統(tǒng)的秩削減算法也不能保證原始數(shù)據(jù)的非負(fù)性。在數(shù)學(xué)上,從計(jì)算的觀點(diǎn)看,分解結(jié)果中存在負(fù)值是正確的,但負(fù)值元素在實(shí)際問題中往往是沒有意義的(如圖像、文檔)。具體的比較參考文獻(xiàn) 2。

算法

輸入?yún)?shù):V,r,MAXITER,其中 V 為被分解的矩陣,r 為降階后 W 的秩,MAXITER 為迭代次數(shù).

輸出參數(shù):W,H

1):初始化矩陣 W,H 為非負(fù)數(shù),同時(shí)對(duì) ?W 的每一列數(shù)據(jù)歸一化.

2):for i=1:MAXITER

? ? ? ? ? ? a:更新 H 矩陣一行元素:H(i,j)=H(i,j)*(B'*X)(i,j)/(B'*B*H)(i,j)

? ? ? ? ? ? b:更新 W 的一列元素:W(k,j)=W(k,j)*(V*H')(k,j)/(W*H*H')(k,j);

? ? ? ? ? ? ?c :重新對(duì) W 進(jìn)行列歸一化

3)end

參考文獻(xiàn)

1. Lee D D, Seung H S. Learning the parts of objects by non-negative matrix factorization[J]. Nature, 1999, 401(6755): 788-791.

2. http://lijiancheng0614.github.io/2015/08/13/2015_08_13_NMF/

3. 科學(xué)網(wǎng)博客

4. http://blog.csdn.net/lilyth_lilyth/article/details/8958147

5. LDA和NMF的區(qū)別?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容