PLSA (概率潛語義分析) 是基於 雙模式 和 共現 的數據分析方法延伸的經典的統計學方法。概率潛語義分析 應用於信息檢索,過濾,自然語言處理,文本的機器學習或者其他相關領域。概率潛語義分析 與 標准潛語義分析 的不同是,標准潛在語義分析是以 共現表(就是共現的矩陣)的奇異值分解的形式表現的,而概率潛在語義分析卻是基於派生自 LCM 的混合矩陣分解。考慮到word和doc共現形式,概率潛語義分析 基於 多項式分布 和 條件分布 的混合來建模共現的概率。所謂 共現 其實就是 W和D 的一個矩陣,所謂 雙模式 就是在 W和D 上同時進行考慮。
PLSA的缺點:
PLSA有時會出現過擬合的現象。所謂過擬合(Overfit),是這樣一種現象:一個假設在訓練數據上能夠獲得比其他假設更好的擬合,但是在訓練數據外的數據集上卻不能很好的擬合數據。此時我們就叫這個假設出現了overfit的現象。出現這種現象的主要原因是訓練數據中存在噪音或者訓練數據太少。
解決辦法,要避免過擬合的問題,PLSA使用了一種廣泛應用的最大似然估計的方法,期望最大化。PLSA中訓練參數的值會隨着文檔的數目線性遞增。PLSA可以生成其所在數據集的的文檔的模型,但卻不能生成新文檔的模型。
關於SVD:
LSA的基本思想就是把高維的文檔降到低維空間,那個空間被稱為潛在語義空間。這個映射必須是嚴格線性的而且是基於共現表(就是那個矩陣啦)的奇異值分解。
PLSA是LSA的概率學延伸,所以我們首先要知道LSA的算法。
LSA的算法:
假設有N篇的document,D={d_1, … ,d_N},和M個words,W={w_1, … ,w_M},再設置K個潛在類Z={z_1, … ,z_K}。
首先,建立一個N*M的項——文檔矩陣,統計頻率。矩陣A中的每一項分別對應了DiWj出現的頻率。這個就是前面說的共現表。
接着,對這個矩陣做奇異值分解。這個是奇異值分解的公式。A(n*m) = U(n*n) E(n*m) VT(m*m)
保留奇異值矩陣E的K個特征值(奇異值是特征值的非負平方根)。然后求矩陣A的共軛轉置AH,然后奇異值分解AH。
AH(n*m) = U(n*k) E(k*k) VT(k*m)
AH ≈ A (這是啥意思呢)
這時,一個項(term)其實就是K維向量空間的的一維。
把意義相同的項(term)做同一映射。
到這里就很清楚的看出來,LSA沒有建立統計學基礎。但是PLSA就解決了這個問題。
PLSA:
PLSA是更為先進的方法。他解決了同義詞和多義詞的問題,利用了強化的期望最大化算法(EM)來訓練隱含類(潛在類)。而且相對了LSA,有了堅實的統計學基礎。
PLSA的建模——層面模型
層面模型就是關聯於潛在類Z的共現表的潛在可變模型。在層面模型中,文檔被視為潛在的K個層面的混合。每一個層面就是word對於z(潛在類)的概率分布。
PLSA的建模——數據的共現
對於每一組(w,d)都使之與潛在變量z關聯。
PLSA的建模——預測words
已經的是文檔的概率,首先要計算潛在類Z根據條件概率D,生成單詞W根據條件概率Z。
PLSA的公式:
P(w,d) = ∑ P(c)P(d | c)P(w | c) = P(d) ∑ P(c | d)P(w | c) |
注:這里的C和上面說的Z是一樣的。
公式解析:第一個公式是對稱公式,在這個公式中,W和D都是以相同的方式(都用了W和D基於C的條件概率)通過潛在類C處理的。第二個公式是非對稱公式。在這個公式中,對於每一個D,先根據D的條件概率計算C,然后根據C的條件概率計算W。事實上,這個公式可以擴展成計算任何一對離散變量的共現。因為我們的W和D是已知的,但是Z是未知的,所以我們的重心放在求Z上。那么如何求Z呢?
最大似然估計:
概率學中有很多隱含的量是未知的,我們處理的辦法有很多種,可以根據經典統計學,也有很多現在統計學的分支,比較著名的是貝葉斯統計學。
在PLSA中,我們使用最大似然估計來訓練隱含量。最大似然估計中比較常用的算法就是期望最大化算法。期望最大化算法分為兩步:
1. Expectation Step——隱含參數的估計
2. Maximization Step——確定實際參數,然后根據實際參數做最大似然估計。
關於過擬合的問題,過擬合的概念已經提到了,在PLSA中,我們通過修改EM(期望最大化)的算法來避免這個問題,我么把這個算法稱為強化的期望最大化算法(tempered EM)。
強化的期望最大化算法中引入了控制參數beta。
Beta值起始是1,緊着逐漸減少。引入beta的目的就是為了避免過擬合的問題,在beta中,過擬合和不充分擬合的狀態被定義。具體的算法是:
讓beta的初始值為1,然后根據待訓練數據來測試模型,如果成功,則使用該beta,如果不成功,則收斂。收斂的意思就是使得beta = n*beta, n<1。