问题

EM算法存在的意义是什么?

回答
EM算法:在“看不见”的世界里寻找最优解的哲学与实践

在我们的日常生活中,很多事物并非一目了然。我们常常面临这样的情境:想要了解某个现象的本质,但又缺乏直接观测的手段;或者,已知的信息中包含着不确定性,需要我们去“猜测”并“校准”才能得出更靠谱的结论。在数据科学和机器学习领域,这种“看不见”的情况并非罕见,尤其是当我们的模型中存在一些我们无法直接观测到的隐藏变量时。这时候,EM算法(ExpectationMaximization Algorithm),也就是期望最大化算法,便登上了舞台,以其独到的智慧,帮助我们在这些“朦胧”的状态下,一步步逼近最优的参数估计。

那么,EM算法究竟有什么样的意义?它为何能在这类问题中发挥如此重要的作用?要回答这个问题,我们不妨从它的“诞生背景”和“核心思想”入手,来细细品味它的价值。

1. 当“隐变量”成为模型的绊脚石:EM算法的出现背景

想象一下,我们要对一群人进行身高和体重统计。如果每个人都如实提供数据,这很简单。但如果遇到这样一个场景:我们知道有一批人群,他们可以分为“运动员”和“普通人”两类,并且这两类人群的身高体重分布是不同的。我们手上只有所有人的身高体重数据,却无法知道每个人究竟属于哪一类。这里的“类别归属”就是一个我们无法直接观测到的“隐变量”。

在很多实际问题中,这种隐变量的情况比比皆是:

混合模型: 数据可能不是由一个单一的概率分布产生的,而是由多个不同的分布混合而成的。比如,我们观察到一群人的智商分布,它可能并不是一个简单的正态分布,而是由两个或多个正态分布叠加而成,分别代表不同智力水平的群体。哪个数据点属于哪个子分布,就是隐变量。
缺失数据: 在收集数据时,总会有一些数据点由于各种原因未能被观测到。例如,一份问卷调查中,有些人可能没有回答某个特定问题。如何利用已有的信息来估计这些缺失值,同时更新模型的参数,这也是EM算法能够大显身手的领域。
主题模型(Topic Models): 在文本分析中,我们想从大量的文档中提取出隐藏的主题。一篇文档可能包含多个主题,而文档中的词语又与这些主题相关联。文档的主题构成,就是一种隐变量。

在这些情况下,如果我们直接尝试去估计模型的参数(比如混合模型中各子分布的均值、方差以及混合比例),由于存在着未知的隐变量,我们的目标函数会变得非常复杂,难以直接求解。直接优化这个带有隐变量的目标函数,如同摸着石头过河,步履维艰。

EM算法的意义就在于,它提供了一种优雅且有效的迭代方法,来解决这类含有隐变量的参数估计问题。它不直接攻击那个棘手的、含有隐变量的“完整”似然函数,而是巧妙地将其分解为两个更容易处理的步骤。

2. “猜”与“调”的智慧:EM算法的核心思想

EM算法的核心在于它巧妙地将参数估计问题分解为两个交替进行的步骤:

E步 (Expectation Step 期望步骤): 在这一步,我们利用当前已有的模型参数,去估计那些未知的、无法观测到的隐变量。这里的“估计”并非直接观测,而是计算隐变量在当前参数下的期望值。简单来说,就是“猜”一下每个数据点最有可能属于哪一个类别(在混合模型中),或者最有可能的缺失值是多少。但这个“猜”不是随意的,而是基于当前参数的模型概率计算出来的。
M步 (Maximization Step 最大化步骤): 在E步估计出隐变量的期望值之后,我们就可以将这些期望值“填补”到模型中,使得整个目标函数(通常是完整数据的对数似然函数)可以被转化为一个只包含模型参数的函数。然后,我们在M步最大化这个目标函数,从而更新和优化模型参数。这就像是根据我们的“猜测”,重新调整模型的“参数”,让模型更符合数据。

这两个步骤交替进行,直到模型参数收敛,即前后两次迭代参数的变化非常小。每一次迭代,都意味着模型在不断地“猜测”隐变量,并根据这些猜测“调整”自身参数,从而逐步逼近一个更优的参数估计。

想象一下我们回到前面身高体重统计的例子。

初始: 我们可能随机猜一个“运动员”和“普通人”的身高体重分布的均值和方差,以及他们各占人群的比例。
E步: 根据这些初始猜测,我们计算每个人的身高体重数据更可能来自“运动员”分布还是“普通人”分布。比如,一个身高很高体重很大的人,更有可能被认为是“运动员”。我们就给这个人打上一个“属于运动员的概率”。
M步: 利用这些“概率”,我们重新计算“运动员”和“普通人”的平均身高体重以及人群比例。例如,对于那些被认为“更有可能”是运动员的人,他们的身高体重数据在重新计算平均值时会获得更大的权重。
重复: 然后我们再回到E步,根据新的参数,重新估计每个人的类别概率,再到M步更新参数,如此循环往复。

每一次循环,都让模型对“运动员”和“普通人”的特征以及他们各自的比例有了更准确的认识。

3. EM算法的深远意义:不仅仅是计算工具

EM算法的意义远不止于提供一种计算方法。它在统计学和机器学习领域具有奠基性的地位,其价值体现在以下几个方面:

解决了“不可能三角”问题: 在存在隐变量的情况下,直接最大化带有隐变量的似然函数是困难的。EM算法通过期望和最大化的交替,将一个难解的问题分解为两个相对容易解决的子问题,从而找到了一个可行的路径。它提供了一个“软”的解决方式,不强行将隐变量确定为某个值,而是用概率来衡量其可能性。
保证收敛性(局部最优): 尽管EM算法不能保证找到全局最优解(它可能会收敛到局部最优),但它确实保证了每次迭代都会使目标函数(完整的对数似然函数)单调递增。这意味着算法总会朝着一个稳定状态前进,即使这个状态不一定是全局最好的那个。这种稳定性是解决复杂问题的重要保障。
通用性和灵活性: EM算法的框架非常通用,可以应用于各种包含隐变量的模型。无论是高斯混合模型、隐马尔可夫模型,还是主题模型,只要能找到适当的E步和M步的计算方式,EM算法就能派上用场。这使得它成为许多统计建模方法的基础。
指导模型理解与构建: EM算法的两个步骤,实际上也指导了我们如何去理解模型中的隐变量与可观测变量之间的关系。E步告诉我们如何基于模型去推断隐藏信息,M步则告诉我们如何利用这些推断的信息去优化模型本身。这种思想对于我们构建更复杂的模型也具有启发意义。
理论研究的基石: EM算法不仅是实践中的有力工具,也是理论研究的重要组成部分。对于EM算法的收敛性、收敛速度以及与其他优化方法的比较,一直是统计学和机器学习领域的研究热点。

总而言之,EM算法的出现,为我们提供了一种在“看不见”的世界里寻找“最优解”的哲学与实践。它教会我们如何通过“猜测”与“校准”的迭代过程,逐步拨开迷雾,揭示隐藏在数据背后的规律。在数据量爆炸、模型日益复杂的今天,EM算法依然是那些处理不完整信息和隐变量问题的强大武器,其意义深远而持久。它不仅仅是一种算法,更是一种解决问题的智慧,一种在不确定性中寻找确定性的艺术。

网友意见

user avatar

Hinton, 这个深度学习的缔造者( 参考 攒说 Geoff Hinton ) , Jordan 当世概率图模型的集大成者(参考 “乔丹上海行”), 他们碰撞的领域就是EM算法!这个是PCA外的,另外一个无监督学习的经典

他们怎么认识的呢?Jordan的导师,就是著名的链接主义核心人物Rumelhart

为什么说EM算法是他们强强发力的领域呢?

这里我们讨论Hinton和统计大神Jordan的强强发力的领域。当Bayes网络发展到高级阶段, 概率图模型使得计算成为问题,由此开启了Variational Bayes领域。在“变の贝叶斯”里面, 我们解释了研究Variational Bayes,有3拨人。 第一拨人, 把物理的能量搬到了机器学习(参考 “给能力以自由吧!”)。 第二拨人, 就是Hinton,他将VB和EM算法联系了起来,奠定了现在我们看到的VB的基础。 第三拨人,就是Jordan, 他重建了VB的框架ELBO的基础。所以说EM算法扩展的VBEM算法,就是Hinton和Jordan共同发力的部分。


Hinton曾在采访中,不无感慨的说到, 他当时研究VB和EM算法的关系的时候, 主动去请教当时的EM算法的大佬们, 结果那些人说Hinton是异想天开,神经有问题。 但是最终, 他还是突破重围, 搞定了VBEM算法,打下了VB世界最闪光的那盏灯。老爷子真心不容易! 如果想切实深入到VB的世界, 我推荐Daphne Koller的神书“Probabilistic Graphical Models: Principles and Techniques”, 尤其其中的第8章:The Exponential Family 和第19章 Partially Observed Data。 这两章几乎是Hinton对VBEM算法研究的高度浓缩。 国内机器学习牛人王飞跃老师, 率领各路弟子花了5年时间翻译了这本神书!所以有中文版, 买了,反复阅读8、19章,要的!

为什么无监督深度学习突出成果都是Hinton和Jordan家的?

无监督深度学习,除了强化学习,主要包括BM、自动编码器AE和GAN领域。 1)这些领域中的DBN和DBM是Hinton搞的。2)AE中的经典,VAE是DP Kingma和M Welling搞得。 DP Kingma硕士导师是LeCun,LeCun的博士后导师是Hinton,并且Welling的博士后导师是Hinton。 3)而GAN是Ian Goodfellow和Yoshua Bengio的杰作, Goodfellow是Bengio的学生, 而Bengio的博士后导师是Jordan。 一句话, 无监督深度学习的经典模型几乎全是Hinton和Jordan家的。 为什么? 因为能彻底理解EM算法到深不见底的人非Hinton和Jordan莫属。

你现在明白彻底理解EM算法的重要性了吧? 下面我浅薄的纵向理解(忽略EM的各种变种的横向)EM算法的9层境界,再回头反思一下Hinton和Jordan等会对EM算法的理解到何种程度, 简直叹而观止!

EM算法理解的九层境界

  1. EM 就是 E + M
  2. EM 是一种局部下限构造
  3. K-Means是一种Hard EM算法
  4. 从EM 到 广义EM
  5. 广义EM的一个特例是VBEM
  6. 广义EM的另一个特例是WS算法
  7. 广义EM的再一个特例是Gibbs抽样算法
  8. WS算法是VAE和GAN组合的简化版
  9. KL距离的统一

第一层境界, EM算法就是E 期望 + M 最大化

最经典的例子就是抛3个硬币,跑I硬币决定C1和C2,然后抛C1或者C2决定正反面, 然后估算3个硬币的正反面概率值。

这个例子为什么经典, 因为它告诉我们,当存在隐变量I的时候, 直接的最大似然估计无法直接搞定。 什么是隐变量?为什么要引入隐变量? 对隐变量的理解是理解EM算法的第一要义!Chuong B Do & Serafim Batzoglou的Tutorial论文“What is the expectation maximization algorithm?”对此有详细的例子进行分析。

通过隐变量,我们第一次解读了EM算法的伟大!突破了直接MLE的限制(不详细解释了)。

至此, 你理解了EM算法的第一层境界,看山是山


第二层境界, EM算法就一种局部下限构造

如果你再深入到基于隐变量的EM算法的收敛性证明, 基于log(x)函数的Jensen不等式构造, 我们很容易证明,EM算法是在反复的构造新的下限,然后进一步求解

所以,先固定当前参数, 计算得到当前隐变量分布的一个下届函数, 然后优化这个函数, 得到新的参数, 然后循环继续。

也正是这个不停的构造下限的思想未来和VB方法联系起来了。 如果你理解了这个, 恭喜你, 进入理解EM算法的第二层境界, 看山看石


第三层境界, K-均值方法是一种Hard EM算法

在第二层境界的基础上, 你就能随意傲游EM算法用到GMM和HMM模型中去了。 尤其是对GMM的深入理解之后, 对于有隐变量的联合概率,如果利用高斯分布代入之后:

很容易就和均方距离建立联系:

但是,能不能说K-均值就是高斯分布的EM算法呢?不是, 这里虽然拓展到了相同的距离公式, 但是背后逻辑还是不一样, 不一样在哪里呢?K-均值在讨论隐变量的决定时候,用的是dirac delta 分布, 这个分布是高斯分布的一种极限

如果你觉得这个扩展不太好理解, 那么更为简单直观的就是, k-均值用的hard EM算法, 而我们说的EM算法是soft EM算法。 所谓hard 就是要么是,要么不是0-1抉择。 而Soft是0.7比例是c1,0.3比例是c2的情况。

那么充分理解了k-均值和EM算法本身的演化和差异有什么帮助呢?让你进一步理解到隐变量是存在一种分布的

如果你理解了这个, 恭喜你, 进入理解EM算法的第三层境界, 看山看峰


第四层境界,EM 是 广义EM的特例

通过前3层境界, 你对EM算法的理解要跨过隐变量, 进入隐分布的境界。 如果我们把前面的EM收敛证明稍微重复一下,但是引入隐分布

这样我们把Jensen不等收右边的部分定义为自由能(如果你对自由能有兴趣,请参考“给能量以自由吧!”,如果没有兴趣, 你就视为一种命名)。 那么E步骤是固定参数优化隐分布, M步骤是固定隐分布优化参数,这就是广义EM算法了

有了广义EM算法之后, 我们对自由能深入挖掘, 发现自由能和似然度和KL距离之间的关系:

所以固定参数的情况下, 那么只能最优化KL距离了, 那么隐分布只能取如下分布:

而这个在EM算法里面是直接给出的。 所以EM算法是广义EM算法的天然最优的隐分布情况。 但是很多时候隐分布不是那么容易计算的!

前面的推理虽然很简单, 但是要理解到位真心不容易, 首先要深入理解KL距离是如何被引入的?

其次要理解, 为什么传统的EM算法, 不存在第一个最优化?因为在没有限制的隐分布(天然情况下)情况下, 第一个最优就是要求:

而这个隐分布, EM算法里面是直接给出的,而不是让你证明得到的。

这样, 在广义EM算法中,你看到两个优化步骤,我们进入了两个优化步骤理解EM算法的境界了。 如果你理解了这个, 恭喜你, 进入理解EM算法的第四层境界, 有水有山

第五层境界,广义EM的一个特例是VBEM

在隐分布没有限制的时候, 广义EM算法就是EM算法, 但是如果隐分布本身是有限制的呢?譬如有个先验分布的限制, 譬如有计算的限制呢

例如先验分布的限制:从pLSA到LDA就是增加了参数的先验分布!

例如计算上的限制:mean-field计算简化的要求,分量独立。

诸如此类限制, 都使得广义EM里面的第一步E优化不可能达到无限制最优, 所以KL距离无法为0


基于有限制的理解, 再引入模型变分的思想, 根据模型m的变化, 对应参数和隐变量都有相应的分布:

并且满足分布独立性简化计算的假设:

在变分思想下, 自由能被改写了:

这样我们就得到了VBEM算法了:

如果你理解了这个, 恭喜你, 进入理解EM算法的第五层境界, 水转山回


第六层境界,广义EM的另一个特例是WS算法

Hinton老爷子搞定VBEM算法后, 并没有停滞, 他在研究DBN和DBM的Fine-Tuning的时候, 提出了Wake-Sleep算法。 我们知道在有监督的Fine-Tuning可以使用BP算法, 但是无监督的Fine-Tuning,使用的是Wake-Sleep算法。

就是这个WS算法,也是广义EM算法的一种特例。 WS算法分为认知阶段和生成阶段。

在前面自由能里面,我们将KL距离引入了, 这里刚好这两个阶段分别优化了KL距离的两种形态。 固定P优化Q,和固定Q优化P

所以当我们取代自由能理解, 全部切换到KL距离的理解, 广义EM算法的E步骤和M步骤就分别是E投影和M投影。 因为要求KL距离最优, 可以等价于垂直。 而这个投影, 可以衍生到数据D的流形空间, 和模型M的流形空间

所以你认同WS算法是一种广义EM算法(GEM)之后, 基于KL距离再认识GEM算法。 引入了数据流形和模型流形。 引入了E投影和M投影。

不过要注意的wake识别阶段对应的是M步骤, 而sleep生成阶段对应的E步骤。 所以WS算法对应的是广义ME算法。 如果你理解了这个, 恭喜你, 进入理解EM算法的第六层境界, 山高水深


第七层境界,广义EM的再一个特例是Gibbs Sampling

其实,前面基于KL距离的认知, 严格放到信息理论的领域, 对于前面E投影和M投影都有严格的定义。 M投影的名称是类似的,但是具体是moment projection,但是E投影应该叫I投影,具体是information projection

上面这种可能不太容易体会到M投影和I投影的差异, 如果再回到最小KL距离,有一个经典的比较。 可以体会M投影和I投影的差异。 上面是I投影,只覆盖一个峰。 下面是M投影, 覆盖了两个峰。

当我们不是直接计算KL距离, 而是基于蒙特卡洛抽样方法来估算KL距离

有兴趣对此深入的,可以阅读论文“On Monte Carlo methods for estimating ratios of normalizing constants”

这时候, 广义EM算法,就是Gibbs Sampling了。 所以Gibbs Sampling,本质上就是采用了蒙特卡洛方法计算的广义EM算法。

所以, 如果把M投影和I投影看成是一个变量上的最小距离点,那么Gibbs Sampling和广义EM算法的收敛过程是一致的

VAE的发明者,Hinton的博士后, Max Welling在论文“Bayesian K-Means as a “Maximization-Expectation” Algorithm”中, 对这种关系有如下很好的总结!

另外, Zoubin Ghahramani, Jordan的博士, 在“Factorial Learning and the EM Algorithm”等相关论文也反复提到他们之间的关系。

这样, 通过广义EM算法把Gibbs Sampling和EM, VB, K-Means和WS算法全部联系起来了。 有了Gibbs Sampling的背书, 你是不是能更好的理解, 为什么WS算法可以是ME步骤,而不是EM的步骤呢?另外,我们知道坐标下降Coordinate Descent也可以看成一种Gibbs Sampling过程, 如果有人把Coordinate Descent和EM算法联系起来, 你还会觉得奇怪么?

现在我们发现VB和Gibbs Sampling都可以放到广义EM的大框架下, 只是求解过程一个采用近似逼近, 一个采用蒙特卡洛采样。 有了EM算法和Gibbs Sampling的关系, 现在你理解, 为什么Hinton能够发明CD算法了么? 细节就不展开了。

如果你理解了这个, 恭喜你, 进入理解EM算法的第七层境界, 山水轮回


第八层境界,WS算法是VAE和GAN组合的简化版

Jordan的弟子邢波老师,他的学生胡志挺,发表了一篇文章, On Unifying Deep Generative Models,试图通过WS算法,统一对VAE和GAN的理解。

VAE的理解, 变了加了正则化的KL距离, 而对于GAN的理解变成了加Jensen–Shannon 散度。 所以, 当我们把广义EM算法的自由能, 在WS算法中看成KL散度, 现在看成扩展的KL散度。 对于正则化扩展, 有很多类似论文, “Mode Regularized Generative Adversarial Networks”, “Stabilizing Training of Generative Adversarial Networks through Regularization” 有兴趣可以读读。

所以对于VAE,类比WS算法的Wake认知阶段, 不同的是在ELBO这个VBEM目标的基础上加了KL散度作为正则化限制。 再应用再参数化技巧实现了VAE

对应到GAN,类比Sleep阶段,正则化限制换了JSD距离, 然后目标KL距离也随着不同GAN的变体也可以变化

所以, VAE和GAN都可以理解为有特殊正则化限制的Wake-Sleep步骤, 那么组合起来也并不奇怪。

这就是为什么那么多论文研究如何组合VAE/GAN到同一个框架下面去。目前对这方面的理解还在广泛探讨中。

如果你理解了这个, 恭喜你, 进入理解EM算法的第八层境界, 水中有水、山外有山

第九层境界,KL距离的统一

Jordan 大佬的一片论文, 开启了KL距离的统一, “On surrogate loss functions and f-divergences”。 里面对于所谓的正反KL距离全部统一到 f 散度的框架下面。 Jordan 首先论述了对于损失函数统一的Margin理论的意义

然后把这些损失函数也映射到 f 散度

然后微软的 Sebastian Nowozin, 把 f-散度扩展到GAN “f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization”。

然后对正反KL散度也做了一次统一

对于 f-散度的理解离不开对Fenchel对偶的理解(参考“走近中神通Fenchel”)。

除了f-散度, 还有人基于bregman散度去统一正反KL散度的认知。 KL散度就是香农熵的bregman散度。

而Bregman散度本身是基于一阶泰勒展开的一种偏离度的度量。

然后再基于Bregman距离去研究最小KL投影, 函数空间采用香农熵(参考“信息熵的由来”)。

无论f-散度还是bregman散度对正反KL距离的统一, 之后的广义EM算法, 都会变得空间的最优投影的交替出现。 或许广义EM算法也成了不同流形空间上的坐标梯度下降算法而已coodinate descent。

如果你理解了这个, 恭喜你, 进入理解EM算法的第九层境界,山水合一


小结

这里浅薄的介绍了理解EM算法的9层境界,托名Hinton和Jordan,着实是因为佩服他们俩和各自的弟子们对EM算法,甚至到无监督深度学习的理解和巨大贡献。想来Hinton和Jordan对此必定会有更为深刻的理解, 很好奇会到何种程度 。。。 最后依然好奇, 为啥只有他们两家的子弟能够不停的突破无监督深度学习?Hinton 老仙说, 机器学习的未来在于无监督学习!


相关话题:

Hinton是如何理解PCA?


相关参考链接:

sens.tistory.com/304

en.wikipedia.org/wiki/E

stats.stackexchange.com

cdn-ak.f.st-hatena.com/

quora.com/What-is-an-in

math.stackexchange.com/


cse.cuhk.edu.hk/~lxu/pa

web.stanford.edu/class/

hal.archives-ouvertes.fr

cs.tut.fi/kurssit/TLT-5

类似的话题

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有