EM算法
EM算法基本思想
? 最大期望算法(Expectation-Maximization algorithm, EM)耸彪,是一類通過(guò)迭代進(jìn)行極大似然估計(jì)的優(yōu)化算法造成,通常作為牛頓迭代法的替代局蚀,用于對(duì)包含隱變量或缺失數(shù)據(jù)的概率模型進(jìn)行參數(shù)估計(jì)彻桃。
? 最大期望算法基本思想是經(jīng)過(guò)兩個(gè)步驟交替進(jìn)行計(jì)算:
? 第一步是計(jì)算期望(E)急但,利用對(duì)隱藏變量的現(xiàn)有估計(jì)值澎媒,計(jì)算其最大似然估計(jì)值
? 第二步是最大化(M),最大化在E步上求得的最大似然值來(lái)計(jì)算參數(shù)的值波桩。
? M步上找到的參數(shù)估計(jì)值被用于下一個(gè)E步計(jì)算中戒努,這個(gè)過(guò)程不斷交替進(jìn)行。
EM算法推導(dǎo)
? 對(duì)于個(gè)樣本觀察數(shù)據(jù)镐躲,現(xiàn)在想找出樣本的模型參數(shù)储玫,其極大化模型分布的對(duì)數(shù)似然函數(shù)為:
如果得到的觀察數(shù)據(jù)有未觀察到的隱含數(shù)據(jù),極大化模型分布的對(duì)數(shù)似然函數(shù)則為:
由于上式不能直接求出萤皂,采用縮放技巧:
上式用到了Jensen不等式:
并且引入了一個(gè)未知的新分布撒穷。
此時(shí),如果需要滿足Jensen不等式中的等號(hào)裆熙,所以有:
由于是一個(gè)分布端礼,所以滿足
綜上禽笑,可得:
如果 蛤奥,則第(1)式是我們的包含隱藏?cái)?shù)據(jù)的對(duì)數(shù)似然的一個(gè)下界蒲每。如果我們能極大化這個(gè)下界,則也在嘗試極大化我們的對(duì)數(shù)似然喻括。即我們需要最大化下式:
簡(jiǎn)化得:
以上即為EM算法的M步,可理解為基于條件概率分布的期望唬血。以上即為EM算法中E步和M步的具體數(shù)學(xué)含義望蜡。
圖解EM算法
? 考慮上一節(jié)中的(a)式,表達(dá)式中存在隱變量拷恨,直接找到參數(shù)估計(jì)比較困難脖律,通過(guò)EM算法迭代求解下界的最大值到收斂為止。
? 圖片中的紫色部分是我們的目標(biāo)模型腕侄,該模型復(fù)雜小泉,難以求解析解,為了消除隱變量的影響冕杠,我們可以選擇一個(gè)不包含的模型微姊,使其滿足條件。
求解步驟如下:
(1)選取分预,使得兢交,然后對(duì)此時(shí)的求取最大值,得到極值點(diǎn)笼痹,實(shí)現(xiàn)參數(shù)的更新配喳。
(2)重復(fù)以上過(guò)程到收斂為止,在更新過(guò)程中始終滿足.
EM算法流程
輸入:觀察數(shù)據(jù)凳干,聯(lián)合分布晴裹,條件分布,最大迭代次數(shù)
1)隨機(jī)初始化模型參數(shù)的初值救赐。
2):
? a) E步涧团。計(jì)算聯(lián)合分布的條件概率期望:
? b) M步。極大化净响,得到:
? c) 如果收斂少欺,則算法結(jié)束。否則繼續(xù)回到步驟a)進(jìn)行E步迭代馋贤。
輸出:模型參數(shù)。