機器學習第三課(EM算法和高斯混合模型)


極大似然估計,只是一種概率論在統計學的應用,它是參數估計的方法之一。說的是已知某個隨機樣本滿足某種概率分布,但是其中具體的參數不清楚,參數估計就是通過若干次試驗,觀察其結果,利用結果推出參數的大概值。最大似然估計是建立在這樣的思想上:已知某個參數能使這個樣本出現的概率最大,我們當然不會再去選擇其他小概率的樣本,所以干脆就把這個參數作為估計的真實值。

     我們先來假設這樣一個問題:要求解人群(100人)中男女身高的分布,這里很明顯有兩種分布,男和女,但是事先我們並不知道他們服從哪種分布,而且我們也不知道男的有多少人,女的有多少人,那么怎么辦呢?如果我們用混合高斯模型,我們假設男和女的分布都是符合高斯分布的,然后給定這個高斯分布一個初始值,這樣這個高斯分布就是已知的了。接着,用這個已經的高斯分布來估計男的多少人,女的多少人,假設男和女的類別分布為Q(z),這樣我們就可以求Q(z)的期望了,用期望來表示下一次迭代類別的初始值,這樣我們就知道男和女的所屬類別了,我們就可以用最大似然函數來估新的高斯模型的參數了。重復上述步驟…直到收斂!

    ps:極大似然估計,只是一種概率論在統計學的應用,它是參數估計的方法之一。說的是已知某個隨機樣本滿足某種概率分布,但是其中具體的參數不清楚,參數估計就是通過若干次試驗,觀察其結果,利用結果推出參數的大概值。最大似然估計是建立在這樣的思想上:已知某個參數能使這個樣本出現的概率最大,我們當然不會再去選擇其他小概率的樣本,所以干脆就把這個參數作為估計的真實值。

   EM算法,這是cv界比較有名的一種算法了,雖然很早就聽說過,但真正深究還是最近幾天看斯坦福公開課筆記的時候。之所以EM和MoG放在一起,是因為我們在求解MoG模型的時候需要用到EM算法,所以這里我們先來介紹下EM算法。

    在介紹EM算法的之前,我們先來普及下Jensen不等式的知識。首先我們來給出Jensen不等式的定義:

                                                  image

    定理很簡單,總結下來就是這么幾點。如果f是一個凸函數並且二階導數大於零(上文中有提出),則有image。進一步, 若二階導數恆大於 0,則不等式等號成立當且僅當 x=E[x],即 x 是固定值。若二階導數的不等號方向逆轉,則不等式的不等號方向逆轉。如下圖:

                                                                     image

    好了,知道了Jensen不等式,我們下面來探討EM算法的一般形式。

    suppose we have a training set  image consist of  m independent examples,假設樣本的類別z服從某種未知的分布,那么對於這種隱含變量的模型我們可以求出它的似然函數為(求似然函數是為了求解我們假設模型中的各個參數,我們在求解一個分類或者回歸問題時,通常需要選定一個模型,比如NB,GDA,logistic regression,然后利用最大似然求解模型的參數):

                                                                           image

    這里我們並不知道image所服從的分布,只知道它們服從某種概率分布就足夠了。接下來我們需要求解參數image來使得以上的image最大即可,由於image中對數函數相加的情況使得求解非常困難。於是我們轉化為下面這樣處理:

                                                                      image

    式中我們引入了z的一種未知分布image(怎么選擇下面會講), 即image,繼續推導我們有

                                                                      image

    上式中我們用到了Jensen不等式,由於log函數式一個凹函數,所以不等式的不等號要逆轉了。簡而言之就是:

                                                                     image

    也就是說image有一個下界,而這個下界中的對數已經放在了求和里面,因而求偏導比較容易。那么我們可不可以把minimum image轉化為minimum lowbound呢。有了這個思想之后我們只需要證明即可。假設當前的參數為image,在下界上計算出極大似人函數的新的參數為image,如果能夠保證image,我們就只需要在下界上進行極大似然估計就行了。證明如下:

                                                                     image

    這個式子前面幾項不難理解,關鍵是最后的一個等式,怎么才能保證image呢? 哈哈,還記得Jensen不等式里面等式成立的條件么,對的,就是這個x=E[x],對應EM算法中就是要使

                                                                                     image

    再加上條件image,對此式子做進一步推導,我們知道clip_image067,那么也就有clip_image069,我們就可以這樣選擇Q(Z):

                                                                        image

    這樣我們就可以選出對Z的概率估計Q了。於是我們就得到了EM算法的一半不周,如下:

                                                                        image

     為了便於理解,這里畫一幅圖來加深大家的印象

                                                                     image

    到此為此我們就用一個下界lowbound,通過在lowbound上求解最大似然函數,從而不斷更新參數,最終解決EM算法的參數求解問題。

 

    Mixtures of Gaussians(GDA)

    混合高斯分布(MoG)也是一種無監督學習算法,常用於聚類。當聚類問題中各個類別的尺寸不同、聚類間有相關關系的時候,往往使用 MoG 更合適。對一個樣本來說, MoG 得到的是其屬於各個類的概率(通過計算后驗概率得到),而不是完全的屬於某個類,這種聚類方法被成為軟聚類。一般說來, 任意形狀的概率分布都可以用多個高斯分布函數去近似,因而,MoG 的應用也比較廣泛。

    先來舉一個例子幫助大家理解,如下圖:

                                                                       image

    這是一個二維的高斯混合分布,數據點由均值為(-1,-2)和(1,2)的兩個高斯分布生成。 根據數據點屬於兩個高斯分布的后驗概率大小對數據點進行分類,可得下圖所示的聚類結果:

                                                                      image 

    在MoG中,由於事先我們不知道數據的分布情況,我們需要先提出兩種假設:

    假設 1 :z 服從多項式分布, 即:

                                                                               image

    假設 2: 已知 z 時, x 服從正態分布,即條件概率 p(x|z)服從正態分布,即:

                                                                                image

    則 x 與 z 的聯合分布概率函數為:

 

                                                                           image

    接下來求似然函數

                                                                           image

    利用似然函數求解參數的值

                                                                    image

    但是現在的問題是,我們的兩個假設不一定是成立的,那么如果在事先不知道樣本及其所屬類別的分布情況是,我們又該怎么來求解各個參數的值呢。想到了沒有,剛剛我們講到的EM算法就是來解決這樣一種問題的呀,所以我們想到了她-EM,就是水到渠成的事了。既然EM算法我們已經講解了,那么現在就直接拿來解MoG就是了,步驟如下:

                                                                     image

                                                                image

    具體說來,在E-step中, Z的概率更新如下:

                                                                    image

    如假設所言,image是正態分布,image是多項式分布。

    在 M-step中, 根據E-step得到的Z的分布情況,對參數進行重新估計:

                                                                                  image

                                                                   image

    這樣通過不斷的迭代,不斷的更新參數,我們就可以求解出MoG模型的參數了。從分析過程來看,MoG對不確定分布的樣本處理效果會比較好。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM