EM最大期望算法与jensen不等式
參考資料:https://blog.csdn.net/androidlushangderen/article/details/42921789
介紹
em算法是一種迭代算法,用于含有隱變量的參數模型的最大似然估計或極大后驗概率估計。EM算法,作為一個框架思想,它可以應用在很多領域,比如說數據聚類領域----模糊聚類的處理,待會兒也會給出一個這樣的實現例子。
EM算法原理
EM算法從名稱上就能看出他可以被分成2個部分,E-Step和M-Step。E-Step叫做期望化步驟,M-Step為最大化步驟。
整體算法的步驟如下所示:
1、初始化分布參數。
2、(E-Step)計算期望E,利用對隱藏變量的現有估計值,計算其最大似然估計值,以此實現期望化的過程。
3、(M-Step)最大化在E-步驟上的最大似然估計值來計算參數的值
4、重復2,3步驟直到收斂。
以上就是EM算法的核心原理,也許您會想,真的這么簡單,其實事實是我省略了其中復雜的數據推導的過程,因為如果不理解EM的算法原理,去看其中的數據公式的推導,會讓人更加暈的。好,下面給出數據的推導過程,本人數學也不好,于是用了別人的推導過程,人家已經寫得非常詳細了。
EM算法的推導過程
jensen不等式
在介紹推導過程的時候,需要明白jensen不等式,他是一個關于凸函數的一個定理,直接上公式定義;
?
如果f是凸函數,X是隨機變量,那么
??????
????? 特別地,如果f是嚴格凸函數,那么當且僅當,也就是說X是常量。
????? 這里我們將簡寫為。
????? 如果用圖表示會很清晰:
??????
這里需要解釋的是E(X)的值為什么是(a+b)/2,因為有0.5 的概率是a,0.5的概率是b,于是他的期望就是a,b的和的中間值了。同理在y軸上的值也是如此。
EM算法的公式表達形式
EM算法轉化為公式的表達形式為:
?
? ? ? 給定的訓練樣本是,樣例間獨立,我們想找到每個樣例隱含的類別z,能使得p(x,z)最大。p(x,z)的最大似然估計如下:
??????
然后對這個公式做一點變化,就可以用上jensen不等式了,神奇的一筆來了:
?
可以由前面闡述的內容得到下面的公式:
??????
????? (1)到(2)比較直接,就是分子分母同乘以一個相等的函數。(2)到(3)利用了Jensen不等式。對于每一個樣例i,讓表示該樣例隱含變量z的某種分布,滿足的條件是。于是就來到了問題的關鍵,通過上面的不等式,我們就可以確定式子的下界,然后我們就可以不斷的提高此下界達到逼近最后真實值的目的值,那么什么時候達到想到的時候呢,沒錯,就是這個不等式變成等式的時候,然后再依據之前描述的jensen不等式的說明,當不等式變為等式的時候,當且僅當,也就是說X是常量,推出就是下面的公式:
?
???? 再推導下,由于(因為Q是隨機變量z(i)的概率密度函數),則可以得到:分子的和等于c(分子分母都對所有z(i)求和:多個等式分子分母相加不變,這個認為每個樣例的兩個概率比值都是c),再次繼續推導;
?
??????
最后就得出了EM算法的一般過程了:
?
循環重復直到收斂
????? (E步)對于每一個i,計算
??????????????????
????? (M步)計算
??????????????????
總結
以上是生活随笔為你收集整理的EM最大期望算法与jensen不等式的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正态分布推导瑞利分布,瑞利信道的模型
- 下一篇: 了解计算机技术的课件,了解计算机课件.p