先備知識
- 混合模型 (Mixture Models):理解機率密度如何表示為分量密度的加權和。
- 指數分佈 (Exponential Distribution):機率密度函數 (PDF) 為 p(x∣λ)=λe−λx。
- 最大概似估計 (MLE):尋找使概似函數最大化的參數值。
- 期望最大化 (EM) 演算法:一種迭代方法,用於在統計模型(特別是具有隱變量的模型)中尋找參數的 MLE 或 MAP 估計值。
- 延森不等式 (Jensen's Inequality):用於推導 EM 演算法的下界。
- 拉格朗日乘數法 (Lagrange Multipliers):用於約束優化(特別是用於 ∑πj=1)。
逐步推導
1. 模型設定與完整數據概似函數
設觀測數據為 X={x1,…,xn}。
我們引入隱變量 (Latent Variables) Z={z1,…,zn},其中 zi∈{1,…,K} 表示哪個分量生成了 xi。
使用 1-of-K 編碼方案,若 xi 屬於分量 j,則 zij=1,否則為 0。
完整數據概似函數 (Complete Data Likelihood) 為:
P(X,Z∣θ)=i=1∏nj=1∏K[πjp(xi∣λj)]zij
完整數據對數概似函數 (Complete Data Log-Likelihood) 為:
lnP(X,Z∣θ)=i=1∑nj=1∑Kzij(lnπj+ln(λje−λjxi))
lnP(X,Z∣θ)=i=1∑nj=1∑Kzij(lnπj+lnλj−λjxi)
2. E 步驟 (期望 Expectation)
我們計算在給定當前參數 θ(t) 下,隱變量 zij 的期望值。這即是數據點 xi 由分量 j 生成的後驗機率 (Responsibility):
γij(t)=E[zij∣xi,θ(t)]=P(zi=j∣xi,θ(t))
利用貝氏定理:
γij(t)=∑k=1Kπk(t)p(xi∣λk(t))πj(t)p(xi∣λj(t))
代入指數密度函數:
γij(t)=∑k=1Kπk(t)λk(t)e−λk(t)xiπj(t)λj(t)e−λj(t)xi
3. M 步驟 (最大化 Maximization)
我們針對參數 θ={πj,λj} 最大化期望完整數據對數概似函數 (Q 函數)。
Q 函數為:
Q(θ,θ(t))=EZ[lnP(X,Z∣θ)∣X,θ(t)]=i=1∑nj=1∑Kγij(t)(lnπj+lnλj−λjxi)
針對 πj 優化
我們需要最大化 ∑i=1n∑j=1Kγij(t)lnπj,並受限於 ∑j=1Kπj=1。
使用拉格朗日乘數法,拉格朗日函數為:
L(π,α)=i=1∑nj=1∑Kγij(t)lnπj+α(j=1∑Kπj−1)
對 πj 微分並設為 0:
∂πj∂L=i=1∑nπjγij(t)+α=0⟹πj=−α∑i=1nγij(t)
對 j 求和:
j=1∑Kπj=−α∑i=1n∑j=1Kγij(t)⟹1=−αn⟹α=−n
因此:
πj(t+1)=n1i=1∑nγij(t)
針對 λj 優化
我們考慮 Q 函數中包含 λj 的項:
Qλj=i=1∑nγij(t)(lnλj−λjxi)
對 λj 微分並設為 0:
∂λj∂Q=i=1∑nγij(t)(λj1−xi)=0
λj1i=1∑nγij(t)=i=1∑nγij(t)xi
λj(t+1)=∑i=1nγij(t)xi∑i=1nγij(t)
最終 EM 演算法
- 初始化:選擇 πj(0) 和 λj(0) 的初始值。
- E 步驟:計算責任值 (Responsibilities):
γij(t)=∑k=1Kπk(t)λk(t)e−λk(t)xiπj(t)λj(t)e−λj(t)xi
- M 步驟:更新參數:
πj(t+1)=n1i=1∑nγij(t)
λj(t+1)=∑i=1nγij(t)xi∑i=1nγij(t)
- 迭代:重複步驟 2 和 3 直到收斂。