机器学习第七篇:详解EM算法
01|概念及原理:
EM算法是一種迭代算法,用于含有隱變量的概率模型參數(shù)的極大似然估計,或極大后驗概率估計。EM算法的每次迭代分兩步完成:E步,求期望(expectation);M步,求極大值(maximization).所以這一算法稱為期望極大算法,簡稱EM算法。(你看懂了嗎?反正我第一次看是一臉懵。沒關(guān)系接下來通過一個例子,你就能明白了。)
(三硬幣模型)? 假設(shè)有A,B,C這些硬幣正面出現(xiàn)的概率分別是π,p和q。進行如下擲硬幣試驗:先擲硬幣A,根據(jù)其結(jié)果選出硬幣B或C,正面選硬幣B,反面選硬幣C;然后擲選出的硬幣,擲硬幣的結(jié)果出現(xiàn)正面記作1,出現(xiàn)反面記作0;獨立重復(fù)n次試驗(這里n=10),觀測結(jié)果如下:1,1,0,1,0,0,1,0,1,1
假設(shè)只能看到擲硬幣的結(jié)果,不能觀測擲硬幣的過程,問如何估計三硬幣正面出現(xiàn)的概率,即三硬幣的模型參數(shù)(即π,p和q),求解這個模型參數(shù)的過程就是EM算法,也可以說是EM算法的目的就是求取這個模型的最大化參數(shù)。(硬幣A出現(xiàn)的結(jié)果就是隱變量)
下圖中紅色問號就是一個隱變量,在整個過程中我們是看不到A的結(jié)果,我們只能看到最后紅色1的結(jié)果,而我們現(xiàn)在要做的就是通過紅色1的結(jié)果去求取A、B、C正面出現(xiàn)的概率。求取的原則是使A、B、C的概率最大化,求取的方法是不停迭代(也就是不停地試),直到概率最大為止。
本圖來源于:http://blog.csdn.net/sajiahan/article/details/53106642
02|數(shù)學(xué)推導(dǎo):
一般地,用Y表示觀測隨機變量的數(shù)據(jù),Z表示隱隨機變量的數(shù)據(jù)。Y和Z在一起稱為完全數(shù)據(jù),觀測數(shù)據(jù)Y又稱為不完全數(shù)據(jù)。假設(shè)給定觀測數(shù)據(jù)Y,其概率分布是P(Y|θ),其中θ是需要估計的模型參數(shù),那么不完全數(shù)據(jù)Y的似然函數(shù)是P(Y|θ),對數(shù)似然函數(shù)L(θ)=logP(Y|θ);假設(shè)Y和Z的聯(lián)合概率分布是P(Y,Z|θ),那么完全數(shù)據(jù)的對數(shù)似然函數(shù)是logP(Y,Z|θ)。
03|算法步驟:
EM算法就是通過迭代求L(θ)=logP(Y|θ)的極大似然估計。
EM算法步驟的第一步就是設(shè)定一個參數(shù)初值,這是人為設(shè)定的,這個值將會影響后續(xù)的參數(shù)迭代。
Q函數(shù):
Q函數(shù)其實就是L(θ),也就是EM算法其實就是求取Q函數(shù)的極大值。
04|EM算法的應(yīng)用:
EM算法常用在非監(jiān)督學(xué)習(xí)問題中,即訓(xùn)練數(shù)據(jù)只有輸入沒有對應(yīng)的輸出。EM算法可以用于生成模型的非監(jiān)督學(xué)習(xí)。生成模型由聯(lián)合概率分布P(X,Y)表示,可以認(rèn)為非監(jiān)督學(xué)習(xí)訓(xùn)練數(shù)據(jù)是聯(lián)合概率分布產(chǎn)生的數(shù)據(jù)。X為觀測數(shù)據(jù),Y為未觀測數(shù)據(jù)。
總結(jié)
以上是生活随笔為你收集整理的机器学习第七篇:详解EM算法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OAI搭建总结
- 下一篇: 机器学习第八篇:详解逻辑斯蒂回归算法