4-EM算法原理及利用EM求解GMM參數過程

1.極大似然估計算法

  原理:假設在一個罐子中放着許多白球和黑球,並假定已經知道兩種球的數目之比爲1:3可是不知道那種顏色的球多。若是用放回抽樣方法從罐中取5個球,觀察結果爲:黑、白、黑、黑、黑,估計取到黑球的機率爲p;函數

  假設p=1/4,則出現題目描述觀察結果的機率爲:(1/4)*(3/4) = 3/1024學習

  假設p=3/4,則出現題目描述觀察結果的機率爲:(3/4)*(1/4) = 81/1024測試

  因爲81/1024 > 3/1024,所以任務p=3/4比1/4更能出現上述觀察結果,因此p取3/4更爲合理spa

  以上便爲極大似然估計的原理3d

  定義以下圖:(圖片來自浙江大學機率論課程課件)blog

  

2.知曉了極大似然估計的原理以後,咱們能夠利用極大似然估計的原理來解決以下問題:圖片

  即,若給定一圈樣本x1,x2.....xn,已知他們服從高斯分佈N(μ,σ),要求估計參數均值μ,標準差σ基礎

  (1) 高斯分佈的機率密度爲:學習方法

    

  (2) 利用上述極大似然估計的原理,構建似然函數爲:

    

  (3) 爲例求解方便咱們取對數似然:

    

  (4) 咱們的目標是求上述l(x)的最大值,對上式,分別關於μ,σ求二階導數,很容易證實2次倒數均小於0 ,因此上述函數關於μ,和σ均爲凹函數,極大值點知足一階導數等於0,故經過對μ,和σ求偏導而且倒數爲0 咱們便可獲得以下等式:

    

3.EM算法原理推導

  3.1 EM算法與極大似然估計的區別於聯繫(直接飲用李航-統計學習方法中的內容)

    機率模型有時即含有觀測變量,又含有隱變量或潛在變量,若是機率模型的變量都是觀測變量,那麼給定數據,能夠直接用極大似然估計法,或者貝葉斯估計法估計模型參數。可是當模型含有隱量時,就不能簡單的用這些估計方法,EM算法就是含有隱變量的機率模型參數的極大似然估計法

    什麼是隱變量?

    舉例:好比現要在一所學校中隨機選取1000我的測量身高,最終咱們會獲得一個包含1000個身高數據的數據集,此數據集就稱爲觀測變量,那這1000個學生中,既有男生又有女生,咱們在選取完成之後並不知道男生和女生的比例是多少?此時這1000名學生中男生的佔比以及女生的佔比就稱爲隱變量

  3.2 有了上述簡單的認識以後,下邊解決EM算法的推導過程

    在對EM算法原理進行推導以前,先用一個實例理解一下下文中θ所表示的意義:

    

    假設現有樣本集T= {x1,x2 .....xm},包含m個獨立樣本,其中每一個樣本對應的類別z(這裏的類別z就能夠類比3.1中的男生女生兩種性別去理解)是未知的,因此很難直接用極大似然法去求解。

    以x1爲例:x1發生的機率能夠表示爲:,θ表示的就是咱們要估計的參數的一個總稱後續證實過程當中的Q(z)也是θ中的一個參數。舉例,若是每個類別z均符合高斯分佈,那麼θ中還會包含均值μ和標準差σ,若是對θ的理解不是不到

    整個數據集T的似然函數能夠表示爲:

          

    爲了便於計算咱們取對數似然得:

      

    對上上述函數log中有求和運算,求解困難,故咱們能夠對其形式進行轉化,轉化爲易於咱們求解的方式以下式:表示第i個樣本第j個類別的機率,則表示的指望

      

    log函數是一個凹函數,故利用jenson不等式的原理能夠得出指望的函數值大於等於函數值的指望,故表達以下:

           

    在上述不等式的等號成立時和是等價的,也就是說後式的最大值即爲前式的最大值。當log函數的圖像是一條直線時等號成立,故爲常數時,等號成立。      

      

    #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

    E-step:即就是上述的

    M-step:在E-step的基礎上求使得上述函數值的指望取得最大值的參數θ的取值

       

    #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#

    對上述E-step和M-step不斷進行迭代,知道咱們估計的模型參數收斂(即變化趨近於一個定值)咱們便可獲得最適合觀測數據集的模型參數,者即是EM算法

4.利用EM原理推導GMM(混合高斯模型)

  隨機變量X是有K個高斯分佈混合而成,取各個高斯分佈的機率爲φ1,φ2...φK,第i個高斯分佈的均值爲μi,方差爲Σi。若觀測到隨機變量X的一系列樣本x1,x2...xn,試估計參數φ,μ,Σ。    

   第一步:依據3中E-step估計φ用wj(i) 表示,意義是對第i個樣本第j個高斯分佈的貢獻率(即第j個高斯分佈的佔比)

    

  第二步:依據3中的M-step估計μ,和σ  用 表示σ2

    

    對上述關於μ求偏導得:

    

    對(2)式爲0 可得:

    

    同理對方差求偏導,並令導入爲0 可得:

    

    對於φ因爲 ,故對於φ必須採用添加極值的方式求解,需構建拉個朗日方程進行求解。

    觀察(1)式,log函數中能夠當作是一個常數與φj相乘。由對數函數求導法則指,在求導以後,常數項終被抵消,如f(x) = lnax 關於x求導結果與g(x)=lnx關於x求導結果相同,故對於(1)式在構建拉個朗日函數時,直接去掉log函數中的常數項,以下:

    因爲φ爲正在log函數中已有現值,故這裏無需構建不等式約束

    

    對朗格朗日函數關於φj求導並取倒數爲0 可得:

    

    

       

5.用實例理解GMM的參數估計過程

  5.1 在正式引入GMM(混合高斯模型)前咱們如下述情景的求解爲例,用實例看先熟悉如下參數更新的過程

    情景:假設從商場隨機選取10位顧客,測量這10位顧客的身高,這些顧客中既包含男性顧客也包含女性顧客,如今咱們已知測量數據,T=[x1,x2 .....x10]爲咱們測試的身高數據,即爲可觀測數據集。而且知道男性女性顧客的身高均服從高斯分佈N(μ11),N(μ22),估計參數μ11,μ22 ,以及男女比例 α1,α2

    高斯分佈的機率密度函數爲:

      

    (1)對於測試數據x其產生的機率咱們能夠表示爲:

      

      咱們用γ(i,k)來表示男性或者女性在生成數據x1  時所作的貢獻(γ(i,k)就至關於咱們初始給定的α1,α2)。或者說表示單由男性或者女性產生數據xi的機率,先後兩個說法所想表達的意思是相同的,那麼就有:

       

 

      

 

    (2)對於測試數據x2 其產生的機率咱們能夠表示爲:

      

      同(1)可知:

      

      

    (3)依次按照上述(1)(2)的規律咱們就能夠求出以下表格中的全部值,表中標綠的在上述(1)(2)步已求出

      

      咱們在上文2中的(4)已經推導出來了μ和σ2的計算公式,故

         

        

      

      

       

        

    對於上述α1,α2計算方式的理解:α1,α2表示的是同一次實驗,或者說針對同一個樣本,兩類數據來源(男性,女性)對樣本結果的貢獻率,那麼對於每個樣原本說他們的男性和女性的貢獻率都應該是恆定的,故咱們採用取平均的方式更新α1,α2;

    (4)用計算出來的μ1new2new      σ21new    σ22new   α1new2new 再次重複迭代上述(1)(2)(3)步驟,直到μ1new2new      σ21new    σ22new   α1new2new 收斂咱們即獲得的關於本次觀測數據最合適的參數

  5.2 有了上述實例之後,咱們直接給出GMM的推廣式:(下述式子的正面過程見4中GMM的證實過程)

    隨機變量X是有K個高斯分佈混合而成,取各個高斯分佈的機率爲φ1,φ2...φK,第i個高斯分佈的均值爲μi,方差爲Σi。若觀測到隨機變量X的一系列樣本x1,x2...xn,試估計參數φ,μ,Σ。

    第一步:(如上述實例中(1)和(2))

      

    第二步:(如上述實例中的(3))

      

 

 

    

 

 

    

  

 

 

 

 

 

 

 

    

    

    

 

 

    

    

 

    

 

    

 

 

 

    

    

 

 

 

 

 

 

 

 

  

 

    

 

 

 

  

 

相關文章
相關標籤/搜索