本文作為em算法在圖模型中的一個應用,推導plsa的em算法。
1 em算法
em算法是解決一類帶有隱變量模型的參數估計問題。
1.1 模型的定義
輸入樣本為,對應的隱變量為
。待估計的模型參數為
,目標為極大化似然函數
對於上式的優化,不能通過直接對進行求導,因為一旦求導,就有如下的形式:
顯然是不好求的。
1.2 em算法的迭代過程
a. 初始化:隨機初始參數的
b. E step:
計算隱變量的后驗分布
c. M step:
迭代參數
其中,Q函數為X,Z的對數聯合分布在Z的后驗分布下的期望
上面的式子,將樣本和隱變量都表示成矩陣的形式,讓人有些不太好套公式。
2 高斯混合模型
2.1 基本模型
混合高斯模型認為,變量
服從一個多峰的高斯分布,由數個高斯分布組合而成。所以我們首先引入隱變量
,並且我們認為變量
通過這樣一個過程生成。引入隱變量的高斯混合模型用圖模型表示:
因此該圖模型表示的聯合概率為:
2.2 em算法的推導
e step: 計算每一個樣本的后驗概率,遍歷k等於1的各種情況
M step: 首先推導Q方程
對於每一對
由於N個樣本獨立,所以有
好了,我們開始極大化這個期望
求均值
解方程得
求方差比較復雜,直接給出結論:
其中:
最后求
,注意這里
的概率和為1,用拉格朗日乘子法解受限優化問題。有拉格朗日函數
對 求偏導有
有k個關於的方程,對這些方程做累加有
其中,
是概率,對k的累加和為1
至此,混合高斯模型的em迭代方法推導完畢,總結如下
E step:
M step:
其中
好了,我們完成了混合高斯模型的推導。混合高斯模型是一般高斯模型的推廣,使得概率密度估計的外延得到擴展。另外,我們搞清楚了em算法使用的細節,在e step,我們求每一對(zn,xn)的后驗概率和聯合概率,遍歷zn的所有情況,然后求每一個對數似然函數的期望,並在N上求和,就得到了目標函數。
3 PLSA主題模型
PLSA主題模型是比較老的模型了,逐漸被LDA這種更bayesian的方法取代了。我們來看看圖模型。
3.1 模型假設
對於一篇文檔,在每一個詞的位置,首先選擇一個topic,然后在topic的詞分布中選擇一個詞作為當前位置的詞
。輸入樣本為
,需要估計的參數為
在主題上的分布
,以及主題下詞的分布
。
首先求聯合概率。對於這一Complete樣本,
有聯合概率
有后驗概率
有一對樣本的期望函數
這里,我們取為常數。得到了整體的期望函數
這里,我們沒有考慮詞與詞之間的相互順序。接下來,我們要優化這個問題。
(1) 對於,根據拉格朗日乘子法有代價函數:
對
求偏導,有
對K個主題方程求和,可得
可得
(2) 對於,根據拉格朗日乘子法有代價函數:
對求偏導,有
對M個詞累加,可得
好的,我們可以總結一下過程了。
E step
計算后驗概率
M step
迭代更新
好了,我們推導了一遍混合高斯模型,又自行推導了一遍plsa.EM算法的精華基本掌握了。