1. 程式人生 > >Algorithms for Non-negative Matrix Factorization 非負矩陣分解

Algorithms for Non-negative Matrix Factorization 非負矩陣分解

NIPS 2000 經典論文翻譯。

摘要

非負矩陣分解(NMF)是一種可以有效處理多變數資料的方法。本文介紹、分析了兩種不同的 NMF 演算法,這兩種演算法僅在更新規則(update rule)中使用的乘性因子(multiplicative factor)有所區別。其中一種可以對傳統的最小二乘誤差進行最小化(minimize),而另一種可以對廣義 Kullback-Leibler 散度(KL 散度)進行最小化。可以使用與證明最大化期望演算法收斂性類似的輔助函式來證明這兩種演算法的單調收斂性。這兩種演算法均可理解為用斜向最陡下降法(diagonally rescaled gradient descent)對因子進行最優化,以保證演算法收斂。

簡介

PCA、向量量化(Vector Quantization)等無監督學習演算法可以理解為在不同約束條件下對資料矩陣進行分解。根據其約束的不同,分解所得的因子的會表現出大相徑庭的性質。比如,PCA 僅使用了弱正交約束,從而得到非常分散的表示,對這些表示使用消去法來產生多樣性;向量量化使用一種嚴格的全域性最優型約束,最終會得到互斥的資料聚類原型。

我們之前已經證明過,在矩陣分解用於學習資料的部分表示中,非負性(non-negative)是一種非常有用的約束。學習得到的非負基向量是分散的,但仍可通過稀疏的組合,在重建時得到效果良好的表達向量。在本文中,我們詳細分析了這兩種用於在資料中學習最優的非負因子的數值演算法。

非負矩陣分解

下面我們正式開始分析如何用演算法解決以下問題:

在非負矩陣分解(NMF)中,給定非負矩陣V,找到非負矩陣因子W和H,使得:

(1):  V\approx WH

NMF 可以應用下面的方法用於對多變數資料進行統計分析。給定一組多變數的 n 維資料向量,其向量位於一個 n\times x 矩陣 V 的列中(m 表示資料集中的示例數)。然後將此矩陣近似分解為 n\times r 的 W 矩陣與 r\times m的 H 矩陣。通常 r 要小於 n 或 m,以使 W 和 H 小於原始矩陣 V。最終得到的是原始資料矩陣的壓縮形態。

公式(1)中約等於的意義在於它可以將公式逐列用 v\approx Wh 來表示,其中 v 和 h 是矩陣 V 和矩陣 H 的對應的列。也就是說,每個資料向量 v 近似地由矩陣 W 的各列線性組合而成,同時用 h 的分量進行加權。因此可以被認為 W 包含了對 V 中的資料的線性近似優化的基向量。由於要使用少量的基向量來表示大量的資料向量,因此只有在基向量發現數據中的潛在結構時才能實現較好的近似。

本文不會涉及關於 NMF 的應用,而會側重於在技術方面探討非負矩陣分解的技術。當然,已經有許多其它的矩陣分解方式在數值線性代數中得到了廣泛的研究,但是以前的大多數工作都不適用於非負性約束情況。

在此,我們討論了基於迭代更新 W 和 H 的兩種 NMF 演算法。由於這兩種演算法易於實現,同時能保證其收斂性,因此它們在現實情況中非常實用。其他演算法可能在總計算時間方面更有效率,但是更難實現,並且很難推廣到不同的代價函式(cost function)。因子與我們類似的演算法,已經被用於對發射斷層掃描和天文影象進行反捲積(deconvolution)。

在我們演算法的每次迭代中,會用當前值乘某些取決於公式(1)中的“近似程度”的因數,來找到 W 或 H 的新值。我們可以證明“近似程度”會隨著不斷應用這些乘法更新規則而單調減小。這正意味著更新規則的重複迭代可以保證矩陣分解演算法收斂到區域性最優。

代價函式

為了找到V\approx WH的近似解,我們首先需要定義一個代價函式,用以量化近似的程度。可以使用兩個非負矩陣 A 和 B 的距離來構造此代價函式。一種使用的距離度量方法為:計算 A 和 B 之間的歐幾里得距離(Euclidean distance)的平方值。

(2): ||A-B||^2 = \sum_{ij}(A_{ij} - B_{ij})^2

此公式下界為 0,僅當 A=B 時距離消失。

另一種實用的度量方式為:

(3): D(A||B) = \sum_{ij}(A_{ij} \log{\frac{A_{ij}}{B_{ij}}} - A_{ij}+B_{ij})

與歐幾里得距離相同,它的下界也為 0,且在 A=B 時距離消失。但它不能被稱為“距離”,因為這個式子在 A 與 B 中並不對稱,因此我們將其稱為 A 對於 B 的“散度”(divergence)。它可以歸納為 KL 散度或者相對熵,當 \sum_{ij}A_{ij}=\sum_{ij}B_{ij}=1時,A 與 B 可以看做是標準化的概率分佈。

現在,我們可以按照以下兩種公式來將 NMF 化為最優化問題:

最優化問題1:在約束條件 W, H \geq 0 下,以 W 和 H 作為引數,最小化 ||V - WH||^2

最優化問題2:在約束條件 W, H \geq 0 下,以 W 和 H 作為引數,最小化 D(V||WH)

雖然方程 ||V - WH||^2D(V||WH) 在只考慮 W 或 H 之一時為凸,但在同時考慮 WH 兩個變數時不為凸。因此,尋找一種可以找到全域性最小值的演算法去解決以上兩個最優化問題是不切實際的。但是,還有許多數值優化方法可以用於尋找區域性最小值。

雖然梯度下降法(Gradient descent)的收斂速度很慢,但它的實現最為簡單。其它方法(比如共軛梯度法)可以更快地收斂(至少在區域性最小值附近會更快),但是它們比梯度下降更復雜。此外,梯度下降方法的收斂對步長的選擇非常敏感,這對於大規模應用十分不利。

乘法更新規則

我們發現在解決上述兩個最優化問題時,在速度與實現難度中權衡,“乘法更新規則”是一種綜合性能很好方法。

定理1:歐幾里得距離 ||V-WH|| 在下面的更新規則中呈非增:

(4): H_{a\mu} \leftarrow H_{a\mu}\frac{(W^T V)_{a\mu}}{(W^T W H)_{a\mu}}
(4): W_{ia} \leftarrow W_{ia}\frac{(V H^T)_{ia}}{(W H H^T)_{ia}}

在上述更新規則中,W 與 H 在距離公式的駐點上時,歐幾里得距離將固定不動。

定理2:散度 D(V|WH) 在下面的更新規則中呈非增:

(5): H_{a\mu} \leftarrow H_{a\mu}\frac{\frac{\sum_{i}W_{ia}V_{i\mu}}{WH_{i\mu}}}{\sum_k W_{ka}}
(5): W_{ia} \leftarrow W_{ia}\frac{\frac{\sum_{\mu}H_{a\mu}V_{i\mu}}{WH_{i\mu}}}{\sum_v H_{av}}

在上述更新規則中,W 和 H 在散度公式的駐點上時,散度將不再更新。

上述定理的證明將在後面給出。我們可以發現,每次更新都是乘以一個因子。特別地,當V = WH時,可以直觀地看出這個乘數因子是一樣的,當更新規則固定時,才會得到完美的分解。

乘法與加法更新規則

可以將乘法更新與梯度下降更新進行對比。特別的,對 H 進行更新以減小平方距離可以記為:

(6):H_{a\mu} \leftarrow H_{a\mu} + \eta_{a\mu}[(W^TV)_{a\mu} - (W^T WH)_{a\mu}]

如果將 \eta_{a\mu} 設定為較小的正數,上式就和常規的梯度下降等價。只要數字充分小,就能在更新時減小 ||V-WH||

如果我們按照斜向最陡調整變數,並設定:

(7): \eta_{a\mu}=\frac{H_{a\mu}}{(W^TWH)_{a\mu}}

就能得到定理 1 中給出的 H 更新規則。注意,該調整可得出乘性因子(分母中的梯度的正分量和因子的分子中的負分量的絕對值)。

對於散度公式,我們按照下述公式調整斜向最陡梯度下降:

(8): H_{a\mu} \leftarrow H_{a\mu} + \eta_{a\mu}[\sum_{i}W_{ia}\frac{V_{i\mu}}{(WH)_{i\mu}}-\sum_{i}W_{ia}]

同樣的,如果將 \eta_{a\mu} 設定為較小的正數,上式就和常規的梯度下降等價。只要數字充分小,就能在更新時減小 D(V||WH)。如果設定:

(9): \eta_{a\mu} = \frac{H_{a\mu}}{\sum_i W_{ia}}

那麼就能得到定理 2 中給出的 H 更新規則。該調整可得出乘性因子(分母中的梯度的正分量和因子的分子中的負分量的絕對值)。

由於我們對 \eta_{a\mu} 的取值並不夠小,看起來不能保證這種調整過後的梯度下降的代價函式減小。不過讓人驚訝的是,如下節所示,上述假設是事實。

收斂證明

我們將使用一個類似於 EM 演算法的輔助函式來證明定理 1 與定理 2。

定義 1G(h,h')F(h) 的輔助函式,滿足以下條件成立:

(10): G(h,h')\geq F(h), G(h,h)=F(h)

根據下面的引理,此輔助函式是一個有用的概念。(在圖1中的插圖也顯示了這一點)

引理 1:如果 G 為輔助函式,則 F 在下述更新時為非增:

(11): h^{t+1} = \arg\min_{h}G(h,h^t)

證明F(h^{t+1}) \leq G(h^{t+1}, h^t) \leq G(h^t,h^t) = F(h^t)

請注意,只有在h^tG(h,h^t)的全域性最小值時滿足F(h^{t+1})=F(h^t)。如果 F 的導數存在,且在h^{t}的鄰域連續,也就是說\nabla F(h^t) = 0。因此通過公式11反覆更新,我們就能得到目標函式收斂的區域性最小值 h_{min} = \arg\min_h F(h)

(12): F(h_{min}) \leq ... F(h^{t+1})\leq F(h^t) ... \leq F(h_2) \leq F(h_1) \leq F(h_0)

下面,我們證明如何為||V-WH||D(V,WH)定義適當的輔助函式G(h,h^t)。定理 1 與定理 2 可以直接遵循公式 11 的更新規則。

引理 2:如果K(h^t)為對角矩陣,

(13): K_{ab}(h^t) = \delta_{ab}\frac{W^T Wh^t}{h^t_a}

(14): G(h,h^t)=F(h^t)+(h-h^t)^T \nabla F(h^t) + \frac{1}{2}(h-h^t)^T K(h^t)(h-h^t)

(15): F(h)=\frac{1}{2} \sum_i(v_i- \sum_a W_{ia} h_a)^2

的輔助函式。

證明:因為顯然 G(h,h)=F(h),因此只需證明 G(h,h') \geq F(h)。為了證明此不等式,需要將

(16): F(h) = F(h^t) + (h-h^t)^T \nabla F(h^t) + \frac{1}{2}(h-h^t)^T(W^TW)(h-h^t)

與公式 14 進行對比,發現 G(h,h') \geq F(h) 等價於

(17): 0 \leq (h-h^t)^T[K(h^t) - W^TW](h-h^t)

為證明半正定情況,考慮矩陣:

(18): M_{ab}(h^t)=h_a^t(K(h^t)-W^TW)_{ab}h_b^t

僅是K-W^TW的調整形式。因此,僅當 M 符合下列公式時,K-W^TW具有半正定性:

(19):v^T Mv = \sum_{ab}v_a M_{ab} v_b \\
(20):=\sum_{ab}h^t_a(W^TW)_{ab}h^t_bv_a^2-v_ah^t_a(W^TW)_{ab}h_b^tv_b \\
(21):=\sum_{ab}(W^TW)_{ab}h_a^th_b^t[\frac{1}{2}v_a^2 + \frac{1}{2}v_b^2 - v_av_b] \\
(22):=\frac{1}{2}\sum_{ab}(W^TW)_{ab}h_a^th_b^t(v_a-v_b)^2 \\
(23):\geq 0

現在,我們可以證明定理 1 的收斂性。

定理 1 證明:使用公式14的結果替換公式11中的G(h,h^t),得到更新規則:

(24): h^{t+1}=h^t - K(h^t)^{-1} \nabla F(h^t)

因為公式14為輔助函式,根據引理1,F 在更新規則中為非增。將上式完整的寫下來,可以得到:

(25): h^{t+1}_a= h^{t}_a \frac{(W^Tv)_a}{(W^TWh^t)_a}

反轉引理 1 與引理 2 中 W 和 H 的角色,F 可以以類似的方法證明在 W 的更新規則下為非增。

接下來,我們為散度代價方程尋找輔助函式。

引理 3:定義

(26): G(h,h^t)=\sum_i(v_i \log{v_i} - v_i) + \sum_{ia} W_{ia}h_a \\
(27):-\sum_{ia}v_i\frac{W_{ia}h^t_a}{\sum_b W_{ib} h^t_b} (\log{W_{ia} h_a - \log{\frac{W_{ia}h^t_a}{\sum_b W_{ib} h^t_b}}})

(28): F(h)=\sum_i v_i \log(\frac{v_i}{\sum_a W_{ia} h_a})- v_i + \sum_a W_{ia} h_a

的輔助函式。

證明:因為顯然 G(h,h)=F(h),因此只需證明 G(h,h') \geq F(h)。我們通過對數函式的凸性來推導此不等式:

(29): -\log \sum_a W_{ia} h_a \leq -\sum_a a_a \log \frac{ W_{ia} h_a}{a_a}

上式對所有的聯合求合數 a_a 均成立。設

(30): a_a =\frac{ W_{ia} h_a}{\sum_b W_{ib} h_b}

可以得到:

(31): -\log \sum_a W_{ia} h_a \leq - \sum_a \frac{ W_{ia} h_a}{\sum_b W_{ib} h_b} (\log W_{ia} h_a - \log\frac{ W_{ia} h_a}{\sum_b W_{ib} h_b} )

上面的不等式遵循 G(h,h') \geq F(h)

定理 2 的證明遵循引理 1 及其應用:

定理 2 證明:要令 G(h,h^t) 最小化,則需要將梯度設為 0 來求出 h:

(32): \frac{dG(h,h^t)}{dh_a} = - \sum_i v_i \frac{ W_{ia} h_a^t}{\sum_b W_{ib} h_b^t} \frac{1}{h_a} + \sum_i W_{ia} = 0

因此,公式 11 採取的更新規則應當如下所示:

(33): h_a^{t+1} = \frac{h_a^t}{\sum_b W_{kb}} \sum_i \frac{v_i}{\sum_b W_{ib}h_b^t} W_{ia}

因為 G 為輔助函式,公式 28 中的 F 在更新規則中為非增。用矩陣形式重寫上述公式,發現與 公式 5 的更新規則等價。反轉 W 和 H 的角色,可以以類似的方法證明 F 在 W 的更新規則下為非增。

討論

我們已經證明了在公式 4 與公式 5 中應用更新規則,可以找到問題 1 與問題 2 的區域性最優解。藉助定義合適的輔助函式證明了函式的收斂性。我們將把這些證明推廣到更復雜的約束條件下去。更新規則在計算上非常容易實現,有望進行廣泛的應用。

感謝貝爾實驗室的支援,以及 Carlos Brody, Ken Clarkson, Corinna Cortes, Roland Freund, Linda Kaufman, Yann Le Cun, Sam Roweis, Larry Saul, Margaret Wright 的幫助與討論。

其實是測試latex功能啦:)