- 期望最大化演算法 (Expectation-Maximization Algorithm, EM): 一種迭代方法,用於在統計模型(尤其是模型依賴於未觀察到的隱藏變量時)找出參數的最大概似估計 (Maximum Likelihood Estimates)。
- 卜瓦松分佈 (Poisson Distribution): 一種離散機率分佈,表示在固定時間間隔或空間內發生特定事件次數的機率。
- 完整資料對數概似函數 (Complete-Data Log-Likelihood): 將觀察到的變量和未觀察到的隱藏變量結合構造出的對數概似函數。
逐步推導 (Step-by-Step Derivation)
令 X={x1,…,xn} 為我們的觀測集合,其中每一個 xi∈{0,1,2,…}。
令 Z={z1,…,zn} 為未觀察到的隱藏變量 (Latent variables / cluster assignments),其中 zi∈{1,…,K} 指示 xi 是由哪一個卜瓦松分量生成的。
隱藏變量的機率由混合權重定義:p(zi=j)=πj,且 ∑j=1Kπj=1。
給定樣本來自於分量 j 之下,觀測值 xi 的機率為:
p(xi∣zi=j,θ)=xi!e−λjλjxi
一個觀測值 (xi,zi) 的完整資料對數概似函數為:
logp(xi,zi=j∣θ)=log(p(zi=j)p(xi∣zi=j,θ))=logπj−λj+xilogλj−log(xi!)
因此,所有 n 個樣本的總完整資料對數概似函數,通常使用指標函數 (Indicator function) I(zi=j) 來表示:
Lc(θ)=∑i=1n∑j=1KI(zi=j)(logπj−λj+xilogλj−log(xi!))
1. E 步 (E-step, Expectation)
在 E 步中,我們計算給定目前參數估計值 θ(t) 和觀測值之下,隱藏變量 Z 的後驗分佈對完整資料對數概似函數的期望值。
這相當於對指標變量 I(zi=j) 取期望值,這將得到後驗責任值 (Posterior responsibilities) γij:
γij=p(zi=j∣xi,θ(t))=∑m=1Kp(zi=m∣θ(t))p(xi∣zi=m,θ(t))p(zi=j∣θ(t))p(xi∣zi=j,θ(t))
代入卜瓦松密度函數:
γij(t)=∑m=1Kπm(t)xi!e−λm(t)(λm(t))xiπj(t)xi!e−λj(t)(λj(t))xi=∑m=1Kπm(t)e−λm(t)(λm(t))xiπj(t)e−λj(t)(λj(t))xi
我們獲得在下一步要最大化的輔助函數 (Auxiliary function) Q(θ,θ(t)):
Q(θ,θ(t))=∑i=1n∑j=1Kγij(t)(logπj−λj+xilogλj−log(xi!))
2. M 步 (M-step, Maximization)
在 M 步中,我們相對於參數 θ=(π,λ) 最大化 Q(θ,θ(t))。
最大化 πj (混合比例 Mixing proportions):
我們使用拉格朗日乘數 (Lagrange multiplier) 來強制滿足 ∑j=1Kπj=1 的約束條件:
L(π,α)=∑i=1n∑j=1Kγij(t)logπj+α(1−∑j=1Kπj)
對 πj 取導數並設為零:
∂πj∂L(π,α)=πj∑i=1nγij(t)−α=0⟹πj=α1∑i=1nγij(t)
對所有的 j 加總,可得 α=n。令 Nj=∑i=1nγij(t) 為預期被分配到分量 j 的樣本數。更新規則為:
πj(t+1)=nNj
最大化 λj (卜瓦松率 Poisson rates):
我們分離 Q 函數中包含 λj 的項,並對 λj 取導數:
∂λj∂Q=∑i=1nγij(t)(−1+λjxi)=0
重排表達式以求解 λj:
∑i=1nγij(t)=∑i=1nγij(t)λjxi
Nj=λj1∑i=1nγij(t)xi⟹λj(t+1)=Nj∑i=1nγij(t)xi
與單一卜瓦松的 MLE 的關聯
對於單一卜瓦松分佈的標準最大概似估計 (ML estimate)(第 2.1 題),更新規則為 λ=n1∑i=1nxi(資料的算術平均數)。
在這裡的 M 步中,更新規則 λj(t+1)=∑i=1nγij(t)∑i=1nγij(t)xi 實質上是一個加權的最大概似估計 (Weighted ML estimate)。相對於將每個資料點平等對待(權重為 1),這裡每個樣本觀測值 xi 僅以其責任值 γij 的比例對分量 j 做出貢獻。總權重之和 Nj 替代了全體的樣本總量 n。