概述
EM算法迭代地通過E步和M步求解含隱變量的模型的參數(shù),可以使用極大似然估計(jì)法,也可以使用貝葉斯估計(jì)法。
術(shù)語
三硬幣模型:假設(shè)有3枚硬幣A,B,C,正面出現(xiàn)的概率分別為a,b,c.進(jìn)行如下拋硬幣試驗(yàn):先擲硬幣A,根據(jù)其結(jié)果選出硬幣B或C,正面選A,反面選B;然后拋擲選出的硬幣,記錄擲硬幣的結(jié)果,正面為1,反面為0。獨(dú)立重復(fù)n次試驗(yàn)。
觀測變量:概率模型中可以觀測到的隨機(jī)變量。比如樸素貝葉斯模型中的輸入X(待分類文本等),上面例子中的最后擲硬幣的結(jié)果.常用Y表示觀測變量的數(shù)據(jù)
隱變量(潛在變量):概率模型中觀測不到的隨機(jī)變量,比如上面例子中的擲硬幣A的結(jié)果,常用Z表示隱變量的數(shù)據(jù)
完全數(shù)據(jù):Y和Z連在一起稱為完全數(shù)據(jù)
不完全數(shù)據(jù):只有Y
EM算法
預(yù)備知識
Jensen不等式:
若f(x)是凸函數(shù),有
直覺理解就是凸函數(shù)任意兩點(diǎn)的割線位于函數(shù)圖形上方
若對于任意點(diǎn)集?,若?
且?
?,有
推導(dǎo)
我們面對一個(gè)含有隱變量的概率模型,目標(biāo)是極大化觀測數(shù)據(jù)(不完全數(shù)據(jù))Y關(guān)于參數(shù)的對數(shù)似然函數(shù),即極大化
由于優(yōu)化函數(shù)中含未觀測數(shù)據(jù)并包含和的對數(shù),所以直接優(yōu)化很難。
考慮迭代優(yōu)化,假設(shè)在第i次迭代后
的估計(jì)值為
,我們希望下次迭代新的估計(jì)值能夠使
,一直迭代直到得到
極大值。考慮兩者的差
令,
則,即函數(shù)
是函數(shù)
的一個(gè)下界【不同迭代B函數(shù)不同,隨著迭代的增加B函數(shù)越接近L】,因此任何可以使
增大的
也可以使
增大。為了使
有盡可能大的增長,選擇
使
達(dá)到極大,即
上式中最優(yōu)化的函數(shù)稱為Q函數(shù),不斷迭代這個(gè)過程直到收斂就得到了使似然函數(shù)近似極大的參數(shù)。
正式定義
EM算法通過迭代最大化似然函數(shù),每次迭代分為兩步:E步,求期望;M步,求極大化。具體過程如下:
選擇參數(shù)初值,開始迭代;
E步:計(jì)算Q函數(shù)
M步:求使Q函數(shù)極大化的,確定i+1次迭代的參數(shù)估計(jì)值
:
迭代至收斂。
說明
EM算法可以任意初始化參數(shù)初值,但是對初值敏感,實(shí)踐中經(jīng)常取多個(gè)不同的初始值并進(jìn)行比較,選擇較好的初始值。
當(dāng)參數(shù)值的變化或Q函數(shù)的變化小于某個(gè)閾值時(shí),停止迭代。
EM算法無法保證得到全局最優(yōu)值,這也是選取多個(gè)初始值比較的根本原因
上面Q函數(shù)是對于單次試驗(yàn)的期望,對于多次試驗(yàn)可以求多次試驗(yàn)的期望和作為Q函數(shù)(使用求積表示似然函數(shù))
解決三硬幣問題
假設(shè)三硬幣模型最后觀察到的結(jié)果是1101001011,求abc。
令Z為拋擲硬幣A的結(jié)果,Y為最后的觀察結(jié)果。對一次實(shí)驗(yàn),有
計(jì)算Q函數(shù)
求多次試驗(yàn)的Q函數(shù),有
求導(dǎo)數(shù),有
有
同理有
令,有
令,有
高斯混合模型
高斯混合模型為
,
其中是分模型系數(shù),
,
是高斯分布密度,
,
。高斯混合模型認(rèn)為數(shù)據(jù)是這樣生成的:首先依概率選擇分模型,然后根據(jù)選擇的分模型生成數(shù)據(jù)。包含隱變量“選擇的分模型”,可以通過EM算法估計(jì)高斯混合模型的參數(shù)
和K-means聚類的關(guān)系
【待】