Skip to content

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