EM算法解決GMM問題

Note:本篇博文1,2部分主要是對書籍Pattern Recognition and Mechine Learning 第九章9.2節的翻譯

高斯混合模型

高斯混合模型是幾個高斯成分的簡單線性疊加,可以提供比單高斯更加豐富的密度模型。
高斯模型的形式:
這裏寫圖片描述
這就表示此模型是由K個高斯分佈線性疊加而成。

高斯混合模型公式的推導

引入一個K維的二進制隨機變量z,其中只有一個元素zk 爲1,其他元素都爲0。因此zk 的值滿足zk0,1 並且kzk=1 。通過哪個元素不爲0,可以看出向量z有K種可能的狀態。

p(zk=1)=πk

πk 必須滿足
0πk1
k=1Kπk=1

因爲z是1-K維的表示,所以其分佈可以寫爲
p(z)=k=1Kπzkk

同樣的,在確定了z後x的條件概率是一個高斯分佈
p(x|zk=1)=N(x|uk,k)

也可以寫成:
這裏寫圖片描述
由此得
這裏寫圖片描述

後驗概率

另外一個具有重要作用的度量是x確定時z的條件概率。我們可以使用 γ(zk) 來表示p(zk=1|x) ,其值可以用貝葉斯公式求得
這裏寫圖片描述
我們可以把π 看作zk=1 的先驗概率,γ(zk) 看作已知x時的後驗概率。

最大似然

假定一觀測樣本集x1,...,xN ,我們希望用一個高斯混合模型來描述。我們用一個N*D的矩陣X來表示這個數據集,X的第n行爲xTn 。同樣地,相應的隱含變量可以用N*K的矩陣Z表示,每一行是zTn 。假定每個樣本點是從概率分佈中獨立地抽取出來的,那麼對數似然函數可以表示爲
這裏寫圖片描述

高斯分佈的EM算法

更新參數

對上面的對數似然函數關於μk 求偏導使之等於0,我們得到這裏寫圖片描述
兩側乘k 得到
這裏寫圖片描述
對數似然函數關於k 求導可得
這裏寫圖片描述
最後,我們關於混合係數πk 來最大化lnp(X|π,μ,) 。考慮到約束條件z=1 引入一個拉格朗日乘子:
這裏寫圖片描述
πk 求導得到
這裏寫圖片描述
最終得到(這裏我推導不出來)
這裏寫圖片描述

算法步驟

給一個高斯混合模型,我們的目標是最大化與參數(高斯成分的均值,協方差和混合係數)相關的對數似然函數。

1 Initialization

舒適化均值μk ,協方差矩陣k 和混合係數πk ,並且估計對數似然函數(log likelihood)的初始值。

2 E step

利用當前參數計算
這裏寫圖片描述

3 M step

重新估計參數
這裏寫圖片描述
其中:
這裏寫圖片描述

4 計算log likelihood

這裏寫圖片描述
檢查參數或者對數似然函數的收斂性。如果不滿足收斂準則,返回第二步。

發佈了29 篇原創文章 · 獲贊 32 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章