• 沒有找到結果。

非平滑非負矩陣分解法( NS NMF)

第三章 非負矩陣分解法

3.5 非平滑非負矩陣分解法( NS NMF)

在此可先提及名詞,「稀疏」是指一個向量中的元素零值多,極端的例子就是ㄧ 個向量中只有一個非零值;「平滑」是指一個向量中的元素大致上都有值,極端 的例子就是ㄧ個向量中,所有元素都是非零值且值相等。所以「稀疏」 (Sparseness) 意味著「非平滑」(Nonsmoothness)的概念,而「非稀疏」(Nonsparseness)可謂「平 滑」(Smoothness)的概念。在上述提到的稀疏方法是藉由在歐式距離或 KL 散度 的減損函式進行約束或添加懲罰項。這種方式可以單獨施加到基底向量,也可以 單獨施加到編碼向量,或是同時施加。而在兩個矩陣同時施加稀疏約束時,將會 降 低 資 料 的 解 釋 方 差 (Explained Variance) 。 使 用 非 平 滑 非 負 矩 陣 分 解 法

(Nonsmooth Nonnegative Matrix Factorization, nsNMF)的方式跟上述所提及的其 它稀疏變形非負矩陣分解法相比,它較能維持資料的解釋方差。非平滑非負矩陣 分解法[Pascual-Montano, 2006]直接修改傳統非負矩陣分解法的模型。利用模型 的乘法性質,達到矩陣全面的稀疏,以能擷取更局部的資訊。非負矩陣分解法將 資料矩陣分成兩個矩陣相乘,也就是基底矩陣乘以編碼矩陣。若在一個矩陣中,

其元素是非稀疏或平滑的,為了要補償最後兩個矩陣相乘之後能盡可能地近似原 始資料矩陣,這將會迫使另一個矩陣面臨稀疏或非平滑的情況。非平滑非負矩陣 分解法可以定義如下:

V = WSH (式 3-18)

38

圖 3-3 非平滑非負矩陣分解法示意圖

在上式中,矩陣V ∈ 𝑅𝐼×𝐽為資料矩陣,矩陣W ∈ 𝑅𝐼×𝐾為基底矩陣,矩陣H ∈ 𝑅𝐾×𝐽 為編碼矩陣,以上是傳統非負矩陣分解法的模型變數,而矩陣S ∈ 𝑅𝐾×𝐾稱為平滑

矩陣,定義如下:

S = (1 − 𝜃)I +𝜃𝐾11T (式 3-19) 式 3-19 中 1 是一個元素都是 1 的向量,I 是單位矩陣,以及𝜃是一個用來控制整 體稀疏程度的參數,此參數滿足0 ≤ 𝜃 ≤ 1的範圍中。

圖 3-4 平滑矩陣 S 之例子

39

對平滑矩陣S可以解釋為:假設X為一個正的非零值向量,而Y = SX為轉換後的向 量。如果𝜃 = 0,Y = X,意謂著向量X中沒有平滑發生;如果𝜃 = 1,向量Y中所 有的元素會變成一致的數值,此數值會等於向量X所有元素的平均,這就是最平 滑的向量。因為向量Y中的元素擁有相同的非零值,而不是有些值趨近於零而有

些值是明顯得非零值。

圖 3-5 平滑矩陣 S 相乘例子

由上述可知參數𝜃用來控制平滑矩陣S的平滑程度。由於模型的乘法性質,平滑矩 陣S中若有強烈的平滑情況,將會迫使在基底向量與編碼向量中造成強烈的稀疏。

因此可以說參數𝜃是用來控制整個非負矩陣分解法模型的稀疏程度。而當參數𝜃 等於 0 時,平滑矩陣S會等同於一個單位矩陣I,此時模型會回歸到傳統非負矩陣

分解法的模型。在此我們可以更詳細的去說明整個非平滑非負矩陣分解法的細節 流程與乘法更新規則。在式 3-19,非平滑非負矩陣分解法的模型可以等價寫成:

V = (WS)H = W(SH) (式 3-20) 用括號來表示平滑矩陣S是先與哪個矩陣做相乘。若是平滑矩陣S先與基底矩陣W 做相乘,代表說基底矩陣W會變得平滑,這將會迫使編碼矩陣H變得稀疏;同樣

40

地,若是平滑矩陣S先與編碼矩陣H做相乘,代表說編碼矩陣H會變得平滑,這將 會迫使基底矩陣W變得稀疏。由於這兩種情況是同時發生的,所以在基底矩陣W 與編碼矩陣H都會強制稀疏。非平滑非負矩陣分解法的乘法更新規則:更新編碼 矩陣H時,將W換成(WS);更新基底矩陣W時,將H換成(SH)。

Euclidian Distance 的乘法更新規則:

H𝑘𝑗← H𝑘𝑗 ((WS)TV)𝑘𝑗 ((WS)T(WS)H)𝑘𝑗 W𝑖𝑘 ← W𝑖𝑘 (V(SH)T)𝑖𝑘

(W(SH)(SH)T)𝑖𝑘 (式 3-21) Kullback-Leibler Divergence 的乘法更新規則:

H𝑘𝑗 ← H𝑘𝑗∑ (WS)𝑖 𝑖𝑘V𝑖𝑗⁄((WS)H)𝑖𝑗

∑ (𝑊𝑆)𝑖 𝑖𝑘

W𝑖𝑘 ← W𝑖𝑘∑ (SH)𝑗 𝑘𝑗V𝑖𝑗⁄(W(SH))𝑖𝑗

∑ (SH)𝑗 𝑘𝑗 (式 3-22) 而其他部分的演算法流程同傳統非負矩陣分解法。

41