您好,登錄后才能下訂單哦!
本篇內容介紹了“EM算法怎么理解”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
眾所周知,極大似然估計是一種應用很廣泛的參數估計方法。例如我手頭有一些東北人的身高的數據,又知道身高的概率模型是高斯分布,那么利用極大化似然函數的方法可以估計出高斯分布的兩個參數,均值和方差。這個方法基本上所有概率課本上都會講,我這就不多說了,不清楚的請百度。
然而現在我面臨的是這種情況,我手上的數據是四川人和東北人的身高合集,然而對于其中具體的每一個數據,并沒有標定出它來自“東北人”還是“四川人”,我想如果把這個數據集的概率密度畫出來,大約是這個樣子:
好了不要吐槽了,能畫成這個樣子我已經很用心了= =
其實這個雙峰的概率密度函數是有模型的,稱作高斯混合模型(GMM),寫作:
然而我們并不知道p(x;θ)的表達式,有同學說我知道啊,不就是上面那個混個高斯模型?不就是參數多一點麼。
仔細想想,GMM里的θ可是由四川人和東北人兩部分組成喲,假如你要估計四川人的身高均值,直接用GMM做似然函數,會把四川人和東北人全考慮進去,顯然不合適。
另一個想法是考慮隱變量,如果我們已經知道哪些樣本來自四川,哪些樣本來自東北,那就好了。用Z=0或Z=1標記樣本來自哪個總體,則Z就是隱變量,需要最大化的似然函數就變為:
當且僅當X是常數的時候等號成立
如果f(X)是凹函數,不等號反向
關于這個不等式,我既不打算證明,也不打算說明,希望你承認它正確就好。
半路殺出一個Jensen不等式,要用它解決上面的困境也是應有之義,不然說它做什么。直接最大化似然函數做不到,那么如果我們能找到似然函數的一個緊的下界一直優化它,并保證每次迭代能夠使總的似然函數一直增大,其實也是一樣的。怎么說?畫個圖你就明白了:
這幾句公式比較多,我不一一敲了,直接把我PPT里的內容截圖過來:
有了這一步,我們看一下整個式子:
又因為Q(z)是z的分布函數,所以:
得到Q(z),大功告成,Q(z)就是p(zi|xi),或者寫成p(zi),都是一回事,代表第i個數據是來自zi的概率。
于是EM算法出爐,它是這樣做的:
首先,初始化參數θ
(1)E-Step:根據參數θ計算每個樣本屬于zi的概率,即這個身高來自四川或東北的概率,這個概率就是Q
(2)M-Step:根據計算得到的Q,求出含有θ的似然函數的下界并最大化它,得到新的參數θ
重復(1)和(2)直到收斂,可以看到,從思想上來說,和最開始沒什么兩樣,只不過直接最大化似然函數不好做,曲線救國而已。
至于為什么這樣的迭代會保證似然函數單調不減,即EM算法的收斂性證明,我就先不寫了,以后有時間再考慮補。需要額外說明的是,EM算法在一般情況是收斂的,但是不保證收斂到全局最優,即有可能進入局部的最優。EM算法在混合高斯模型,隱馬爾科夫模型中都有應用,是著名的數據挖掘十大算法之一。
“EM算法怎么理解”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。