try ai
科普
编辑
分享
反馈
  • 期望最大化算法

期望最大化算法

SciencePedia玻尔百科
核心要点
  • 期望最大化 (EM) 算法是一种迭代式的两步方法,旨在当数据不完整或存在潜变量时,寻找模型参数的最大似然估计。
  • 它的运作方式是在两个步骤之间交替进行:期望 (E) 步,使用当前参数计算对数似然的期望值;以及最大化 (M) 步,计算使该期望值最大化的新参数。
  • 该算法的收敛性得到保证,因为每次迭代都会最大化一个代理函数 (ELBO),从而确保模型的似然值永不下降。
  • EM 算法有广泛的应用,包括处理医学研究中的缺失数据、解析遗传学和生物信息学中的混合模型,以及估计动态系统中的隐藏状态。
  • 主要局限性包括其可能较慢的线性收敛速度和倾向于陷入局部最优而非全局最优,这使得结果对初始参数的猜测很敏感。

引言

在几乎所有科学和工程领域,我们都面临着信息不完整的挑战。我们收集的数据常常是混乱的,例如病人的医疗记录中存在缺失值,或者数据中包含来自隐藏来源的信号,比如组织样本中来自不同细胞类型的混合基因表达。这些以缺失数据或不可观测的潜变量为特征的场景,使得标准的统计优化方法失效,因为问题的数学描述变得难以处理。当谜题的关键部分被隐藏时,我们如何才能为我们的观测找到最可能的解释呢?

期望最大化 (EM) 算法提供了一种优雅而强大的策略来解决这个问题。它将信息缺失的困难转化为一个结构化的迭代过程。本文将探讨 EM 算法,从其核心逻辑到其广泛影响。在“原理与机制”部分,我们将剖析 E 步和 M 步这两个步骤的交替过程,揭示保证其前进的数学魔力,并探讨其在实践中的局限性。随后,“应用与跨学科联系”部分将展示该算法非凡的通用性,演示它如何被用来填补医疗数据中的空白、揭示遗传学和生态学中的隐藏结构,以及窥探工程和地球物理学中复杂系统的不可见状态。

原理与机制

想象一下你是一名侦探,正在一个令人困惑的事件现场。你有一堆线索——即观测到的数据——但关键目击者却失踪了,或者他们是只能对事件经过提供模糊、概率性描述的幽灵。这就是信息不完整的世界,是科学和工程领域的常见情景。挑战可能是字面意义上的​​缺失数据​​,比如一名患者退出了临床试验,导致其记录不完整。或者,挑战可能更为微妙,涉及​​潜变量​​:我们无法直接观测到的隐藏原因或类别。例如,来自某个组织的生物样本可能包含不同细胞类型的混合物,而一次基因表达的测量结果是所有这些细胞信号的混合。我们看到了最终的混合结果,但不知道哪个信号来自哪种细胞类型。

当谜题最关键的部分缺失时,你该如何解开谜团?直接的方法往往会失败。对我们观测到的线索的数学描述,即我们所说的​​似然函数​​,会变成一团乱麻。它通常涉及一个“和的对数”,这是一种在优化上极其困难的结构。我们需要一种更巧妙、更间接的策略。这时,​​期望最大化 (EM) 算法​​便登场了,它提供了一种极为优雅和强大的策略。

期望-最大化之舞

EM 算法的逻辑是一种优美的自举论证。如果我们知道缺失的信息,找到最佳解释(或模型)将是轻而易举的。反之,如果我们有一个好的模型,我们就能对缺失的信息做出非常有根据的猜测。这启发了一种两步舞,一个通过自身努力不断提升的迭代循环。

  1. ​​期望 (E) 步:​​ 这是“如果”阶段。我们从对模型参数的一个初始猜测开始,称之为 θ\thetaθ。然后,我们转向我们那些“幽灵般”的潜变量 zzz。我们问:“根据我们目前关于事件的理论(参数 θ\thetaθ),你在这个故事中扮演的角色最可能是什么?” 我们不强求一个单一、确定的故事。相反,我们计算期望的故事。这表现为潜变量可能取值的概率分布。对于每一条观测到的线索,我们都为其隐藏的起源描绘了一幅带有概率的图景。

  2. ​​最大化 (M) 步:​​ 现在,我们把从 E 步得到的这个概率性的、“填补完整”的故事当作事实。我们问:“能够最好地解释这个完整故事的模型 (θ\thetaθ) 是什么?” 因为故事现在是完整的,这个最大化问题通常会容易得多。其解为我们提供了一组新的、改进的模型参数 θ(new)\theta^{(new)}θ(new)。

我们重复这个两步舞。从 M 步得到的新参数成为新一轮 E 步的基础,在 E 步中我们重新评估对潜变量的信念。这又会引出新一轮的 M 步。这个 E-M 舞蹈的每一个完整循环都保证会改进我们的模型,或者至少不会让它变得更糟。我们观测到的数据的似然值会随着每次迭代单调增加,这是一个强大的属性,确保我们总是在向着一个更好的解释上山前行。

分离声音:一个具体例子

让我们把这个概念变得更具体一些。想象我们的数据是二维图上的一些点,它们形成了两个重叠的圆形簇。我们假设这些数据是​​两个高斯分布​​(钟形曲线)的​​混合​​,但我们不知道哪个点属于哪个簇。每个数据点 xix_ixi​ 的潜变量是它的真实“身份”——它来自哪个簇。我们的目标是找到这两个簇的参数:它们的中心(μ1,μ2\mu_1, \mu_2μ1​,μ2​)、大小和形状(Σ1,Σ2\Sigma_1, \Sigma_2Σ1​,Σ2​),以及它们的相对比例(π1,π2\pi_1, \pi_2π1​,π2​)。

  • ​​初始化:​​ 我们首先在图上随机放置两个圆。

  • ​​E步:​​ 对于每个数据点 xix_ixi​,我们根据当前圆的位置,计算它属于簇1的概率和属于簇2的概率。一个深处某个圆内的点将有很高的概率(比如0.99)属于该圆。一个位于重叠区域正中的点可能难以判断,其属于每个簇的概率可能都是0.5。这个概率,通常称为​​责任​​(responsibility, γik\gamma_{ik}γik​),是每个点对每个簇的“软”分配。

  • ​​M步:​​ 现在我们更新我们的圆。簇1的新中心 μ1new\mu_1^{\text{new}}μ1new​ 是所有数据点的加权平均,其中每个点的权重是它属于簇1的责任。对簇1“责任更大”的点对其新中心的拉力更强。我们对簇2的中心也做同样的操作,并以类似的加权方式更新它们的大小和比例。

你可以看到这个舞蹈的实际过程。E 步对数据进行“软”聚类。M 步将簇中心移动到其分配点的质心。算法不断重复,你可以看到这些圆在扭动和调整大小,迭代地优化它们对数据的拟合,直到它们稳定下来。

更深层的魔力:通过代理攀登

为什么这个迭代的舞蹈能保证成功?我们真正的目标,即观测数据的对数似然 log⁡p(x∣θ)\log p(x | \theta)logp(x∣θ),是一座我们想要攀登的“山”。但这是一座险峻的山,充满了在数学上难以驾驭的复杂山脊和山谷。

EM 算法的天才之处在于它从不直接攀登这座山。相反,在我们当前的位置 θ(t)\theta^{(t)}θ(t),它构建了一座更简单、更平滑的小山——一个​​代理函数​​——并保证该函数具有两个属性:

  1. 它在我们当前的位置与真实的山相切。
  2. 它在其他任何地方都完全位于真实的山之下。

这个代理函数被称为​​证据下界 (Evidence Lower Bound, ELBO)​​。E 步就是构建这个完美代理函数的行为。它通过将我们对潜变量的猜测 q(z)q(z)q(z) 设置为确切的后验分布 p(z∣x,θ(t))p(z|x, \theta^{(t)})p(z∣x,θ(t)) 来实现。这个选择使得下界在我们当前的位置变得紧致。从另一个角度看,这一步等同于最小化我们猜测的 q(z)q(z)q(z) 与真实后验之间的 Kullback-Leibler (KL) 散度(一种衡量差异的指标),从而有效地使我们的猜测尽可能好。

M 步则变得异常简单:我们只需找到这个代理小山的山顶。由于代理函数是一个下界,攀登它保证了我们也在真实的山上向上走。我们用一系列简单的攀登代替了一次困难的攀登。这就是 EM 算法保证上升的数学灵魂。完整的恒等式 log⁡p(x∣θ)=L(q,θ)+KL(q(z)∣∣p(z∣x,θ))\log p(x|\theta) = \mathcal{L}(q, \theta) + \mathrm{KL}(q(z)||p(z|x,\theta))logp(x∣θ)=L(q,θ)+KL(q(z)∣∣p(z∣x,θ))(其中 L\mathcal{L}L 是 ELBO)优雅地表明,最大化下界是前进的道路。

一个普适的思想:平均场思维

这种用一系列更简单、“平均化”的问题来替代一个难题的策略,是一个在整个科学界回响的深刻思想。它被称为​​平均场​​方法。在物理学中,当试图理解一种材料中某个电子在数万亿个其他相互作用电子中的行为时,这是一项不可能完成的任务。物理学家们转而计算所有其他电子产生的平均电场,然后解决一个电子在这个“平均场”中运动的简单得多的问题。这个解随后被用来更新场本身,这个过程不断迭代,直到找到一个​​自洽场​​。这是计算化学中 Hartree-Fock 等方法的基础。

EM 算法是统计学家对同样优美思想的诠释。参数 θ\thetaθ 和潜变量 zzz 就是相互作用的粒子。M 步通过将潜变量 zzz 视为它们的“平均场”(即它们的期望)来更新参数 θ\thetaθ。E 步则根据新的 θ\thetaθ 来更新我们对 zzz 的信念。这种走向自洽的迭代舞蹈揭示了一个深刻而统一的原则,将机器学习与量子物理学的基础联系起来。

冷静的现实:收敛及其问题

尽管 EM 算法非常优雅,但它并非万能灵药。了解它的实际局限性与其理论之美同样重要。

首先,虽然 EM 保证收敛,但它通常​​收敛缓慢​​。它的收敛阶数通常是​​线性​​的,而不像牛顿法等更快速的方法那样是二次的。这意味着当它越接近解时,它迈出的步子会越来越小。这种线性收敛的速度与“缺失信息”的数量直接相关。大量的缺失数据或非常模糊的潜变量意味着向山顶的爬行会非常缓慢。在一个有 non_ono​ 个观测数据点和 mmm 个缺失数据点的简单模型中,收敛率恰好是缺失信息的比例,即 m/(no+m)m / (n_o + m)m/(no​+m)。你缺失的越多,攀登就越慢。

其次,EM 是一个局部优化器。混合模型的对数似然“山脉”很少是一个单一、完美的山峰。它通常是一个包含许多局部山峰和鞍点的完整山脉。EM 是一个勤奋但短视的登山者;它会找到它开始攀登的那座山的山顶,但这并不能保证是山脉中的最高峰(全局最大值)。最终的目的地高度依赖于起点。这就是为什么在实践中,EM 算法通常会从不同的随机初始值运行多次。它也很脆弱:将某个组件的权重初始化为零是一个致命错误,因为算法会卡住,永远无法激活该组件。

最后,区分 EM 算法提供的是什么至关重要。它是一个​​优化​​算法。它的输出是一个单点估计——它找到的山峰的坐标。它本身并不能描述山峰的宽度或周围地貌的形状。如果你需要描述参数的全部不确定性,你需要一个不同的工具,比如​​采样​​算法(例如,吉布斯采样),它会在整个山脉中漫游以绘制地图。EM 找到一个山峰;采样器探索整个领地。

总而言之,期望最大化算法证明了重构问题力量的强大。通过巧妙地将一个困难的优化问题分解为一系列更简单的问题,它为在不确定性面前寻找结构提供了一个鲁棒且广泛适用的工具。它的原理揭示了统计学、物理学和数值优化之间一个美丽的交集,教导我们,有时,解开一个谜团的最佳方式是与幽灵进行一次结构化的对话。

应用与跨学科联系

现在我们已经掌握了期望最大化算法的数学机制,让我们退后一步,惊叹于它应用的广度。毕竟,世界是一个混乱的地方,充满了不完整的信息、隐藏的原因和带噪声的观测。EM 算法真正的美妙之处不在于它的方程,而在于它能够像一个通用侦探一样,在缺失数据的阴影中发现结构和真相。它证明了一个强大思想的价值:通过对我们未知的事物做出有根据的猜测,我们可以迭代地增进对我们已知事物的理解。这种期望与最大化的优雅两步舞,在众多科学学科中引起了惊人的共鸣。

填补空白:缺失数据问题

EM 最直接的应用是在数据确实存在缺失的问题中。想象一项调查,有些人漏掉了一些问题没有回答。你如何分析整个数据集?简单地丢弃不完整的回复似乎很浪费,而随意猜测缺失的答案又显得不科学。EM 提供了第三种更智能的途径。

这个问题在​​遗传学和医学​​中屡见不鲜。在大型遗传学研究中,某些个体的实验室处理可能会失败,导致数据集中出现空白。假设我们想估计一个特定等位基因(基因的变体)在群体中的频率 ppp。我们的估计依赖于不同基因型(AAAAAA, AaAaAa, aaaaaa)的计数。如果某些基因型缺失,我们的计数就不完整。这时,EM 算法便能派上用场。在 E 步中,我们使用对等位基因频率的当前猜测,比如 p(t)p^{(t)}p(t),来计算缺失基因型的期望计数,根据当前模型下每种基因型的概率来分摊缺失的“责任”。在 M 步中,我们使用这些填补好的期望计数来计算一个新的、更好的等位基因频率估计值 p(t+1)p^{(t+1)}p(t+1)。这个过程不断重复,直到我们的估计值不再变化,收敛到给定实际观测数据的最可能频率。

“缺失数据”可能比单个缺失值更复杂。在现代医学中,医生经常为每位患者追踪一大组生物标志物。然而,并非每位患者都接受了所有测试,这导致数据集充满了缺失条目。如果我们想了解这些生物标志物之间的潜在关系——例如,它们的联合协方差矩阵 Σ\SigmaΣ——这些空白构成了严峻的挑战。EM 算法可以再次被应用。未观测到的生物标志物值是我们的潜变量。在 E 步中,使用我们对协方差矩阵的当前估计 Σ(t)\Sigma^{(t)}Σ(t),我们可以计算每位患者缺失测量值的期望值,条件是基于我们确实为他们观测到的值。然后,M 步使用这些“已补全”的数据集重新估计协方差矩阵,生成 Σ(t+1)\Sigma^{(t+1)}Σ(t+1)。这使我们能够即使从不完整的数据集中也能构建出统计关系的完整图景。

缺失数据的概念甚至可以扩展到更微妙的形式。在对临床试验至关重要的​​生存分析​​中,我们可能研究某个事件发生前的时间,例如患者康复或机器故障。通常,研究在所有受试者的事件发生之前就结束了。对于这些受试者,我们不知道他们确切的生存时间;我们只知道它至少与研究持续时间一样长。这被称为“右删失”数据。真实的、未观测到的事件时间是我们的潜变量。EM 算法提供了一个强大的框架来估计参数,例如指数生存模型的平均失效率 λ\lambdaλ,它通过恰当处理这些删失观测中包含的信息——不将其视为缺失,而是视为已知在某个范围内——来实现。同样的原则也帮助我们处理更复杂的情况,比如构建回归模型时,某些预测因素(协变量)在某些受试者中是缺失的。

揭示隐藏结构:混合模型问题

也许 EM 最深刻的应用是当“缺失数据”不是一个缺失的值,而是一个隐藏的身份时。许多现实世界现象是不同潜在过程混合的结果,而挑战在于将它们分离开来。

一个经典的例子来自​​群体遗传学​​。当我们分析个体 DNA 在染色体上两个不同位置时,我们可能会发现他们的基因型在第一个位点是 AaAaAa,在第二个位点是 BbBbBb。但这并不能告诉我们这些等位基因是如何在他们继承的两条染色体上连锁的。他们是继承了一条带有单倍型 ABABAB 的染色体和另一条带有 ababab 的染色体吗?还是他们继承了 AbAbAb 和 aBaBaB?这种“相位”信息就是潜变量。从群体中观测到的未定相基因型数据是这些隐藏单倍型配对的混合。EM 算法使我们能够估计潜在单倍型的频率(xAB,xAb,xaB,xabx_{AB}, x_{Ab}, x_{aB}, x_{ab}xAB​,xAb​,xaB​,xab​),通过迭代地估计每个模糊个体属于“偶联”(AB/abAB/abAB/ab)或“互斥”(Ab/aBAb/aBAb/aB)相位的概率,然后根据这些概率更新单倍型频率。

这种隐藏身份的思想无处不在。在​​生态学​​中,一位观察者在样本中计数寄生虫卵时可能会记录到许多零。一个零计数可能意味着宿主确实未被感染(一个“结构性零”),或者宿主被感染了,但纯属偶然,在该特定样本中没有出现虫卵(一个“抽样零”)。零的身份——结构性还是抽样性——是潜变量。使用 EM 估计的零膨胀泊松 (ZIP) 模型可以解开这两种可能性,从而更准确地了解感染的真实流行率和强度。

在​​现代生物信息学​​中,EM 算法是不可或缺的主力。一个人类基因可以被剪接成多种不同的信使 RNA 分子,称为异构体,它们可以产生不同的蛋白质。当我们使用 RNA 测序 (RNA-seq) 分析细胞的遗传活动时,我们会得到数百万个短的基因“读段”。单个读段可能与几种不同的异构体兼容。问题是:它到底来自哪个异构体?这是一个典型的混合问题。观测到的读段是一个混合体,每个读段的来源异构体是隐藏变量。EM 算法是用于计算每种异构体相对丰度的标准工具,它通过概率性地将读段分配给它们的潜在来源,然后在循环中更新丰度估计,直到收敛。

这个思想的力量延伸到了​​人工智能和数据科学​​的前沿。想象一下,你想训练一个机器学习模型,但没有一个完全干净的“黄金标准”训练集。相反,你拥有来自多个带噪声来源的标签:具有不同专业水平的不同人类标注员,或其他较弱的 AI 模型。你如何整合这些相互冲突的意见来推断真实标签?由 EM 驱动的 Dawid-Skene 模型提供了一个绝妙的解决方案。它将每个数据点的真实标签视为一个潜变量。该算法一举迭代地估计每个噪声源的可靠性(混淆矩阵),同时推断出数据最可能的真实标签。它通过学习信任谁来找到“真相”。

窥探不可见之物:状态与参数估计

最后,EM 算法在为随时间变化的动态系统建模方面找到了一些最复杂的应用,在这些系统中,系统的真实“状态”是隐藏的,必须从带噪声的测量中推断出来。

考虑一个​​工程​​问题,比如模拟热交换器中的温度。在时间 kkk 的真实出口温度 xkx_kxk​ 根据物理定律(如对流和辐射传热)演变,但这种演变依赖于未知的物理参数,例如传热系数。我们对这个温度的测量值 yky_kyk​ 被传感器噪声所污染。真实状态的整个序列 {xk}\{x_k\}{xk​} 是一个潜变量。EM 算法,通常与卡尔曼平滑器等强大工具配对,为解决这个艰巨的问题提供了一个框架。E 步使用平滑器来估计给定所有测量的隐藏状态轨迹。然后,M 步使用这个估计的轨迹来找到模型方程中未知物理参数的最可能值。我们同时在寻找隐藏的路径并学习支配它的规则。

同样的原理在​​地球物理科学​​中以行星尺度运作。天气预报和气候模型由微分方程组描述,但这些模型并不完美。总会存在“模型误差”,即模型预测与大气或海洋实际情况之间的差异。我们有来自卫星和气象站的观测数据,但它们是稀疏且带噪声的。在弱约束数据同化的高级框架中,EM 算法可用于估计控制该模型误差统计特性的超参数。本质上,E 步涉及使用平滑器来估计大气或海洋的真实状态,而 M 步则使用此估计来调整模型自身的误差统计。模型通过与现实世界数据的对抗来学习其自身不确定性的本质。

从我们自身的基因到全球气候,期望最大化算法为统计推断提供了一个统一而极其优美的框架。它将信息缺失的挑战从一个负担转变为一个机遇——一个建立世界模型、假定未知事物的性质,并迭代地走向更深层次理解的机遇。它是科学方法本身的数学体现:一个由数据驱动、不断假设和改进的循环,照亮了我们世界中隐藏的结构。