EM算法作為數(shù)據(jù)挖掘領(lǐng)域十大經(jīng)典算法之一条摸,在統(tǒng)計學(xué)習(xí)領(lǐng)域也有諸多應(yīng)用。EM算法(Expectation-maximization algorithm铸屉,期望極大算法)在統(tǒng)計中被用于尋找依賴于不可觀察的隱性變量的概率模型中參數(shù)的最大似然估計钉蒲。
期望極大算法經(jīng)過兩個步驟交替進行計算,第一步是計算期望(E)抬探,利用對隱藏變量的現(xiàn)有估計值,計算其最大似然估計值帆赢;第二步是極大化(M)小压,極大化在E步上求得的最大似然值來計算參數(shù)的值。M步上找到的參數(shù)估計值被用于下一個E步計算中椰于,這個過程不斷交替進行怠益。
1、EM算法引入
在引入EM算法之前瘾婿,我們先回顧一下最大似然估計方法蜻牢。
(https://web.stanford.edu/class/cs109/lectureNotes/21%20-%20MLE.pdf)
最大似然法(MLE)的思想很樸素,首先假設(shè)參數(shù)為偏陪,然后寫出在下生成當(dāng)前各獨立樣本的可能性(Likelihood)抢呆,上圖解釋了這里的Likelihood是什么含義——聯(lián)合概率(離散)或聯(lián)合概率密度(連續(xù))。然后我們求使得這個Likelihood最大的參數(shù)值作為我們的參數(shù)估計笛谦。
最大似然法可以發(fā)揮作用的隱含前提是我們可以觀測到各獨立樣本抱虐,且這些樣本就是從服從依賴于的分布中生成的。
那么EM算法是用來解決什么問題呢饥脑?EM算法用來解決既含有觀測變量又含有隱變量或潛在變量的參數(shù)估計問題恳邀。所謂隱變量懦冰,就是無法直接觀測到的變量,但它又與可觀測變量的生成密切相關(guān)谣沸,比如混合高斯模型中某個變量(樣本)屬于各個高斯成分的概率就是隱變量刷钢。《統(tǒng)計學(xué)習(xí)方法》中舉了一個很生動的例子:
假設(shè)有3枚硬幣乳附,分別記作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é)果如下:
假設(shè)只能觀測到擲硬幣的結(jié)果键畴,不能觀測擲硬幣的過程最盅。問如何估計三硬幣正面出現(xiàn)的概率,即三硬幣模型的參數(shù)起惕。
下面我們試著寫出其似然函數(shù)涡贱。記是模型參數(shù),是觀測變量惹想,表示一次實驗的觀測結(jié)果是1或0问词,是隱變量,表示為觀測到的擲硬幣的結(jié)果嘀粱。則Likelihood可寫作:
觀測數(shù)據(jù)未觀測數(shù)據(jù)則觀測數(shù)據(jù)的似然函數(shù)為:
《統(tǒng)計學(xué)習(xí)方法》一書上說這個似然函數(shù)的極大似然估計是沒有解析解的激挪,因此我們就需要用更巧妙的方法來逼近這個解。EM算法就是通過逼近的過程來解決這樣的問題锋叨。
2垄分、EM算法導(dǎo)出
現(xiàn)在我們把問題從三硬幣問題中抽象出來:表示觀測變量,表示隱隨機變量娃磺,和一起稱為完全數(shù)據(jù)锋喜,稱為不完全數(shù)據(jù)。表示模型參數(shù)。給定觀測數(shù)據(jù)嘿般,我們的目標是極大化關(guān)于參數(shù)的對數(shù)似然函數(shù)段标,即極大化:
這一極大化的主要困難在于:
- 上式中有未觀測數(shù)據(jù)
- 上式中包含和(或積分)的對數(shù)
既然不能直接極大化似然函數(shù),那么我們就希望可以通過某種迭代的方式使得不斷增大炉奴。假設(shè)在第次之后的估計值為逼庞,則我們希望新估計值滿足:
為此,考慮兩者之差并利用Jensen不等式得到其下界:
從而有:
定義這個下界為:
則有:
若我們?nèi)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Ctheta%3D%5Ctheta%5E%7B(i)%7D" alt="\theta=\theta^{(i)}" mathimg="1">可以得到:
因此任何可以使增大的瞻赶,都可以使增大赛糟。為了使有盡可能大的增長,我們應(yīng)該選擇使得達到極大的值砸逊,即:
下面我們省去對的極大化而言是常數(shù)的項:
我們定義璧南,則:
從而我們就可以迭代地更新參數(shù),使得對數(shù)似然函數(shù)不斷增大师逸∷疽校總結(jié)成EM算法如下:
(1)選擇模型參數(shù)初始值
(2)E步:計算
(3)M步:
(4)重復(fù)E步M步直至收斂。
我們看到(4)默認了EM算法的收斂性篓像,下面我們來證明這一點动知。
3恬口、EM算法的收斂性
為了證明EM算法的收斂性粱坤,我們首先說明由EM算法估計得到的似然函數(shù)序列是單調(diào)遞增的躯护,即:
由
取對數(shù)有
令
則對數(shù)似然函數(shù)可以寫成:
從而
我們知道使得達到極大鸵熟,因此
又
故
因此,如果有上界宵蕉,則收斂到某個值享郊。