統(tǒng)計(jì)學(xué)習(xí)方法9—EM算法

??EM算法是一種迭代算法,是一種用于計(jì)算包含隱變量概率模型的最大似然估計(jì)方法,或極大后驗(yàn)概率。EM即expectation maximization,期望最大化算法。

1. 極大似然估計(jì)

??在概率模型中,若已知事件服從的分布或者其他概率模型的參數(shù),那么我們可以通過計(jì)算得到某事件發(fā)生的概率。而在估計(jì)中,這些變成了方向過程:已知一組數(shù)據(jù)發(fā)生的結(jié)果,相當(dāng)于獲得了經(jīng)驗(yàn)概率,通過這組數(shù)據(jù)假設(shè)模型服從什么分布,再通過經(jīng)驗(yàn)概率求解模型參數(shù)。
??比如統(tǒng)計(jì)學(xué)校學(xué)生身高服從的概率分布,抽樣1000人得到他們的身高數(shù)據(jù),再假設(shè)身高服從正態(tài)分布,于是只需要求解u,\sigma即可。剩下的問題就是如何確定這兩個(gè)參數(shù),極大似然估計(jì)的思想就是求解在這兩個(gè)參數(shù)下,得到的這組樣本發(fā)生的概率最大的情況便是這兩個(gè)參數(shù)最有可能的取值。而抽取每個(gè)樣本都是獨(dú)立的,于是可用每個(gè)段身高的樣本數(shù)量/總樣本數(shù)量作為單個(gè)發(fā)生的概率p,讓每個(gè)p最大化就是讓其乘積最大化,于是得到最大似然函數(shù)
L(\theta) = \prod _xp(x | \theta)??再求解其關(guān)于\theta的極大化問題便能得到一個(gè)對(duì)\theta的估計(jì)
\widehat \theta = argmaxL(\theta)

2.EM算法

??上面是模型變量都是可觀測的情況,這種情況可以直接根據(jù)觀測到的樣本數(shù)據(jù),使用極大似然估計(jì)對(duì)模型參數(shù)進(jìn)行估計(jì)。但若模型中含有隱變量的時(shí)候,就不能簡單的使用極大似然估計(jì)進(jìn)行計(jì)算。EM算法就是針對(duì)含有隱變量的概率模型參數(shù)的極大似然估計(jì)方法。
例子:
??假設(shè)三枚硬幣,記為A、B、C,它們正面向上的概率分別為n、p、q。實(shí)驗(yàn)如下:先拋A,根據(jù)A的結(jié)果選擇B或者C再次拋,將這次正面向上的結(jié)果記為1,反面記為0,其中A正面向上則選擇B,反面則選擇C。經(jīng)過n次實(shí)驗(yàn)后得到n個(gè)觀測值,根據(jù)這n個(gè)觀測值估計(jì)n、p、q的參數(shù)值。實(shí)驗(yàn)過程中只能觀測到最后結(jié)果,并不能觀察實(shí)驗(yàn)過程,也就是A的結(jié)果是未知的。該模型可以表示如下
P(y|\theta) = \sum_zP(y,z|\theta) = \sum_zP(z|\theta)P(y|z,\theta)??其中y表示隨機(jī)變量Y的觀測值,表示該次結(jié)果是1或0。z代表隱變量,表示模型中未能觀測到的A的結(jié)果,\theta=(n,p,q)是模型參數(shù)。其中Y是不完全數(shù)據(jù),Y+Z是完全數(shù)據(jù)。
??若是沒有隱變量Z,那么可直接使用對(duì)數(shù)極大似然函數(shù)估計(jì)
\widehat \theta=arg\underset \theta {max}L(\theta)=arg\underset \theta {max}\sum_y logP(y|\theta)??加入隱變量后,對(duì)數(shù)極大似然函數(shù)變?yōu)?br> L(\theta,z)=\sum_ylog\sum_zP(y,z|\theta)??求解
\widehat \theta,z=arg\underset {\theta,z} {max}L(\theta,z)??按照極大似然估計(jì)中的方法,似乎應(yīng)該對(duì)\theta,z求導(dǎo)然后令其為0解方程組,然后注意此時(shí)的L(\theta,z)函數(shù),log內(nèi)含有求和運(yùn)算,若是直接求導(dǎo)計(jì)算十分困難,因此退而求其次,既然要極大化L(\theta,z),就先找到一個(gè)它的下界,再想辦法提高這個(gè)下界,同樣能達(dá)到極大化L的效果。使用Jense不等式對(duì)似然函數(shù)進(jìn)行放縮。

  • Jense不等式(琴生不等式)

??凸函數(shù):是定義在實(shí)數(shù)域上的函數(shù),如果對(duì)于任意的實(shí)數(shù),都有:
f''\geqslant 0
?? 則該函數(shù)是凸函數(shù)。
??當(dāng)函數(shù)是凸函數(shù)的時(shí)候,Jense不等式的含義是函數(shù)的期望大于等于期望的函數(shù)(凹函數(shù)相反)。圖下圖所示

jense不等式

??二維情況下可用凸函數(shù)定義來解釋,當(dāng)一個(gè)函數(shù)是凸函數(shù)的時(shí)候,它滿足
??左邊其實(shí)相當(dāng)于其變量x先求期望后帶入函數(shù),右邊是先求函數(shù)值再計(jì)算函數(shù)值的期望,也就是
??再回到中來,目的是為了將對(duì)數(shù)函數(shù)中的和項(xiàng)去掉,便可利用jense不等式的性質(zhì),將期望的函數(shù)變?yōu)楹瘮?shù)的期望。先進(jìn)行放縮
??其中最后一步用到了Jense不等式,因?yàn)閷?duì)數(shù)函數(shù)是凹函數(shù),所以不等號(hào)反了過來,,此處??并且所添加的滿足??這是根據(jù)第三類Jense不等式的條件設(shè)定的,不同系數(shù)的加權(quán)求和期望只要滿足系數(shù)之和為1就能使用Jense不等式。
??所以得到結(jié)論,的加權(quán)平均就是的一個(gè)下界。這便是EM算法中E(期望)的來由。
??目前還是未知的,需要根據(jù)一些條件來選擇一個(gè)合適的函數(shù),再次強(qiáng)調(diào)最終目的是極大化似然函數(shù),現(xiàn)在我們得到了似然函數(shù)的一個(gè)下界,一個(gè)想法就是讓這個(gè)下界去更好的逼近似然函數(shù)的真實(shí)值,下界是根據(jù)不等式放縮后得到的,那么當(dāng)不等式取等號(hào)的時(shí)候便是最接近原函數(shù)的時(shí)候?;貞汮ense不等式,顯然當(dāng)為常數(shù)的時(shí)候不等式成立。即
??既然要確定的是,不妨設(shè)為常數(shù),由上式得

??將c帶入x

??第二步用到邊緣概率,第三步條件概率。至此,我們得出了Q(z)的表達(dá)式,Q(z)是已知樣本觀測和模型參數(shù)下的隱變量的分布。那么已經(jīng)完成了E步,對(duì)對(duì)數(shù)似然函數(shù)下界的期望的表示
??接下來需要做的便是極大化這個(gè)似然函數(shù),也就是M步。這一步中將視為常數(shù),對(duì)進(jìn)行極大化,去掉常數(shù)項(xiàng)后

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容