期望最大化(EM)算法的原理与计算过程
字数 1152 2025-10-30 08:32:20
期望最大化(EM)算法的原理与计算过程
题目描述
期望最大化(Expectation-Maximization, EM)算法是一种迭代优化策略,用于估计概率模型参数,尤其适用于含有隐变量(latent variables)或缺失数据的不完整数据集。其核心思想是通过交替执行两步:E步(期望步)计算隐变量的条件概率期望,M步(最大化步)基于E步的结果更新模型参数,直至收敛。典型应用包括高斯混合模型(GMM)的参数估计、隐马尔可夫模型(HMM)的训练等。
解题过程
-
问题定义
- 设观测数据为 \(X = \{x_1, x_2, ..., x_n\}\),隐变量为 \(Z = \{z_1, z_2, ..., z_n\}\)(例如GMM中每个样本所属的簇标签)。
- 模型参数为 \(\theta\)(例如GMM中的均值、协方差和混合系数),目标是通过最大化对数似然函数 \(\log P(X|\theta)\) 估计 \(\theta\)。
- 直接优化 \(\log P(X|\theta)\) 困难(因涉及隐变量求和),EM通过优化其下界间接求解。
-
E步(Expectation)
- 固定当前参数 \(\theta^{(t)}\),计算隐变量 \(Z\) 的后验概率 \(P(Z|X, \theta^{(t)})\)。
- 构建完整数据的对数似然函数 \(\log P(X, Z|\theta)\) 关于 \(Z\) 的条件期望(即Q函数):
\[ Q(\theta | \theta^{(t)}) = \mathbb{E}_{Z|X,\theta^{(t)}} [\log P(X, Z|\theta)] \]
- 实际计算中,通常对每个样本 \(x_i\) 计算隐变量 \(z_i\) 的期望(如GMM中样本属于各高斯分量的概率)。
- M步(Maximization)
- 固定Q函数,更新参数 \(\theta\) 以最大化Q函数:
\[ \theta^{(t+1)} = \arg\max_{\theta} Q(\theta | \theta^{(t)}) \]
- 例如在GMM中,M步根据E步得到的样本归属概率重新计算各高斯分量的均值、协方差和混合系数。
- 收敛判断
- 重复E步和M步,直到参数变化小于阈值或对数似然 \(\log P(X|\theta)\) 的变化趋于稳定。
- EM算法保证每次迭代后对数似然不会下降(单调收敛),但可能收敛到局部最优。
关键点
- EM通过引入隐变量简化优化,E步“补全”数据,M步“修正”参数。
- 适用于生成模型,需已知隐变量的结构(如GMM的簇数量)。
- 初始参数敏感,常需多次随机初始化以避免局部最优。