天天看點

EM算法一、概念二、應用場景距離

  • 一、概念
  • 二、應用場景距離
      • 計算案例
      • 案例優化
      • 圖解步驟

一、概念

顧名思義:

                   最大期望算法(Expectation Maximization Algorithm,又譯期望最大化算法),是一種疊代算法,用于含有隐變量(latent variable)的機率參數模型的最大似然估計或極大後驗機率估計。

最大期望算法經過兩個步驟交替進行計算:

● 第一步是計算期望(E),利用對隐藏變量的現有估計值,計算其最大 似然估計值;

● 第二步是最大化(M),最大化在 E 步上求得的最大似然值來 計算參數的值。

M 步上找到的 參數估計值被用于下一個 E 步計算中,這個過程不斷交替進行。

總體來說,EM的算法流程如下:

● 1.初始化分布參數

● 2.重複直到收斂:

E步驟:估計未知參數的期望值,給出目前的參數估計。

M步驟:重新估計分布參數,以使得資料的 似然性最大,給出未知變量的期望估計。

二、應用場景距離

                   我們需要調查我們學校的男生和女生的身高分布。 假設你在校園裡随便找了100個男生和100個女生。他們共200個人。将他們按照性别劃分為兩組,然後先統計抽樣得到的100個男生的身高。假設他們的身高是服從正态分布的。但是這個分布的均值μ和方差σ2我們不知道,這兩個參數就是我們要估計的。記作θ=[μ,σ]T。

                   問題:我們知道樣本所服從的機率分布的模型和一些樣本,需要求解該模型的參數。

                   問題數學化:設樣本集X=x1,x2,…,xN,其中N=100 ,p(xi|θ)為機率密度函數,表示抽到男生xi(的身高)的機率。由于100個樣本之間獨立同分布,是以我同時抽到這100個男生的機率就是他們各自機率的乘積,也就是樣本集X中各個樣本的聯合機率,用下式表示:

EM算法一、概念二、應用場景距離

                   這個機率反映了,在機率密度函數的參數是θ時,得到X這組樣本的機率。 我們需要找到一個參數θ,使得抽到X這組樣本的

機率最大

,也就是說需要其對應的

似然函數L(θ)最大

。滿足條件的θ叫做θ的

最大似然估計量

,記為:

EM算法一、概念二、應用場景距離

步驟

EM算法一、概念二、應用場景距離
EM算法一、概念二、應用場景距離

注:

1、Jensen不等式應用于凹函數時,不等号方向反向。當且僅當X是常量時,Jensen不等式等号成立。

2、關于凸函數,百度百科中是這樣解釋的——“對于實數集上的凸函數,一般的判别方法是求它的二階導數,如果其二階導數在區間上非負,就稱為凸函數(向下凸)”。

幾張圖看懂步驟

EM算法一、概念二、應用場景距離
EM算法一、概念二、應用場景距離
EM算法一、概念二、應用場景距離

計算案例

EM算法一、概念二、應用場景距離

答案:先随機初始化一個P1和P2,用它來估計z,然後基于z,還是按照最大似然機率法則去估計新的P1和P2,如果新的P1和P2和我們初始化的P1和P2一樣,請問這說明了什麼?

這說明我們初始化的P1和P2是一個相當靠譜的估計!

就是說,我們初始化的P1和P2,按照最大似然機率就可以估計出z,然後基于z,按照最大似然機率可以反過來估計出P1和P2,當與我們初始化的P1和P2一樣時,說明是P1和P2很有可能就是真實的值。

這裡面包含了兩個互動的最大似然估計。

如果新估計出來的P1和P2和我們初始化的值差别很大呢?就是繼續

用新的P1和P2疊代,直至收斂

EM算法一、概念二、應用場景距離
EM算法一、概念二、應用場景距離

案例優化

我們估計的P1和P2相比于它們的初始值,更接近它們的真實值了!

                   可以期待,我們繼續按照上面的思路,用估計出的P1和P2再來估計z,再用z來估計新的P1和P2,反複疊代下去,就可以最終得到P1 = 0.4,P2=0.5,此時無論怎樣疊代,P1和P2的值都會保持0.4和0.5不變,于是乎,我們就找到了P1和P2的最大似然估計。

                   我們是用最大似然機率法則估計出的z值,然後再用z值按照最大似然機率法則估計新的P1和P2。也就是說,我們使用了一個最可能的z值,而不是所有可能的z值。

                   如果考慮所有可能的z值,對每一個z值都估計出一個新的P1和P2,将每一個z值機率大小作為權重,将所有新的P1和P2分别權重相加,這樣的P1和P2應該會更好一些。所有的z值有多少個呢?顯然,有2^5=32種,需要我們進行32次估值??

EM算法一、概念二、應用場景距離

把每一個期望都酸一下,取最大。

                可以看到,改變了z值的估計方法後,新估計出的P1要更加接近0.4。原因就是我們使用了所有抛擲的資料,而不是之前隻使用了部分的資料。

                這步中,我們根據E步中求出的z的機率分布,依據

最大似然機率法則

去估計P1和P2,被稱作M步。

圖解步驟

EM算法一、概念二、應用場景距離

繼續閱讀