自己的理解
目標θ̃ =argmaxθP(Y|θ)
即我們要估計一個合理的θ̃ 使得P(Y|θ) 達到最大值
如果存在隱變量Z ,我理解爲Z 是一個沒有表現出來但是又是必要的一箇中間態,那麼P(Y|θ) 可以表示爲P(Y|θ)=P(Y,Z|θ)=∑ZP(Y|Z,θ)P(Z|θ)
然後想象一下迭代的過程,即從θi 到θi+1 的過程,每次迭代應該是要滿足P(Y|θi+1)>P(Y|θi) ,考慮對數似然函數L(θ)=logP(Y|θ)
L(θ)−L(θi)=logP(Y|θ)−logP(Y|θi)
=log∑ZP(Y|Z,θ)P(Z|θ)−logP(Y|θi)
=log∑ZP(Z|Y,θi)P(Y|Z,θ)P(Z|θ)P(Z|Y,θi)−logP(Y|θi)
由Jensen不等式log∑jλjyj≥∑jλjlogyj ,其中λj≥0,∑jλj=1 ,原式變爲
≥∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)−∑ZP(Z|Y,θi)P(Y|θi)
=∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)
則θi+i=argmaxθL(θi)+∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)
=argmaxθ∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)+ 常數項
=argmaxθQ(θ,θi)
EM的算法步驟可以因此分解成
確隱變量,寫出完全數據的對數似然函數(完全數據就是Z數據和Y數據,不完全數據就是隻有Y數據)
E 步:計算Q 函數
M 步:迭代估計θ 優點:簡單性和普適性,可看作是一種非梯度優化方法(解決梯度下降等優化方法的缺陷:求和的項數將隨 着隱變量的數目以指數級上升,會給梯度計算帶來麻煩)
缺點:對初始值敏感,不同的初值可能得到不同的參數估計值;不能保證找到全局最優值。EM求解原理:
因爲在求解一個含有隱變量的概率模型時,目標是極大化觀測數據關於參數的對數似然函數,而極大化的主要困難是含有未觀測數據並有包含和的對數,而EM算法是通過迭代,不斷求解下界的極大化,來逐步求解對數似然函數極大化。採用EM算法求解的模型有哪些?爲什麼不用牛頓法或者梯度下降法?
一般有混合高斯、協同過濾、k-means。算法一定會收斂,但是可能會收斂到局部最優。求和的項數會隨着隱變量的數目指數上升,會給梯度計算帶來麻煩。EM算法是一種非梯度優化算法。用EM算法推導解釋K-means:
k-means算法是高斯混合聚類在混合成分方差相等,且每個樣本僅指派一個混合成分時候的特例。k-means算法與EM算法的關係是這樣的:
· k-means是兩個步驟交替進行:確定中心點,對每個樣本選擇最近中心點–> E步和M步。
· E步中將每個點選擇最近的類優化目標函數,分給中心距它最近的類(硬分配),可以看成是EM算法中E步(軟分配)的近似。
· M步中更新每個類的中心點,可以認爲是在「各類分佈均爲單位方差的高斯分佈」的假設下,最大化似然值;
來源:http://blog.csdn.net/qq_34896915/article/details/75040578
EM算法知識點整理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.