本文簡單介紹非負(fù)矩陣分解 —— Non-negative Matrix Factorization (NMF)以及它與Principal Component Analysis (PCA)的區(qū)別。
在學(xué)習(xí)機(jī)器學(xué)習(xí)基礎(chǔ)和計算機(jī)視覺時,PCA的通俗解釋及例子在網(wǎng)上很容易就能找到,但NMF的卻寥寥無幾。于是想寫一篇關(guān)于NMF的簡短的文章,便于跟我當(dāng)初一樣在初學(xué)時對于NMF的理解不是很清楚的朋友。
有錯誤的地方還望指正。
簡介
NMF是指通過將非負(fù)的數(shù)據(jù)矩陣,分解成兩個小的矩陣的乘積,從而減少運算量。
X ≈ B×W(這里還需要注意的是,B和W矩陣并不是唯一的)
其中,X是數(shù)據(jù)集矩陣,是一個n×p的矩陣,每一列表示一個特征,共有p個特征;X是一個n×k的矩陣,理解為k個基;W是k×p的矩陣,每列均為數(shù)據(jù)集X投影到B上得到的向量。
區(qū)別
以人臉處理這個實例來說,假設(shè)每張照片的人臉共有1000個特征:
在PCA處理中,將特征降維為600個,降維后的每個人臉都包含了600個特征(所以我們看到降維后的人臉有種“伏地魔”的感覺 (--.--||)),這是因為降維處理相當(dāng)于刪去了部分細(xì)節(jié)特征,導(dǎo)致一部分信息丟失,在圖片中最直觀的體現(xiàn)就是變模糊。
而在NMF的處理中,這1000個特征相當(dāng)于是被分離了。數(shù)據(jù)矩陣X被拆分成基礎(chǔ)向量B(basis vectors)與權(quán)重W(weights)的乘積:
X ≈ B × W
其中,權(quán)重W理解為特征的權(quán)重,如鼻子、耳朵、嘴巴等等。也就是說:
X ≈ B × w1 + B × w2 + …… + B × w1000
相當(dāng)于,一張人臉是由鼻子、耳朵等這些獨立的特征疊加出來的。
總結(jié)
總的來說,PCA處理的人臉沒有區(qū)分具體哪個特征對應(yīng)哪些部位,而是統(tǒng)一地把所有的特征體現(xiàn)在一張照片上;NMF是一種“可加”的思想,不同的特征對應(yīng)不同的臉部細(xì)節(jié),將這些細(xì)節(jié)疊加形成一張臉。