1. 程式人生 > >《統計學習方法》第9章 EM/GMM/F-MM/GEM

《統計學習方法》第9章 EM/GMM/F-MM/GEM

前言

EM(期望最大)演算法有很多的應用,最廣泛的就是混合高斯模型、聚類、HMM等等,本質上就是一種優化演算法,不斷迭代,獲得優值,與梯度下降、牛頓法、共軛梯度法都起到同一類的作用。

本文是對李航《統計學習方法》的第9章複習總結,主要內容如下

  1. EM(期望最大)演算法證明有跳躍性的地方全部事無鉅細地寫出來,

  2. 清晰地梳理網上很多人覺得沒看明白的三硬幣例子,將會把這個例子跟公式一一對應起來

  3. GMM(高斯混合模型)迭代公式證明

  4. F函式的極大-極大演算法(Maximization-Maximization-algorithm)和GEM 詳細證明

當然大家也可以參考Standford

CS299 Machine LearningEM課件 ,相比之下李航這本書在 Jensen‘s inequality(琴聲不等式:凸優化知識的應用)講的不夠詳細,其他都差不多,只是表述上不一樣,有興趣可以綜合來看。

本文原文將書上所有證明給出,由於CSDN的公式編輯器公式支援不全,有些公式沒法正常顯示,歡迎點選此處檢視原文, 個人技術部落格:SnailDove

正文

9.1 EM演算法的引入

概率模型有時既含有觀測變數(observable variable) , 又含有隱變數(hidden variable)潛在變數(latent variable)

如果概率模型的變數都是觀測變數, 那麼給定資料, 可以直接用極大似然估計法或貝葉斯估計法估計模型引數。 但是, 當模型含有隱變數時, 就不能簡單地使用這些估計方法。 EM演算法就是含有隱變數的概率模型引數的極大似然估計法, 或極大後驗概率估計法

。 我們僅討論極大似然估計, 極大後驗概率估計與其類似。

9.1.1 EM演算法

1540625262559

這裡, 隨機變數 yy 是觀測變數, 表示一次試驗觀測的結果是1或0; 隨機變數 zz 是隱變數, 表示未觀測到的擲硬幣 AA 的結果; θ(π,pq)\theta=( \pi ,p, q) 是模型引數。 這一模型是以上資料的生成模型。 注意, 隨機變數 yy 的資料可以觀測, 隨機變數 zz 的資料不可觀測。
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ P(y|\theta) &=…


將觀測資料表示為 Y(Y1Y2,,Yn)TY=(Y_1, Y_2,…,Y_n)^T, 未觀測資料表示為 Z(Z1,Z2,,Zn)TZ=(Z_1,Z_2,…,Z_n)^T, 則觀測資料的似然函式為
(9.2)P(Yθ)=ZP(Y,Zθ)=ZP(Zθ)P(YZ,θ) P(Y|\theta) = \sum\limits_{Z}P(Y,Z|\theta)=\sum\limits_{Z}P(Z|\theta)P(Y|Z,\theta) \tag{9.2}
即:
(9.3)P(Yθ)=j=1n{πpyj(1p)(1yj)+(1π)qyj(1q)(1yj)} P(Y|\theta)= \prod_{j=1}^{n}\left\{\pi p^{y_j}(1-p)^{(1-y_j)} + (1 - \pi) q^{y_j}(1-q)^{(1-y_j)}\right\} \tag{9.3}
考慮求模型引數 $\theta =(\pi, p, q) $ 的極大似然估計,即:
KaTeX parse error: No such environment: equation at position 8: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ \hat{\theta}=\…
這個問題沒有解析解,因為隱變數資料無法獲得,只有通過迭代的方法求解。 EM演算法就是可以用於求解這個問題的一種迭代演算法。

一般地, 用 YY 表示觀測隨機變數的資料, ZZ 表示隱隨機變數的資料。 YYZZ 連在一起稱為**完全資料(complete-data) , 觀測資料 YY 又稱為不完全資料(incomplete-data) **。 假設給定觀測資料 YY, 其概率分佈是 P(Yθ)P(Y|\theta), 其中是需要估計的模型引數, 那麼不完全資料 YY 的似然函式是 P(Yθ)P(Y|\theta), 對數似然函式 L(θ)logP(Yθ)L(\theta)=\mathrm{log}P(Y|\theta) ; 假設 YYZZ 的聯合概率分佈是 P(Y,Zθ)P(Y, Z|\theta), 那麼完全資料的對數似然函式是 logP(Y,Zθ)\mathrm{log}P(Y, Z|\theta)

9.1.2 EM演算法的匯出

1540629489022

1540629535384

:最後一步源自於 ZZ 所有可能取值的概率和為1
logP(Yθ(i))=logP(Yθ(i))ZP(ZY,θ(i)) \mathrm{log}P(Y|\theta^{(i)})=\mathrm{log}P(Y|\theta^{(i)}) \cdot \sum\limits_{Z}P(Z|Y, \theta^{(i)})
1540629838496
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}…
加號右邊,利用對數函式的性質得到:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ &\sum\limits_{…
代入上式可得:
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}…

由於在迭代求第 i+1i+1 步時,θ(i)\theta^{(i)} 是已知的,那麼由訓練資料中可以求得 P(ZY,θ(i))P(Z|Y,\theta^{(i)}) ,所以在 θ(i)\theta^{(i)} 值確定的情況下,P(ZY,θ(i))P(Z|Y,\theta^{(i)}) 的值也是確定的而不是變數,那麼對上式極大化等價求解對下面式子的極大化
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}…

Q函式

1540633799099

EM演算法

1540633951648

1540634136349

1540634346383

EM演算法解釋

1540634609480

1540634779544

9.1.3 EM演算法在非監督學習中的應用

1540634917442

9.2 EM演算法的收斂性

這一部分原書講的比較詳細,不畫蛇添足,貼上來。

1540634901751

1540635377338

1540635519121

三硬幣例子解析

前文講到拋硬幣的例子,現在重新詳細推導一下三硬幣這個例子。

1540635774989

jj 是訓練集中的資料編號,實際上書上這裡求得是
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ P(Z|y_j,\theta…
前文已知Q函式:
Q(θ,θ(i))=ZP(ZY,θ(i))logP(Y,Zθ) Q(\theta, \theta^{(i)})=\sum\limits_{Z}P(Z|Y, \theta^{(i)})\mathrm{log}P(Y,Z|\theta)

第一步求期望

即求Q函式
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ Q(\theta, \the…

第二步極大化Q函式

KaTeX parse error: No such environment: align at position 7: \begin{̲a̲l̲i̲g̲n̲}̲ \theta^{(i+1)}… 用微積分求解最大值,先求導數為0點(為了求導方便另對數的底數為e,即認為此處對數函式為自然對數):
Q(θ,θ(i))π=j=1N{μj(i+1)ln[πpyj(1p)1yj]+(1μj(i+1))ln[(1π)qyj(1q)1yj]π}=j=1N{μj(i+1)pyj(1p)1yjπpyj(1p)1yj+(1μj(i+1))qyj(1q)1yj(1π)qyj(1q)1yj}=j=1N{μj(i+1)ππ(1π)}=(j=1Nμj(i+1))nππ(1π) \begin{aligned} \frac{\partial Q(\theta,\theta^{(i)})}{\partial \pi}&=\sum_{j=1}^N\{\frac{\mu_{j}^{(i+1)}\ln [\pi p^{y_j}(1-p)^{1-y_j}]+(1-\mu_{j}^{(i+1)})\ln [(1-\pi )q^{y_j}(1-q)^{1-y_j}] }{\partial \pi}\}\\&=\sum_{j=1}^N\{ \mu_{j}^{(i+1)}\frac{p^{y_j}(1-p)^{1-y_j}}{\pi p^{y_j}(1-p)^{1-y_j}}+(1-\mu_{j}^{(i+1)})\frac{-q^{y_j}(1-q)^{1-y_j}}{(1-\pi )q^{y_j}(1-q)^{1-y_j}} \}\\&=\sum_{j=1}^N\{ \frac{\mu_{j}^{(i+1)}-\pi }{\pi (1-\pi)}\}\\&=\frac{(\sum_{j=1}^N\mu_{j}^{(i+1)})-n\pi }{\pi (1-\pi)} \end{aligned}