ARTICLE

EM算法

EM算法 (Expectation-Maximization Algorithm) EM算法(Expectation-Maximization Algorithm),即期望最大化算法,是一种在统计学和机器学习中用于寻找概率模型参数的最大似然估计(MLE)或最大后验概率估计(MAP)的迭代算法。它主要用于解决包含隐变量或缺失数据的模型参数估计问题——在这些情况

浏览 230 更新 2025-12-08

EM算法 (Expectation-Maximization Algorithm)

EM算法(Expectation-Maximization Algorithm),即期望最大化算法,是一种在统计学机器学习中用于寻找概率模型参数的最大似然估计(MLE)或最大后验概率估计(MAP)的迭代算法。它主要用于解决包含隐变量或缺失数据的模型参数估计问题——在这些情况下,直接通过解析方法最大化似然函数通常非常困难甚至不可行。该算法在1977年由Dempster、Laird和Rubin正式提出并系统化,是处理高斯混合模型(GMM)和隐马尔可夫模型(HMM)等复杂模型的基石。

核心动机与算法流程

在含隐变量ZZ的模型中,需最大化的对数似然为L(θ)=lnP(Xθ)=lnZP(X,Zθ)L(\theta) = \ln P(X|\theta) = \ln \sum_Z P(X, Z|\theta)。对数包含在求和符号外导致直接求导极其复杂。EM算法的核心思想是:既然直接优化困难,就构造一个较容易优化的下界,通过不断提高下界来间接提高似然函数值。

EM算法从初始猜测参数θ(0)\theta^{(0)}开始,重复执行以下两步直到收敛。

E步(Expectation Step):固定当前参数θ(t)\theta^{(t)},计算隐变量在给定观测数据和当前参数下的后验分布P(ZX,θ(t))P(Z|X, \theta^{(t)})。利用此后验分布计算完整数据对数似然关于隐变量的数学期望——即Q函数:Q(θ,θ(t))=EZX,θ(t)[lnP(X,Zθ)]Q(\theta, \theta^{(t)}) = E_{Z|X,\theta^{(t)}}[\ln P(X, Z|\theta)]。E步的本质是用当前参数去"猜测"隐变量分布并构建待优化目标函数。

M步(Maximization Step):寻找使Q函数最大化的新参数θ(t+1)=argmaxθQ(θ,θ(t))\theta^{(t+1)} = \operatorname{argmax}_\theta Q(\theta, \theta^{(t)})。M步的本质是假设E步对隐变量的猜测正确,用标准极大似然估计更新参数。重复E步和M步直至似然函数增量或参数变化量小于阈值ϵ\epsilon

数学原理与应用

EM算法的有效性基于一个优雅的不等式推导。利用詹森不等式可证明:每次迭代中观测数据对数似然L(θ)L(\theta)的增量不亚于Q函数的增量,即L(θ(t+1))L(θ(t))Q(θ(t+1),θ(t))Q(θ(t),θ(t))L(\theta^{(t+1)}) - L(\theta^{(t)}) \ge Q(\theta^{(t+1)}, \theta^{(t)}) - Q(\theta^{(t)}, \theta^{(t)})。由于M步确保θ(t+1)\theta^{(t+1)}最大化Q函数,右边非负保证了似然函数单调不减——EM算法在多轮迭代中稳步提升似然值。这一性质是EM收敛性的核心保障。

EM算法的关键优势在于:将复杂的"对数内求和"优化问题分解为两个相对简单的子问题——E步计算后验期望(通常是闭式或易求),M步变成标准的完整数据极大似然估计(通常有解析解)。EM算法在多个领域有广泛应用——在高斯混合模型中通过EM估计各组分的均值、方差和混合权重;在隐马尔可夫模型(HMM)的参数学习中运用前向-后向算法高效计算E步所需的期望;在缺失数据问题中通过将缺失值视为隐变量进行填补和参数估计的联合迭代;在因子分析、聚类和主题模型(如LDA)等无监督学习方法中作为核心优化引擎。需注意EM算法可能收敛至局部极大值而非全局最优,实际使用中通常需多起点运行或结合其他启发式策略。