1 算法定位与基本直觉

1.1 从“缺失数据/隐变量”到“可迭代估计”

EM 算法适用于这样一类统计建模问题:观测到的数据不完整,或模型中包含不可直接观测的组成部分(隐变量)。常见情形包括:类别标签未知、状态序列不可见、某些因子或中间量缺失等。EM 的基本策略是把“难以直接优化的观测数据目标”,改写成“在当前估计下易于处理的期望问题”,从而通过迭代逐步逼近更好的参数。

在直觉层面,E 步相当于“在当前模型猜测下,估算缺失部分可能是什么”;M 步则是“把这些猜测按概率加权,重新估计模型参数”。因此它尤其适合那些“如果隐变量已知就能有较好估计”的模型。

1.2 与直接极大似然的关系

极大似然估计通常要最大化观测数据的对数似然。对含隐变量的模型而言,观测对数似然往往需要对隐变量求和或积分,这会让目标函数包含不易处理的结构,直接优化可能不稳定或计算代价高。

EM 并不放弃极大似然思想,而是通过构造下界或等价的优化准则,将“观测数据似然最大化”转化为“每步都在更容易的函数上做最大化”。在满足常见条件时,EM 每次迭代不会降低目标函数对应的准则值,从而形成可追踪的优化过程。

1.3 为什么需要 E 步与 M 步

E 步与 M 步的必要性来自“期望与极值的分离”。观测对数似然的难点在于隐变量带来的边缘化运算。EM 的做法是先固定当前参数,计算隐变量在该参数下的条件期望(或分布),把隐变量的影响“平均化”;随后在这个期望意义下更新参数,使得模型与数据更匹配。

这种两步交替的结构使得:一方面,每步都能得到相对明确的更新方向;另一方面,整体目标可以在理论上实现单调改进或至少不劣化(取决于具体设定与算法变体)。

2 数学形式化

2.1 观测数据与隐变量的建模

设观测数据为 \(X\),隐变量为 \(Z\)。在参数为 \(\theta\) 的概率模型下,联合分布可表示为 \[ p(X,Z\mid \theta). \] 观测数据的边缘分布通过对隐变量的求和/积分得到: \[ p(X\mid \theta)=\sum_Z p(X,Z\mid \theta)\quad (\text{离散 }Z), \] 或 \[ p(X\mid \theta)=\int p(X,Z\mid \theta)\,dZ\quad (\text{连续 }Z). \] EM 的任务是寻找使 \(p(X\mid \theta)\) 最大的参数 \(\theta\)。

为简化表述,下文可把“求和或积分”统称为对隐变量的边缘化运算。

2.2 对数似然与目标函数

观测对数似然为 \[ \log p(X\mid \theta). \] 在最大似然框架中,EM 旨在寻找使该量尽可能大的 \(\theta\)。由于 \(\log p(X\mid \theta)\) 含有对隐变量的边缘化,直接最大化通常困难;EM 通过引入“在当前参数下的隐变量分布”,把优化拆解成更可行的步骤。

若有独立同分布样本 \(\{x_n\}_{n=1}^N\),则常把对数似然写为各样本的求和。

2.3 完全数据对数似然 complete-data log-likelihood

如果把观测数据与隐变量都视作“完整数据”,则完全数据对数似然为 \[ \log p(X,Z\mid \theta). \] 注意:完全数据并未直接观测到,但该函数在很多模型中具有良好结构,使得在隐变量已知时参数估计可以有闭式解或较简单的数值解。

EM 的思想可以理解为:在每轮迭代中,以“隐变量的条件分布”为权重,把完全数据对数似然的影响进行期望化,从而得到可优化的目标。

2.4 条件期望的定义与计算框架

设当前参数估计为 \(\theta^{(t)}\)。EM 在 E 步计算隐变量的条件分布: \[ p(Z\mid X,\theta^{(t)}). \] 随后定义 \[ Q(\theta\mid \theta^{(t)})=\mathbb{E}_{Z\sim p(Z\mid X,\theta^{(t)})}\left[\log p(X,Z\mid \theta)\right]. \] 这里的 \(Q\) 函数是“在旧参数下,完全数据对数似然对隐变量的条件期望”。M 步将利用 \(Q(\theta\mid \theta^{(t)})\) 来更新参数。

在具体模型中,E 步要么涉及对离散隐变量的求和,要么涉及对连续隐变量的积分;若隐变量维度很高,也可能需要进一步近似或使用特定结构进行简化。

3 EM 算法流程

3.1 初始化:参数起点与可行性检查

EM 是迭代算法,对初值较为敏感。通常需要给出初始参数 \(\theta^{(0)}\),并确保其满足模型的基本约束,例如概率参数归一性、协方差矩阵正定性、尺度或正性要求等。

实践中常用多起点策略:例如用随机初始化、用聚类结果作为初值、或结合先验估计来构造起点,以降低落入不良局部最优的概率。

3.2 E 步:期望计算(Q 函数)

给定 \(\theta^{(t)}\),E 步计算 \[ Q(\theta\mid \theta^{(t)})=\mathbb{E}_{Z\mid X,\theta^{(t)}}[\log p(X,Z\mid \theta)]. \] 若隐变量离散,常见计算形式是用后验概率作为权重: \[ Q(\theta\mid \theta^{(t)})=\sum_Z p(Z\mid X,\theta^{(t)})\log p(X,Z\mid \theta). \] 若隐变量连续,则用积分: \[ Q(\theta\mid \theta^{(t)})=\int p(Z\mid X,\theta^{(t)})\log p(X,Z\mid \theta)\,dZ. \] 在结构合适的模型中,E 步会归结为若干“足够统计量”的期望。

3.3 M 步:参数更新(最大化 Q)

M 步选择使 \(Q(\theta\mid \theta^{(t)})\) 最大的参数: \[ \theta^{(t+1)}=\arg\max_\theta Q(\theta\mid \theta^{(t)}). \] 在许多经典模型(如高斯混合)中,M 步可以得到闭式更新;在其他模型中,可能需要数值优化或求解方程组。关键是:M 步至少应保证提高(或不降低)对应的优化准则,在标准 EM 下通常是最大化 \(Q\)。

3.4 终止准则:迭代次数阈值收敛判定

常见终止条件包括:

  1. 达到最大迭代次数;
  2. 目标函数(如观测对数似然)相对增益低于阈值;
3. 参数变化量 \(\|\theta^{(t+1)}-\theta^{(t)}\|\) 小于阈值;
  1. 梯度或某种一阶/二阶指标满足停机条件(较少在通用实现中使用)。

工程实践中通常优先监控对数似然的变化,因为它与优化目标直接相关;但在计算代价高时,也可使用 \(Q\) 或其下界作为替代指标。

4 收敛性与性质

4.1 单调性:似然不下降的直觉来源

在经典 EM 的设置下,如果 E 步与 M 步都遵循定义方式(E 步计算精确的条件期望,M 步对 \(Q\) 做真正最大化),则观测对数似然通常满足“迭代不下降”的性质。

直觉上可以理解为:每一轮迭代都在构造的辅助函数下做改进,使得新的参数在旧参数的“隐变量平均意义”下更好;同时该改进能传递回观测数据似然的提升。形式证明通常依赖于条件期望与对数函数凸性/不等式结构。

4.2 收敛到固定点与局部最优

EM 收敛的理论表述往往是:迭代序列 \(\theta^{(t)}\) 在极限处满足某种固定点条件,等价于在当前点的更新映射不再产生改进。由于目标函数可能非凸,固定点不一定是全局最优,更多时候对应局部极大值、鞍点或停滞点。

因此,EM 的“结果好不好”在很大程度上取决于初始化以及模型本身的可辨识性与正则化设定。

4.3 停滞与慢收敛:常见原因

EM 可能出现缓慢的收敛,尤其在某些参数方向上曲率较平坦或存在强相关结构时更明显。常见原因包括:

  • 隐变量后验分布在相邻迭代间变化很小,导致参数更新幅度逐渐缩小;
  • 模型存在重叠成分、可辨识性差,导致“多个参数组合同样解释数据”;
  • 参数约束或数值问题(例如协方差接近奇异)限制了有效更新。

在这些情形下,提升收敛速度往往需要更合理的初始化、正则化、或采用加速型变体。

4.4 与变分视角/下界(ELBO)的联系

从变分推断角度,EM 可被视为一种“坐标上升”的过程:在给定当前参数时,先固定某个分布(隐变量的后验形式),再更新参数以最大化与似然相关的下界。ELBO(证据下界)常被用来解释这种优化结构。

在这种视角下,E 步对应于选择合适的分布以紧化下界,而 M 步对应于在该下界上优化参数。标准 EM 在其经典设定下可理解为在该框架中采取了特定选择,使得下界与真实对数似然在某种意义下达到一致或足够紧。

4.5 单调改进的条件与例外情形

单调性结论通常依赖多个条件:如 E 步计算的是精确的期望(或至少使下界确实上升)、M 步确实提升了对应的辅助函数,以及参数更新满足模型约束且不会引发数值崩溃。

当使用近似 E 步(例如数值积分误差、截断求和)、近似 M 步(例如只做了若干次梯度步而非完全最大化)、或在实现中出现不稳定的“非可行更新”时,单调性可能被破坏。此时更稳妥的做法是监控实际对数似然,并在需要时回退或调整更新策略。

5 典型应用场景

5.1 高斯混合模型(GMM)

高斯混合模型假设数据由多个高斯分量按权重混合生成。观测样本 \(x\) 的来源类别可视为隐变量。E 步计算每个样本属于各高斯分量的后验概率,M 步基于这些后验概率更新均值、协方差与混合权重。

GMM 是 EM 的代表性应用之一,因为模型结构使得 E 步后验概率与 M 步更新往往有较清晰的形式,从而展示了 EM 的典型“软分配”特征。

5.2 隐马尔可夫模型(HMM)

在隐马尔可夫模型中,隐变量表示状态序列,观测为由状态驱动生成的观测序列。EM 用于在未知状态与未知转移/发射参数时估计模型参数。

E 步通常通过前向-后向算法得到状态与转移的后验期望(如单点边缘后验与二点转移后验)。M 步则据此更新初始状态分布、状态转移概率与发射参数。由于状态序列具有时序依赖,EM 的高效实现依赖专门的动态规划结构。

5.3 混合回归与因子化模型

混合回归把“回归系数来自不同组件”的思想引入到预测问题中。隐变量可表示选择哪条回归规则或哪组潜在因子。EM 在这种情形下可以在“选择概率”与“回归参数估计”之间交替迭代,从而处理数据中存在的异质性。

因子化模型(例如带潜在因子的生成模型或分解结构)也常用 EM:E 步计算潜变量的期望,M 步据此更新与观测生成相关的参数。

5.4 缺失数据补全与鲁棒估计

当部分特征缺失,或观测过程中存在随机缺失机制时,隐变量可被视为缺失条目的替代表示。EM 通过在当前参数下估算缺失值的条件分布,再更新完整数据下的参数,达到“以概率方式补全并学习”的目的。

若与稳健损失或重尾分布结合,EM 还能用于鲁棒估计,例如通过引入额外隐变量来刻画离群点影响,从而在一定程度上减少极端值带来的偏移。

5.5 贝叶斯扩展:EM 与变分推断的交界

在贝叶斯框架中,参数也可以带有先验,并对后验分布进行推断。此时“纯 EM”可能需要扩展为带先验的版本(例如 MAP 估计变体),或转向变分推断/EM-变分混合方法。

交界点在于:当隐变量与参数都以概率形式被处理时,E 步与 M 步的边界可能与变分目标(下界)融合。实践中常见做法是用近似后验来替代精确条件期望,并保持迭代的下界提升特性。

6 计算与实现要点

6.1 E 步的积分/求和策略(闭式与数值)

实现 E 步的关键在于如何计算条件期望。若模型提供闭式解,直接代入公式即可;若隐变量较复杂,可能需要数值积分、蒙特卡洛估计或采用特定近似(如截断分布范围、离散化积分变量等)。

在数值近似场景中,误差会影响单调性和收敛行为,因此常需要额外的误差控制策略或使用更稳定的变体(例如保证下界提升的算法)。

6.2 M 步的更新公式:从封闭解到数值优化

M 步通常需要解一个最大化问题。对许多经典分布族(如指数族模型)而言,M 步可通过“足够统计量”直接更新参数;但在更一般模型或带复杂约束情形中,可能需要进行数值优化。

若采用数值方法,应确保更新结果满足约束(例如协方差必须正定、概率权重非负且归一)。否则可能导致后验计算中的对数项出现无穷或 NaN,从而破坏迭代。

6.3 数值稳定性(对数空间、归一化)

由于 EM 中普遍存在对数概率与指数权重,数值稳定性非常重要。常见措施包括:

  • 在计算后验概率时使用对数空间的“log-sum-exp”技巧,避免下溢/上溢;
  • 对权重进行归一化,防止累积误差;
  • 在协方差或方差参数上加入下界(如加小的正则项),避免奇异。

6.4 复杂度分析与工程加速

EM 的时间与空间开销取决于隐变量的结构与维度。以常见模型为例:

  • GMM:E 步通常与样本数和分量数的乘积相关;
  • HMM:E 步与序列长度、状态数以及转移结构相关,依赖动态规划实现;
  • 高维因子模型:可能需要处理矩阵运算或高维积分近似。

工程上可通过向量化、并行计算、缓存中间结果(例如动态规划的中间量)和减少重复对数运算来加速。同时,适度的批处理与在线更新也能在大数据场景降低单次迭代成本。

6.5 初始化策略:多起点与启发式

初始化影响收敛速度与最终质量。常见做法包括:

  • 多起点运行并选择对数似然最高者;
  • 使用简单聚类方法(例如 k-means)得到分量的初始中心;
  • 对混合权重采用均匀或基于数据统计的初值;
  • 对方差/协方差用数据经验估计并加入正则以防奇异。

对于较复杂模型,启发式初始化往往比随机初始化更可靠,但也需要结合模型约束与规模调整。

7 常见变体与扩展

7.1 分类 EM(CEM)与硬分配近似

分类 EM 把软分配的后验概率替换为硬分配:即每个样本选择最可能的隐变量状态/类别,然后按硬标签进行参数更新。这能降低计算复杂度,并在某些场景下更接近“聚类 + 估计”的直观流程。

但硬化会使目标的优化更粗糙,可能带来更明显的不稳定或更差的似然表现;因此需要结合任务需求权衡。

7.2 广义 EM(GEM)与近似 M 步

广义 EM 放宽了 M 步的要求:不必严格最大化 \(Q(\theta\mid \theta^{(t)})\),只要在每轮迭代中让辅助函数不下降即可。这样可以在 M 步难以求解或只能进行部分优化(例如少量梯度步)时保持某种改进性质。

这类变体在复杂模型和约束较强的场景中更实用。

7.3 乘子/约束 EM(带约束参数更新)

当参数需要满足额外约束(如线性约束、范数约束、结构稀疏性等),可以在 M 步中使用拉格朗日乘子或投影方法来构造满足约束的更新规则。

这使得 EM 能覆盖更广的模型族,但也可能提高实现难度,并需要额外监控约束是否被严格满足。

7.4 在线 EM 与小批量更新

在线 EM 适用于数据流或超大规模数据。其思想是使用小批量(mini-batch)近似 E 步与/或 M 步,使得每次迭代的计算成本较低,并随着新数据到来持续更新参数。

由于批量近似会引入噪声,收敛性与稳定性通常需要更谨慎的学习率或权重衰减设计;实践上也常配合随机近似策略。

7.5 ECM(Expectation-Conditional Maximization)

ECM 把 M 步进一步拆分:在一个大轮次中,分多个条件最大化步骤分别更新不同参数块。例如固定部分参数,只在另一组参数上最大化对应的 \(Q\) 或其条件版本。

这种结构在“同时最大化很难、分块最大化容易”时特别有效,也能提升数值求解的可行性。

7.6 SAEM(随机近似 EM)

SAEM(随机近似 EM)使用随机采样替代精确期望计算,例如用隐变量的采样来近似 E 步。它常用于隐变量分布难以解析计算或维度很高的模型。

随机性会影响轨迹,因此通常需要配合步长序列或退火策略来保证渐近性质或较稳定的表现。

8 评估与诊断

8.1 选择指标:似然、BIC/AIC 与预测性能

评估 EM 结果时通常不仅看训练对数似然,还会考虑:

  • BIC/AIC:用于在模型复杂度与拟合度间做折中,常用于选择隐变量维度、分量数等;
  • 预测性能:在具备下游任务(分类、回归、补全)时,用验证集或交叉验证指标衡量泛化。

需要注意,不同指标可能导致不同的“最优模型”,因此选择标准应与任务目标一致。

8.2 收敛轨迹分析:是否“卡住”

如果对数似然在早期提升很快,随后长时间几乎不变,可能意味着进入局部固定点或出现停滞。诊断方式包括:

  • 观察每轮提升幅度是否持续变小;
  • 检查参数是否出现“几乎不更新”的现象;
  • 对比不同初始化的轨迹,判断是否普遍卡住或仅个别起点失败。

在模型或数据存在退化情形(例如某个分量吸收了极少数据并导致参数不稳定)时,轨迹也可能表现异常。

8.3 灵敏度分析:初始化与超参数影响

EM 的结果对初始化敏感,因此常进行多起点对比:记录最终似然、收敛速度与方差参数是否稳定。若模型含有正则项或约束(例如协方差下界),也应评估其影响范围。

敏感性过强通常提示模型可辨识性不足或需要更强约束/正则化。

8.4 模型选择:隐变量数量与正则化

选择隐变量的“规模”(如 GMM 的分量数、HMM 的状态数)是 EM 应用中的关键决策。可以结合信息准则(BIC/AIC)与验证集表现进行选择。

若模型存在奇异风险(例如混合模型中某些协方差可能过小导致似然发散),正则化策略常是必要的工程与统计措施,例如对协方差加入先验或下界、对参数施加惩罚项等。

8.5 失败案例排查清单(如奇异解)

常见失败或异常包括:

  • 对数似然突然变为 NaN 或 \(-\infty\):通常与数值稳定性或参数不可行有关;
  • 协方差矩阵接近奇异:可在 M 步加入正则、限制最小方差;
  • 某些分量权重趋近于零:可能需要调整初始化、加入权重平滑或重新建模;
  • 收敛到明显不合理的参数:可能是局部最优或初始化不佳,可尝试多起点或改进初始策略。

对于每次异常,应同时检查 E 步的后验计算是否稳定、M 步更新是否满足约束以及终止准则是否合理。

9 梗与经验法则(轻量)

9.1 “EM 像先做功课再考试”:E 步与 M 步的比喻

E 步可以被形容为“先按当前答案猜一猜题目里隐藏的条件”,把不确定部分写成概率分布;M 步则是“拿着这些猜测当作评分依据,重新整理自己的解题思路(参数)”。循环往复,直到改动不大。

9.2 局部最优的“请多次重启”口令

当你发现不同初始化得到的最终似然差距明显,往往说明存在多个吸引域。经验上可以用多次重启提升成功率:每次跑到收敛后比较目标指标,选最好的那组参数。

9.3 收敛慢时的“耐心但也要换药”:经验建议

如果对数似然更新幅度长期很小,可以考虑:

  • 换更好的初始化;
  • 加入合理正则或参数下界以改善数值形态;
  • 使用更强的变体(例如更接近“广义 EM”的近似 M 步策略或分块最大化);
  • 或者在工程上接受更长迭代,同时监控是否只是进入“慢慢磨”的阶段。