EM Algorithm
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、因子分析
- 变分推断中的坐标上升
Related
- [[gaussian-distribution]] — GMM 中每个组件都是高斯分布
- [[machine-learning-basics]] — 贝叶斯框架下的参数估计思想
- [[vae]] — 变分推断可视为 EM 的随机/近似版本
- [[diffusion-model]] — 扩散模型的训练也可看作一种特殊的 EM
Sources
- EM算法详解与数学推导 — 辉少的博客原文