张芷铭的个人博客

EM 算法解决具有隐变量的混合模型参数估计,通过迭代最大化期望对数似然,每步似然单调递增。

问题设定

$$\theta_{MLE}=\mathop{argmax}_\theta\log p(x|\theta)$$

迭代公式:

$$\theta^{t+1}=\mathop{argmax}\theta\mathbb{E}{z|x,\theta^t}[\log p(x,z|\theta)]$$

两步迭代

步骤操作
E-step计算 $\log p(x,z
M-step最大化期望得到新参数

收敛性证明

$$\log p(x|\theta)=Q(\theta,\theta^t)-H(\theta,\theta^t)$$

由于 $Q(\theta^{t+1},\theta^t)\ge Q(\theta^t,\theta^t)$ 且 $H(\theta^{t+1},\theta^t)\le H(\theta^t,\theta^t)$,有:

$$\log p(x|\theta^t)\le\log p(x|\theta^{t+1})$$

ELBO 推导

$$\log p(x|\theta)=ELBO+KL(q(z),p(z|x,\theta))$$

$$ELBO=\int_zq(z)\log\frac{p(x,z|\theta)}{q(z)}dz$$

EM 算法最大化 ELBO,当 $q(z)=p(z|x,\theta)$ 时取等号。

广义 EM

当后验 $p(z|x,\theta)$ 无法解析求解时:

E-step: $\hat{q}^{t+1}(z)=\mathop{argmax}_q ELBO$(固定 $\theta$)

M-step: $\hat{\theta}=\mathop{argmax}_\theta ELBO$(固定 $q$)

$$ELBO=\mathbb{E}_{q(z)}[p(x,z|\theta)]+Entropy(q(z))$$

EM 推广

方法适用场景
VBEM基于平均场的变分推断
MCEM基于蒙特卡洛的 EM

Comments