机器学习笔记(十七)——EM算法的推导
生活随笔
收集整理的這篇文章主要介紹了
机器学习笔记(十七)——EM算法的推导
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、Jensen 不等式
????在EM算法的推導過程中,用到了數學上的Jensen不等式,這里先來介紹一下。
若Ω是有限集合{x1,x2,…,xn}{x1,x2,…,xn},而μ是Ω上的正規計數測度,則不等式的一般形式可以簡單地用和式表示:
其中 λ1+λ2+?+λn=1,λi≥0λ1+λ2+?+λn=1,λi≥0。
若φ是凹函數,只需把不等式符號調轉。主要參考文獻【1】
二、EM算法推導
????面對一個含有隱含變量的概率模型,目標是極大化觀測數據YY關于參數θθ的對數似然函數,即極大化:
????事實上,EM算法是通過迭代逐步極大化 L(θ)L(θ)的。假設在第 ii次迭代后 θθ的估計值是 θ(i)θ(i)。我們希望新的估計值 θθ能使 L(θ)L(θ)增加,即 L(θ)>L(θ(i))L(θ)>L(θ(i)),并逐步達到極大值。為此考慮兩者的差:
L(θ)?L(θ(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))≥∑zP(Z|Y;θ(i))logP(Y|Z;θ)P(Z;θ)P(Z|Y;θ(i))?logP(Y;θ(i))=∑zP(Z|Y;θ(i))logP(Y|Z;θ)P(Z;θ)P(Z|Y;θ(i))P(Y;θ(i))(185)(185)L(θ)?L(θ(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))≥∑zP(Z|Y;θ(i))logP(Y|Z;θ)P(Z;θ)P(Z|Y;θ(i))?logP(Y;θ(i))=∑zP(Z|Y;θ(i))logP(Y|Z;θ)P(Z;θ)P(Z|Y;θ(i))P(Y;θ(i))
上式利用了Jensen不等式,在17-1式中, 令 φφ 為 loglog, 且∑zP(Z|Y;θ(i))=1∑zP(Z|Y;θ(i))=1,則可得上述推導。注意loglog為凹函數,不等號要改變方向。
令
則:
L(θ)≥B(θ,θ(i))(187)(187)L(θ)≥B(θ,θ(i))
那么, B(θ,θ(i))B(θ,θ(i))是 L(θ)L(θ)的一個下界,由17-2知道:
L(θ(i))=B(θ(i),θ(i))(188)(188)L(θ(i))=B(θ(i),θ(i))
因此,任何可以使 B(θ,θ(i))B(θ,θ(i))增大的 θθ,都可使 L(θ)L(θ)增大,選擇 θ(i+1)θ(i+1)使 B(θ,θ(i))B(θ,θ(i))達到極大,即:
θ(i+1)=argmaxθB(θ,θ(i))(189)(189)θ(i+1)=argmaxθB(θ,θ(i))
現在求 θ(i+1)θ(i+1) 的表達式,省去對于 θθ而言都是常數的項:
θ(i+1)=argmaxθ(L(θ(i))+∑zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))P(Y;θ(i)))=argmaxθ(∑zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ))=argmaxθ(∑zP(Y|Z;θ(i))logP(Y,Z;θ))=argmaxθQ(θ,θ(i))(190)(190)θ(i+1)=argmaxθ(L(θ(i))+∑zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ)P(Y|Z;θ(i))P(Y;θ(i)))=argmaxθ(∑zP(Y|Z;θ(i))logP(Y|Z;θ)P(Z;θ))=argmaxθ(∑zP(Y|Z;θ(i))logP(Y,Z;θ))=argmaxθQ(θ,θ(i))
EM算法并不能保證全局最優值,直觀解釋如圖所示。
參考文獻
http://wiki.mbalib.com/wiki/%E8%A9%B9%E6%A3%AE%E4%B8%8D%E7%AD%89%E5%BC%8F
總結
以上是生活随笔為你收集整理的机器学习笔记(十七)——EM算法的推导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: UNIX再学习 -- TCP/UDP 客
- 下一篇: linux下的node.js下载和安装