天天看點

EM 算法理論推導

在介紹EM算法之前,我們先來介紹一下高斯混合模型(GMM)。GMM是多個高斯分布的疊加。表達式如下

EM 算法理論推導

  其中有i個高斯分布,

EM 算法理論推導

表示第i個高斯分布所占的權重(

EM 算法理論推導

)。

EM 算法理論推導

 表示第i個高斯分布的數學表達式。

EM 算法理論推導

 表示第i個高斯分布的參數。高斯

混合模型的機率密度圖像如下所示.

現在有如下執行個體。從一個高校中随機抽取200個人的身高資料。但是我們不知道這兩200個身高資料中的每一個是屬于男性,還是女性,并且不知道男女比例是多少。但是已知男生和女生的身高分别服從兩個不同的高斯分布。現在我們該如何利用資料去得到男生和女生的各自分布的參數(方差。均值,權重)。這就是我們的EM算法所要解決的事情。

其實男生和女生的分布就是一個明顯的GMM。

一想到參數估計,肯定我們腦海裡第一浮現的就是最大似然估計。當然此處也是如此。前面說了這是一個GMM問題。而且有了GMM表達式。那麼我們就開始按照MLE的解題步驟開始吧。

根據MLE的思想我們要讓随機抽取的200個資料在這個某一個GMM下分布發生的機率最大化。那麼就有對數似然函數

EM 算法理論推導

  在 

EM 算法理論推導

中 寫分号表示待估參數

EM 算法理論推導

是固定的,隻是目前未知。

EM 算法理論推導

應該可以直接認為是p(x),加了

EM 算法理論推導

是為了說明這裡有個

EM 算法理論推導

的參數。 (其中

EM 算法理論推導

參數包含每一個高斯分布的均值,方差,和權重三個未知參數)那麼接下來按照MLE的解題步驟。我們是不是隻要直接對 

EM 算法理論推導

 求最大值就行了呢?實踐證明這樣是不可取的,是無法的到結果的。下面我們引入一個隐變量 z,z表示的是某一個某一個資料所屬的類别(男,女。z=[類1,類2,類3,等])定義 

EM 算法理論推導

  (

EM 算法理論推導

),但是我們不知道他的分部是什麼。現在我們改寫

EM 算法理論推導
EM 算法理論推導

   (n組資料,m個分布

EM 算法理論推導

表示在參數

EM 算法理論推導

下X發生并且是某一個

EM 算法理論推導

類的機率)其實這就是對某一個資料在多個類别中的機率的一個疊加。隻不過我們添加了一個隐變量在裡面友善後面操作。

再對

EM 算法理論推導

變形 

EM 算法理論推導

先暫停一會兒。先來了解一個工具jensen不等式如果 

EM 算法理論推導

是凸函數(二階導大于等于零)有

EM 算法理論推導

現在再回到   

EM 算法理論推導

   我們另 

EM 算法理論推導

  繼續改寫

EM 算法理論推導

。可以先不用看 

EM 算法理論推導

這個和

EM 算法理論推導

。把他們去掉看這個 

EM 算法理論推導

。我們知道Q(z)是一個分布,是z的一個權重。而g(z)是一個關于z的函數。是以可以把

EM 算法理論推導

看作是對 g(z)求期望。而log看成是一個函數。那麼根據前面的jessen不等式可以得到。  

EM 算法理論推導

那麼就有  

EM 算法理論推導

現在我們來分析一下這個不等式。首先把他們隻看做是關于 

EM 算法理論推導

 的函數,把隐變量 z看作常數。

EM 算法理論推導
EM 算法理論推導

可知 

EM 算法理論推導

 ,

EM 算法理論推導

是一個凸函數。是以大概圖像如此

EM 算法理論推導

其中的A點對應的 

EM 算法理論推導

 值就是我們需要的最優值,現在的問題是我們如何得到這個A點。可知

EM 算法理論推導

EM 算法理論推導

的一個下界函數。由于

EM 算法理論推導

還有一個隐變量z,是以

EM 算法理論推導

有無數個下界函數。現在我們任意給定參數

EM 算法理論推導

。然後調整z的值一定可以讓 

EM 算法理論推導

 ,

EM 算法理論推導

在圖中的B點相切。這也就是

EM 算法理論推導

這個不等式取等号的情況。根據jensen不等式性質我們可以知道。取等号的情況是 

EM 算法理論推導

  (c為一個常數)。變一下型 

EM 算法理論推導

  。因為

EM 算法理論推導

 是以

EM 算法理論推導

是以 

EM 算法理論推導

  ,利用這個等式我們可以求出Q(z) 。看到這個式子我們應該就明白了。給定一個初始 

EM 算法理論推導

值我們就可以求出隐變量z的分布。這時圖中的

EM 算法理論推導

的位置就已經固定了。函數表達式也就固定了。然後我們可以去最大化下界函數

EM 算法理論推導

。得到在C點對應的一個參數

EM 算法理論推導

。然後重複上面的步驟。利用這個

EM 算法理論推導

,去得到新的Q(z)。直到

EM 算法理論推導

收斂。這時也就得到了結果。其實這有點像梯度上升,利用下界函數去慢慢逼近最優值。

繼續閱讀