EM Algorithm

隐变量模型参数估计的迭代算法,通过 E 步和 M 步交替最大化似然下界。

Overview

EM(Expectation-Maximization)算法是处理含隐变量概率模型参数估计的经典方法。当模型中存在无法直接观测的变量时,直接最大化似然函数变得困难(涉及对隐变量的求和/积分)。EM 算法通过迭代构造似然函数的下界并最大化该下界,间接实现似然最大化。

Key Facts / Claims

核心思想

  • 观测变量 $X$,隐变量 $Z$,模型参数 $\theta$
  • 对数似然:$L(\theta) = \log p(X \theta) = \log \sum_Z p(X,Z \theta)$
  • 直接优化困难:log 内部有求和

E 步(Expectation)

  • 基于当前参数 $\theta^{(t)}$,计算隐变量的后验分布 $p(Z X,\theta^{(t)})$
  • 构造 Q 函数:$Q(\theta, \theta^{(t)}) = \mathbb{E}_{Z X,\theta^{(t)}}[\log p(X,Z \theta)]$
  • 物理意义:用当前参数”填补”缺失的隐变量信息

M 步(Maximization)

  • 最大化 Q 函数更新参数:$\theta^{(t+1)} = \arg\max_\theta Q(\theta, \theta^{(t)})$
  • 物理意义:在”完整数据”上做一次标准的极大似然估计

数学推导关键

  • Jensen 不等式:$\log \sum_Z q(Z) \frac{p(X,Z \theta)}{q(Z)} \geq \sum_Z q(Z) \log \frac{p(X,Z \theta)}{q(Z)}$
  • 当 $q(Z) = p(Z X,\theta^{(t)})$ 时,下界在 $\theta = \theta^{(t)}$ 处与真实似然相切
  • 因此每次迭代保证 $L(\theta^{(t+1)}) \geq L(\theta^{(t)})$

收敛性与局限

  • 保证收敛:每次迭代似然不减,收敛到局部极大值
  • 局部最优:对初始值敏感,可能陷入局部最优
  • 收敛速度:通常比梯度下降慢,但每步更稳定

典型应用

  • 高斯混合模型(GMM)参数估计
  • 隐马尔可夫模型(HMM)训练
  • 概率 PCA、因子分析
  • 变分推断中的坐标上升
  • [[gaussian-distribution]] — GMM 中每个组件都是高斯分布
  • [[machine-learning-basics]] — 贝叶斯框架下的参数估计思想
  • [[vae]] — 变分推断可视为 EM 的随机/近似版本
  • [[diffusion-model]] — 扩散模型的训练也可看作一种特殊的 EM

Sources