論文

摘要:非負矩陣分解對於多元數據是有用的降維方法。分析兩種不同的多元算法對於NMF。他們只是在在更新規則中乘法因子的有輕微的不同。一個算法顯示去最小傳統最小二乘損失,另一種是最小泛化的KL散度。這兩算法的收斂可以使用一個輔助函數來證明收斂,類似於證明EM算法收斂時的輔助函數。算法也可被認爲重新調節的梯度下降,其中重新調節因子選擇最優來保證收斂。
1 簡介:
非監督學習算法例如主成分分析和向量量子化可以被認爲是分解數據矩陣,服從不同的約束。取決於約束的使用,結果向量可顯示不同代表性的屬性。主成分分析只加了一個弱的正交約束,得到一個分佈式表達,使用刪除(cancellations???)來生成多種變形。另一方面,向量量子化使用一個硬winner-take-all約束,導致將數據集手動聚類到一個獨有原型。我們顯示非負性是一個很好的約束對於矩陣分解,其可以學習數據的一部分表達。學習的非負基向量被用到分散的,也稀疏的結合中來生成重構中的表達。
2 非負矩陣分解
給定一個非負矩陣V, 找到兩個非負矩陣因子W 和H,滿足

VWH
(1)
給定多元n維數據向量集合,組成成n×m 的矩陣V 其中m表示是樣本個數。這個矩陣近似的被分解成n×r 矩陣W 和r×m 矩陣H。經常的r被選定比n或m都要小,以至於W和H比原始V要小。
等式一近似的重要性:它可以由列向量重新寫成vWh 其中v和h是V和H中對應的列。換句話說每個向量v使用W的列向量的線性結合來近似,通過h的成分來加權。因此W可以被視爲包含對於在V中的數據的最優線性近似的基向量。當相關很少的基向量被用來表達很多數據時,好的近似只能當基向量發現數據中的隱藏結構來實現。
現在我們討論兩種算法對於NMF 基於迭代更新W和H。因爲這些算法很簡單就能實現並且能保證他們的收斂屬性,我們發現在實踐應用中也很有用。其他算法可能有用但是很難實現並且可能沒有泛化到不同的損失函數。
在我們算法中每輪迭代,W或者H的新值通過乘以當前值和一些取決於等式的近似的質量的因子。我們證明近似的質量單調提升使用這些乘法更新規則的應用。在實踐中,這意味着更新規則的重複迭代保證了收斂到一個局部最優的矩陣分解。
3 cost函數
爲了去找一個近似的分解VWH ,我們首先需要定義損失函數,來量化近似的質量。一個損失函數使用一些兩非負矩陣A和B的距離度量函數來構建。一個有用的度量是基於歐氏距離的平方差
||AB||2=ij(AijBij)2

(2)
下界爲0,當A = B時。
另一種有用的度量
D(A||B)=ij(AijlogAijBijAij+Bij)
(3)
像歐式距離,它的下屆爲0,當A=B時。但它不能稱爲距離,因爲它不是對稱的。所以我們稱爲AB之間的散度。當ijAij=ijBij=1 時降到KL散度,或者相關熵,以便於A和B可被認爲標準化的概率分佈。
我們考慮兩個可交替的NMF函數作爲優化問題:問題1:最小||VWH||2 關於W和H,服從於約束W,H0 .
問題2:最小D(V||WH)關於W和H,服從於約束W,H0 .
儘管函數||VWH||2D(V||WH) 只對W或者H凸問題,對於兩個變量不是同時凸的。因此這不現實去期待算法去解問題1和問題2關於找一個全局解。然而,有很多數值優化的技術能應用到找局部最小值。
梯度下降可能是最簡單的技術去實現,但收斂很慢。其他方法例如共軛梯度能更快收斂,至少在局部最小的附近,但更復雜去實現。梯度的收斂也有一些缺點,對於step size選取敏感,對大型應用不方便。
4 乘法更新規則
我們發現下列乘法更新規則是對於速度和實現難易程度的妥協來解決問題1和2。
理論1 歐式距離|VWH| 在下列更新規則中是下降的:
HαμHαμ(WTV)αμ(WTWH)αμ
WiαWiα(VHT)iα(WHHT)iα

當且僅當W和H是在靜態點的距離時,歐式距離在這些更新中不變。
理論2:散度D(V||WH)在下列更新規則中下降:
HαμHαμiWiαViα/(WH)iμkWkα

WiαμHαμViμ/(WH)iμvHαv

當且僅當W和H是在靜態點的散度時,散度對於更新保持不變。
證明這個等式:目標函數J=||VWH||2
分別對W和H求導:
JW=(VWH)HT=VHT+WHHT

JH=WT(VWH)=WTV+WTWH

使用梯度更新:
Wiu=WiuηiuJWiu

ηiu=Wiu(WHHT)iu , 則
Wiu=Wiu+Wiu(WHHT)iu(VHTWHHT)=Wiu(VHT)iu(WHHT)iu

同理,取ηαμ=Hαμ(WTWH)αμ
發佈了38 篇原創文章 · 獲贊 12 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章