之前寫過一篇文章EM 算法的 9 重境界之前兩重烙懦,里面講述了em算法的過程,本文是對前一篇文章的補充搂鲫。
em算法中關(guān)鍵的公式推導(dǎo)如下:
綠色曲線是L的下界豌鸡,我們每次先固定 θ(t)
θ(t),令q(z)=p(z|x,θ)
q(z)=p(z|x,θ)活箕,此時就是綠色曲線帮非,此時我們再求下界綠色曲線的極值,求出此時的θ(t+1)
θ(t+1)讹蘑,將其帶入kl散度末盔,令此時q(z)=p(z|x,θ(t+1))
q(z)=p(z|x,θ(t+1)),得到一個新的下界座慰,此時再求出新的θ
θ陨舱,不斷重復(fù)這個過程。
簡單回顧完上面的數(shù)學(xué)推導(dǎo)版仔,我們通過例子來加深理解游盲。
三個硬幣
假設(shè)有三枚硬幣A、B蛮粮、C益缎,每個硬幣正面出現(xiàn)的概率是π、p然想、q莺奔。進行如下的擲硬幣實驗:先擲硬幣A,正面向上選B变泄,反面選C令哟;然后擲選擇的硬幣恼琼,正面記1,反面記0屏富。獨立的進行10次實驗晴竞,結(jié)果如下:1,1狠半,0噩死,1,0神年,0甜滨,1,0瘤袖,1衣摩,1。假設(shè)只能觀察最終的結(jié)果(0 or 1)捂敌,而不能觀測擲硬幣的過程(不知道選的是B or C)艾扮,問如何估計三硬幣的正面出現(xiàn)的概率 π、p占婉、q?
首先我們寫出數(shù)據(jù)描述泡嘴,
此處θ=(π、p逆济、q)
θ=(π酌予、p、q)奖慌,X={x1,x2,…xm}抛虫,每次投擲彼此獨立,因此
上面針對每個數(shù)據(jù)(xi)简僧,就有求logp(x|θ)
logp(x|θ)建椰,針對上面的EM算法,我們來看下求解過程:
需要注意的是岛马,這里的μi+1通過E步的計算就已經(jīng)是一個常數(shù)了棉姐,后面的求導(dǎo)不需要把這個式子代入。
M步:針對L函數(shù)求導(dǎo)啦逆,L函數(shù)的表達式是
下面我們來對L分別對π伞矩、p、q求導(dǎo),
再令這個結(jié)果等于0夏志,即獲得
另外兩個參數(shù)p乃坤、q也可以通過求導(dǎo)求得。上面是通過數(shù)據(jù)公式推導(dǎo)求到的,下面我們換一種思路做侥袜。
假設(shè)上面我們觀察到的序列中,我們已經(jīng)知道了每個結(jié)果是由紅色(coin B)還是綠色(coin C)投擲出來溉贿,那么我們就可以估計 π枫吧、p、q了宇色,
π = 紅色個數(shù) / 總個數(shù)
p = 紅色H個數(shù) / 紅色個數(shù)
q = 綠色H個數(shù) / 綠色個數(shù)
現(xiàn)在的情況是九杂,我們不明確每個結(jié)果是由紅色還是綠色投擲而來,但是我們可以估計出這個概率:
p(z=1|x,θ) = p(x,z=1|θ) / p(x|θ)
這個之前推導(dǎo)過宣蠕,是:
此時我們就可以得到硬幣是紅色的概率了:
此時例隆,針對每個硬幣,我們都能計算出屬于紅色和屬于綠色的概率抢蚀,此時我們再來預(yù)估π镀层、p、q:
GMM模型
有了上面這個例子后皿曲,我們再來看GMM模型唱逢,高斯混合模型,混合模型即數(shù)據(jù)由多個分布組成屋休,像上面三硬幣例子坞古,也是一個混合模型,先來描述下問題:
假設(shè)有數(shù)據(jù)D={x(1), … , x(m)} 劫樟,我們希望能夠求出p(x(i), z(i))的聯(lián)合分布痪枫,此處
p(x(i), z(i)) = p(x(i)|z(i))p(z(i))
z服從多項分布
而xi服從高斯分布
于是我們就能得到似然函數(shù):
根據(jù)EM算法的套路,我們先假設(shè)假設(shè)參數(shù)已知叠艳,來求隱變量z的后驗分布:
上面wji的意思是第i個數(shù)據(jù)屬于第j個高斯的概率奶陈,具體計算就是:
上面式子中
是指x(i)在第j個高斯分布下的概率,
則是隱變量z是第k個高斯的概率附较。
然后在M-step中尿瞭,我們就可以更新:
以上就是對于em算法例子的補充,本文最重要的概念就是隱變量z是一個分布翅睛,本文的兩個例子声搁,我們都假設(shè)z的先驗分布是多項分布,后面我們會看到我們可以假設(shè)z是其他分布捕发,此時又會新的變化疏旨,歡迎關(guān)注。
參考
【機器學(xué)習(xí)算法系列之一】EM算法實例分析
cs229-notes7b