统计学习方法(九)EM算法及其推广
- 第九章 EM算法及其推廣
- 9.1 EM算法的引入
- 9.1.1 EM算法
- 9.1.2 EM算法的導出
- 9.1.3 EM算法在非監督學習中的應用
- 9.2 EM算法的收斂性
- 9.1 EM算法的引入
- 第九章 EM算法及其推廣
第九章 EM算法及其推廣
EM算法是一種迭代算法,用于含有隱變量(hidden variable)的概率模型參數的極大似然估計,或極大后驗概率估計。
EM算法的每次迭代由兩步組成:E步(求期望)+M步(求極大值)
EM算法:期望極大算法(expectation maxmization algorithm)
9.1 EM算法的引入
EM算法就是還有隱變量的概率模型參數的極大似然估計法,或極大后驗概率估計法。
首先介紹一下極大似然估計:
給定:模型(參數全部或者部分未知)和數據集(樣本)
估計:模型的未知參數。
在最大釋然估計中,我們試圖在給定模型的情況下,找到最佳的參數,使得這組樣本出現的可能性最大。
極大似然估計,只是一種概率論在統計學中的應用,它是參數估計的方法之一。說的是已知某個隨機樣本滿足某種概率分布,但是其中具體的參數不清楚,參數估計就是通過若干次實驗,觀察其結果,利用結果推出參數的大概值。最大似然估計是建立在這樣的思想上:已知某個參數能使這個樣本出現的概率值最大,我們當然不會再去選擇其他小概率的樣本,所以干脆就把這個參數作為估計的真實值。
最大似然估計你可以把它看作是一個反推。多數情況下我們是根據已知條件來推算結果,而最大似然估計是已經知道了結果,然后尋求使該結果出現的可能性最大的條件,以此作為估計值。比如,如果其他條件一定的話,抽煙者發生肺癌的危險時不抽煙者的5倍,那么如果現在我已經知道有個人是肺癌,我想問你這個人抽煙還是不抽煙。你怎么判斷?你可能對這個人一無所知,你所知道的只有一件事,那就是抽煙更容易發生肺癌,那么你會猜測這個人不抽煙嗎?我相信你更有可能會說,這個人抽煙。為什么?這就是“最大可能”,我只能說他“最有可能”是抽煙的,“他是抽煙的”這一估計值才是“最有可能”得到“肺癌”這樣的結果。這就是最大似然估計。
一般步驟:
(1)寫出似然函數;
(2)對數似然函數取對數,并整理;
(3)求導數,令導數為0,得到似然方程;
(4)解似然方程,得到的參數即為所求。
9.1.1 EM算法
中間推導:
∵?∵
∴?∴
EM算法:
9.1.2 EM算法的導出
Jensen 不等式:E[f(x)]>=f(E[x])?E[f(x)]>=f(E[x])
EM算法:
我們面對一個含有隱變量的概率模型,目標是極大化觀測數據(不完全數據)Y?Y關于參數θ θ的對數似然函數,即極大化:
極大化的困難:上式含有未觀測數據并包含積分的對數
極大化L(θ)?L(θ)的過程:迭代方法,逐步極大化
EM算法步驟:
Q?i?(z)=P(Z|Y,θ?(i)?)?Qi(z)=P(Z|Y,θ(i))
θ?(i+1)?=argmax?θ?Q(θ,θ?(i)?)?θ(i+1)=argmaxθQ(θ,θ(i))
9.1.3 EM算法在非監督學習中的應用
9.2 EM算法的收斂性
EM算法提供一種近似計算含有隱變量概率模型的極大似然估計的方法,其最大的優點是簡單性和普適性,那么EM算法得到的估計序列是否收斂?如果收斂,是否收斂到全局或局部極大值?
只能得到局部極值點,不能得到全局極值點。
舉例:
假定有訓練集x(1),x(2),…,x(m)?x(1),x(2),…,x(m),包含m?m個獨立樣本,希望從中找到該組數據的模型p(x,z) p(x,z)的參數,這里z?z<script id="MathJax-Element-22" type="math/tex">z</script>是模型的隱變量。
寫出對數似然函數:
高斯式解釋:
如上圖所示,紫色的線是我們的目標模型p(x| θ) 的曲線。
因為這個模型含有隱變量z,所以為了消除z的影響,就先做一個除了不含有z模型:r(x| θ),使得r(x| θ) ≤ p(x| θ)。(你先別管這個r怎么得到,方法之后會說,反正總能給一個r滿足這個條件吧!),取一個值令 r(x|θ1) = p(x|θ1),如綠線所示,然后對r(x| θ) 求極大似然,得到r的極值點B,和此時r的參數 θ2,如紅線所示。
這一步上圖沒有給出,就是:將r的 參數從θ1變成θ2,此時r的圖像就向右上方移動,與p相交于A,此時仍然有r≤p。
重復第二步和第三部,直到收斂。
從上圖可以看出,EM算法只能求得局部極值點。
總結
以上是生活随笔為你收集整理的统计学习方法(九)EM算法及其推广的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 统计学习方法(一)统计学习方法概论
- 下一篇: github上传本地代码