em算法详细例子及推导_outlier analysis 补充——EM算法
全網最容易理解最直觀最形象的em算法的解釋文。
首先,EM和極大似然法一樣需要提前假設數據的分布符合XX分布情況,EM算法和極大似然不同的地方在于當求解的公式中存在隱變量的時候極大似然法無法解決,此時可以采用EM算法來求解。
極大似然估計是建立在這樣的思想上:已知某個參數能使這個樣本出現的概率極大,我們當然不會再去選擇其他小概率的樣本,所以干脆就把這個參數作為估計的真實值。求極大似然函數估計值的一般步驟:
(1)寫出似然函數;
(2)對似然函數取對數,并整理;
(3)求導數,令導數為 0,得到似然方程;(很多時候似然方程沒有解析解所以只能通過梯度下降法等優化算法迭代求解)
(4)解似然方程,得到的參數。
極大似然方程的一般形式以一元高斯分布為例:
小學的高斯分布公式實際上就是這么推導而來的,因為高斯分布參數估計的似然函數存在解析解,所以求導之后可以直接求出對應的參數值而不需要使用梯度下降法之類的迭代求解的方法。
EM算法是在極大似然估計無法解決原始的似然函數中存在隱變量的情況下使用的一種啟發式的算法。
可以看到對數似然函數的對數中有一大堆的求和項,求導起來極其復雜麻煩很難求解。那么EM的思路就是首先假設一個隱變量z的分布Q:
其中:
(這里的Q分布可以是連續也可以是離散分布的)(2)式用到了Jensen不等式。
這里我們就構建出了原始的帶隱變量的極大似然函數式的下界,EM的思想在于通過最大化這個下界從而增大原始的極大似然函數值(無法保證也最大化,啟發式無法保證最優),此時原來的問題就轉化為了最大化這個下界的值:
可以看到上面的這個式子實際上就是:
的加權平均,這一步就是EM中的E步。
根據這個式子可以知道,當下界與原始的帶隱變量的極大似然函數相等的時候取到最大值(小于等于的最大值當然是等于啦。。)
然后反過來,根據Jensen不等式的性質,取到等號的時候:
其中 c 為常數,對于任意
,我們得到:方程兩邊同時累加和:
由于
。 從上面兩式,我們可以得到:其中:
邊緣概率公式:
條件概率公式:
從上式可以發現
實際上就是已知樣本和模型參數下的隱變量分布得到了Q的表達式之后我們的E步就結束了,
然后進入M步,帶入原始的下界函數的式子,然后關于參數
求極大值這樣我們就更新得到了新的參數
一直重復,直到參數
收斂為止。上述的過程是EM算法的一個很通用的求解過程的序數,但是細化到不同的算法上又有很多需要注意的地方,這里以單元的GMM為例介紹下EM在GMM求解上的具體的例子,可見:
總結
以上是生活随笔為你收集整理的em算法详细例子及推导_outlier analysis 补充——EM算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用html5做一个简单网页_用Pytho
- 下一篇: wordpress 表格文字对齐_Wor