文章目录

  • 一、EM算法的引入
  • 1、极大似然估计
  • 2、EM入场
  • 二、EM算法推导
  • 1、Jensen不等式
  • 2、EM推导过程
  • (1)统计学习方法EM推导
  • (2)Andrew NG关于EM算法的推导
  • 3、统计学习方法EM算法流程
  • 4、EM算法直观解释
  • 5、EM算法在非监督学习中的应用
  • 三、EM算法的收敛性
  • 四、高斯混合模型GMM
  • 五、EM算法的推广



EM内容较多,方便阅读,分成2个部分

EM算法是一种迭代算法,1977年由Dempster等人总结提出,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望(exception);M步,求极大(maximization)。所以这一算法称为期望极大算法,简称EM算法。

一、EM算法的引入

概率模型有时既含有观测变量,又含有隐变量或潜在变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接用极大似然估计法,或贝叶斯估计法估计模型参数;当模型含有隐变量时,就不能简单地使用这些估计方法,EM算法就是含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计法。下文以讨论极大似然估计为例,极大后验概率估计与其类似。

在朴素贝叶斯算法里面已经讲解过极大似然估计和贝叶斯估计,今天再对极大似然估计做一个详细的介绍,因为实在是太常见了。

1、极大似然估计

总体样本服从em1和em2 ip地址不同 em1和em12_统计学习方法分布,现有em1和em2 ip地址不同 em1和em12_Jensen不等式_02个样本,估计模型的参数em1和em2 ip地址不同 em1和em12_Jensen不等式_03。那么得到的参数em1和em2 ip地址不同 em1和em12_Jensen不等式_03应该是使现有的em1和em2 ip地址不同 em1和em12_Jensen不等式_02个样本最容易出现的参数,这就是极大似然估计的思想(模型已定,参数未知)。每个样本之间是相互独立的,那么可以得到这em1和em2 ip地址不同 em1和em12_Jensen不等式_02个样本的联合概率即极大似然函数,用下式表示:
em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_07
对数似然函数:
em1和em2 ip地址不同 em1和em12_EM_08
求极大似然函数估计值的一般步骤:

  • (1)写出似然函数;
  • (2)对似然函数取对数,并整理;
  • (3)求导数,令导数为0,得到似然方程;
  • (4)解似然方程,得到的参数即为所求;

简单实例说明,实例来自博客。假设现在有两枚硬币1和2,,随机抛掷后正面朝上概率分别为em1和em2 ip地址不同 em1和em12_Q函数_09。为了估计这两个概率,做实验,每次取一枚硬币,连掷5下,记录下结果,如下:

em1和em2 ip地址不同 em1和em12_Jensen不等式_10


可以很容易地估计出em1和em2 ip地址不同 em1和em12_Q函数_11em1和em2 ip地址不同 em1和em12_EM_12,如下:

em1和em2 ip地址不同 em1和em12_Jensen不等式_13
上面的计算很简单很理所当然,但上面是用了极大似然估计的。可以见证明,极大似然估计证明先验概率

2、EM入场

还是上面的问题,现在我们抹去每轮投掷时使用的硬币标记,如下:

em1和em2 ip地址不同 em1和em12_统计学习方法_14


问题还是要估计两枚硬币随机抛掷后正面朝上概率em1和em2 ip地址不同 em1和em12_Q函数_09

显然,此时我们多了一个隐变量em1和em2 ip地址不同 em1和em12_Q函数_16,可以把它认为是一个5维的向量em1和em2 ip地址不同 em1和em12_统计学习方法_17,代表每次投掷时所使用的硬币,比如em1和em2 ip地址不同 em1和em12_EM_18,就代表第一轮投掷时使用的硬币是1还是2。但是,这个变量em1和em2 ip地址不同 em1和em12_Q函数_16不知道,就无法去估计em1和em2 ip地址不同 em1和em12_Q函数_11em1和em2 ip地址不同 em1和em12_EM_12,所以,我们必须先估计出em1和em2 ip地址不同 em1和em12_Q函数_16,然后才能进一步估计em1和em2 ip地址不同 em1和em12_Q函数_11em1和em2 ip地址不同 em1和em12_EM_12
但要估计em1和em2 ip地址不同 em1和em12_Q函数_16,我们又得知道em1和em2 ip地址不同 em1和em12_Q函数_11em1和em2 ip地址不同 em1和em12_EM_12,这样我们才能用最大似然概率法则去估计em1和em2 ip地址不同 em1和em12_Q函数_16,这不是鸡生蛋和蛋生鸡的问题吗?如何破?

答案就是先随机初始化一个em1和em2 ip地址不同 em1和em12_Q函数_11em1和em2 ip地址不同 em1和em12_EM_12,用它来估计em1和em2 ip地址不同 em1和em12_Q函数_16,然后基于em1和em2 ip地址不同 em1和em12_Q函数_16,按照最大似然概率法则去估计新的em1和em2 ip地址不同 em1和em12_Q函数_11em1和em2 ip地址不同 em1和em12_EM_12。这就是最开始说的E步em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_35和M步em1和em2 ip地址不同 em1和em12_Q函数_36,如此反复下去,直到收敛到一个不再改变的参数em1和em2 ip地址不同 em1和em12_Jensen不等式_03

二、EM算法推导

1、Jensen不等式

在支持向量机里面介绍过凸函数。今天讲下Jensen不等式。

看到很多博客里面有不同的评论说凹凸函数用混了,这边为了不引起歧义在使用的时候直接带上条件,那么肯定就不会弄混了。

如果em1和em2 ip地址不同 em1和em12_统计学习方法_38是凸函数(em1和em2 ip地址不同 em1和em12_Jensen不等式_39),那么有:
em1和em2 ip地址不同 em1和em12_EM_40
当且仅当em1和em2 ip地址不同 em1和em12_Q函数_41时上式取等号。

加权形式:
em1和em2 ip地址不同 em1和em12_Q函数_42
Jensen不等式证明

推得若em1和em2 ip地址不同 em1和em12_统计学习方法_38是凸函数,X是随机变量,有
em1和em2 ip地址不同 em1和em12_Jensen不等式_44
当且仅当X是常量时,上式取等号。

如果em1和em2 ip地址不同 em1和em12_统计学习方法_38是凹函数(em1和em2 ip地址不同 em1和em12_统计学习方法_46),那么同理有:
em1和em2 ip地址不同 em1和em12_EM_47

考虑到em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_48,则有em1和em2 ip地址不同 em1和em12_Q函数_49em1和em2 ip地址不同 em1和em12_统计学习方法_50em1和em2 ip地址不同 em1和em12_Q函数_51的函数。

2、EM推导过程

(1)统计学习方法EM推导

第一部分内容,看看文字描述,能理解EM算法大概是怎么回事,是在解决一个什么问题。但是具体要使用,就需要数学公式推导,证明这个想法确实可行。这一部分内容看课本的时候很难理解。然后找到一篇讲解和带部分公式推导还可以的博客。但是我决定最终用来总结推导的内容还是以参考课本为主。对其中理解起来较困难的地方展开和进一步解释。

一般地,用em1和em2 ip地址不同 em1和em12_Q函数_16表示隐随机变量的数据,em1和em2 ip地址不同 em1和em12_统计学习方法_53表示观测随机变量的数据又称为不完全数据,em1和em2 ip地址不同 em1和em12_统计学习方法_53em1和em2 ip地址不同 em1和em12_Q函数_16连在一起称为完全数据。假设给定观测数据em1和em2 ip地址不同 em1和em12_统计学习方法_53,其概率分布是em1和em2 ip地址不同 em1和em12_EM_57,其中em1和em2 ip地址不同 em1和em12_Jensen不等式_03是需要估计的模型参数,那么不完全数据em1和em2 ip地址不同 em1和em12_统计学习方法_53的似然函数是em1和em2 ip地址不同 em1和em12_EM_57,对数似然em1和em2 ip地址不同 em1和em12_Jensen不等式_61;假设em1和em2 ip地址不同 em1和em12_统计学习方法_53em1和em2 ip地址不同 em1和em12_Q函数_16的联合概率分布是em1和em2 ip地址不同 em1和em12_EM_64,那么完全数据的对数似然函数是em1和em2 ip地址不同 em1和em12_EM_65

面对一个含有隐变量的概率模型,目标是极大化观测数据(不完全数据)em1和em2 ip地址不同 em1和em12_统计学习方法_53关于参数em1和em2 ip地址不同 em1和em12_Jensen不等式_03的对数似然函数,即极大化
em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_68
注意这一极大化的主要困难是式(5)中有未观测数据并有包含和的对数。事实上,EM算法是通过迭代逐步近似极大化em1和em2 ip地址不同 em1和em12_Q函数_69的。假设在第em1和em2 ip地址不同 em1和em12_EM_70次迭代后em1和em2 ip地址不同 em1和em12_Jensen不等式_03的估值是em1和em2 ip地址不同 em1和em12_统计学习方法_72。我们希望新估计值em1和em2 ip地址不同 em1和em12_Jensen不等式_03能使em1和em2 ip地址不同 em1和em12_Q函数_69增加,即em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_75,并逐步达到极大值。
em1和em2 ip地址不同 em1和em12_统计学习方法_76

em1和em2 ip地址不同 em1和em12_EM_77,为凹函数,em1和em2 ip地址不同 em1和em12_EM_78em1和em2 ip地址不同 em1和em12_Jensen不等式_79的期望,利用Jensen不等式可得凹函数有em1和em2 ip地址不同 em1和em12_EM_80,则得到上式下界:
em1和em2 ip地址不同 em1和em12_统计学习方法_81

为什么这么凑Jensen不等式?从后面Q函数的意义可以知道为什么。


em1和em2 ip地址不同 em1和em12_Jensen不等式_82

em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_83
即函数em1和em2 ip地址不同 em1和em12_EM_84em1和em2 ip地址不同 em1和em12_Q函数_69的一个下界,而且式(6)可知
em1和em2 ip地址不同 em1和em12_Jensen不等式_86
因此,任何可以使em1和em2 ip地址不同 em1和em12_EM_84增大的em1和em2 ip地址不同 em1和em12_Jensen不等式_03,也可以使em1和em2 ip地址不同 em1和em12_Q函数_69增大。为了使em1和em2 ip地址不同 em1和em12_Q函数_69有尽可能的增大,选择em1和em2 ip地址不同 em1和em12_统计学习方法_91使em1和em2 ip地址不同 em1和em12_EM_84达到极大,即
em1和em2 ip地址不同 em1和em12_统计学习方法_93
现在求em1和em2 ip地址不同 em1和em12_EM_94的表达式。省去对em1和em2 ip地址不同 em1和em12_Jensen不等式_03的极大化而言是常数的项,由式(6)、式(9),有
em1和em2 ip地址不同 em1和em12_Q函数_96
式(10)等价于EM算法的一次迭代,即求em1和em2 ip地址不同 em1和em12_EM_97函数及其极大化。EM算法是通过不断求解下界的极大化逼近求解对数似然函数极大化的算法

(2)Andrew NG关于EM算法的推导

这篇博客里面有介绍Andrew NG关于EM算法的推导,和李航的统计学习方法不一样,可以相互参考着看,异曲同工。不用特意知道为什么那么去凑Jensen不等式。
em1和em2 ip地址不同 em1和em12_Jensen不等式_98
上面em1和em2 ip地址不同 em1和em12_Jensen不等式_03极大化求解过程中含有隐变量参数以及在对数里面有求和操作,求解会非常复杂,所以上式的变形过程中使用了Jensen不等式,em1和em2 ip地址不同 em1和em12_EM_100满足凹函数的条件,那么只需要em1和em2 ip地址不同 em1和em12_统计学习方法_101上式变形就是成立。另外要使对数似然函数em1和em2 ip地址不同 em1和em12_Q函数_69最大,那么需要在上式的变形中取等号,根据Jensen不等式有em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_103是常数的时候等号成立。则有

em1和em2 ip地址不同 em1和em12_Jensen不等式_104
其中em1和em2 ip地址不同 em1和em12_EM_105em1和em2 ip地址不同 em1和em12_Jensen不等式_106的后验概率,求解em1和em2 ip地址不同 em1和em12_EM_105过程称为E步,即固定参数em1和em2 ip地址不同 em1和em12_Jensen不等式_03,求出使得Jensen变形中取等号的em1和em2 ip地址不同 em1和em12_EM_105

所以有
em1和em2 ip地址不同 em1和em12_EM_110
M步:算出em1和em2 ip地址不同 em1和em12_EM_105也就是有了隐变量的后验概率后,就可以通过极大似然估计进行求解最优的参数em1和em2 ip地址不同 em1和em12_Jensen不等式_03作为em1和em2 ip地址不同 em1和em12_统计学习方法_91进行下一轮迭代,直到迭代停止条件。

对比式(10)和式(10.3)可以发现统计学习方法里面的em1和em2 ip地址不同 em1和em12_EM_97函数实际上是em1和em2 ip地址不同 em1和em12_Q函数_69的一个变形,和Andrew NG推导里面的em1和em2 ip地址不同 em1和em12_Q函数_69形式几乎是一样的,只是因为统计学习方法在M步求解极大化时把常数项参数省去了。两个推导中的em1和em2 ip地址不同 em1和em12_统计学习方法_117函数意义不一样,只是都用了同一个名字

按上面方式讲解EM算法一篇非常不错的博客(EM算法)The EM Algorithm。

3、统计学习方法EM算法流程

输入:观测变量数据em1和em2 ip地址不同 em1和em12_统计学习方法_53,隐变量数据em1和em2 ip地址不同 em1和em12_Q函数_16,联合分布em1和em2 ip地址不同 em1和em12_EM_64,条件分布em1和em2 ip地址不同 em1和em12_Jensen不等式_121

输出:模型参数em1和em2 ip地址不同 em1和em12_Jensen不等式_03

(1)选择参数的初值em1和em2 ip地址不同 em1和em12_Jensen不等式_123,开始迭代;初值可以任意选择,但需注意EM算法对初值是敏感的
(2)E步:记em1和em2 ip地址不同 em1和em12_统计学习方法_124为第em1和em2 ip地址不同 em1和em12_Jensen不等式_125次迭代参数em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_126的估计值,在第em1和em2 ip地址不同 em1和em12_统计学习方法_127次迭代的E步,计算
em1和em2 ip地址不同 em1和em12_EM_128

  • 上式的函数em1和em2 ip地址不同 em1和em12_EM_129是EM算法的核心,称为em1和em2 ip地址不同 em1和em12_统计学习方法_117函数。
  • 需要计算em1和em2 ip地址不同 em1和em12_Q函数_131,即在给定观测数据em1和em2 ip地址不同 em1和em12_统计学习方法_132和当前的参数估计em1和em2 ip地址不同 em1和em12_Jensen不等式_133下隐变量数据em1和em2 ip地址不同 em1和em12_Q函数_134的条件概率分布,作为隐变量的现估计值。
  • em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_135函数:完全数据的对数似然函数em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_136关于在给定观测数据em1和em2 ip地址不同 em1和em12_统计学习方法_132和当前参数em1和em2 ip地址不同 em1和em12_Jensen不等式_133下对未观测数据em1和em2 ip地址不同 em1和em12_Q函数_134的条件概率分布em1和em2 ip地址不同 em1和em12_Q函数_131的期望称为em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_135函数

(3)M步:求使em1和em2 ip地址不同 em1和em12_EM_129极大化的em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_126,确定第em1和em2 ip地址不同 em1和em12_统计学习方法_144次迭代的参数的估计值em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_145
em1和em2 ip地址不同 em1和em12_Q函数_146
(4)重复第(2)步和第(3)步,直到收敛。给出停止迭代的条件,一般是对较小的正数em1和em2 ip地址不同 em1和em12_Q函数_147,若满足
em1和em2 ip地址不同 em1和em12_统计学习方法_148

4、EM算法直观解释

在下图中给出了EM算法的直观解释。图中上方曲线为em1和em2 ip地址不同 em1和em12_Q函数_69,下方曲线为em1和em2 ip地址不同 em1和em12_EM_84em1和em2 ip地址不同 em1和em12_EM_84为对数似然函数em1和em2 ip地址不同 em1和em12_Q函数_69的下界。两个函数在点em1和em2 ip地址不同 em1和em12_Q函数_153处相等。由式(9)和(10),EM算法找到下一个点em1和em2 ip地址不同 em1和em12_统计学习方法_91使函数em1和em2 ip地址不同 em1和em12_EM_84极大化,也使函数em1和em2 ip地址不同 em1和em12_统计学习方法_156极大化。这时由于em1和em2 ip地址不同 em1和em12_EM_157,函数em1和em2 ip地址不同 em1和em12_EM_84的增加,保证对数似然函数em1和em2 ip地址不同 em1和em12_Q函数_69在每次迭代中也是增加的。EM算法在点em1和em2 ip地址不同 em1和em12_统计学习方法_91重新计算em1和em2 ip地址不同 em1和em12_EM_97函数值,进行下一次迭代。在这个过程中,对数似然函数em1和em2 ip地址不同 em1和em12_Q函数_69不断增大。从图中可以推断出EM算法不能保证找到全局最优值

em1和em2 ip地址不同 em1和em12_Jensen不等式_163

5、EM算法在非监督学习中的应用

监督学习是由训练数据em1和em2 ip地址不同 em1和em12_EM_164学习条件概率分布em1和em2 ip地址不同 em1和em12_EM_165或决策函数em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_166作为模型,用于分类、回归、标注等任务。这时训练数据的每个样本点由输入和输出对组成

有时训练数据只有输入没有对应的输出em1和em2 ip地址不同 em1和em12_Q函数_167,从这样的数据学习模型称为非监督学习问题。EM算法可以用于生成模型的非监督学习。生成模型由联合概率分布em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_168表示,可以认为非监督学习训练数据是联合概率分布产生的数据。em1和em2 ip地址不同 em1和em12_Q函数_51为观测数据,em1和em2 ip地址不同 em1和em12_统计学习方法_53为未观测数据。

三、EM算法的收敛性

EM算法提供一种近似计算含有隐变量概率模型的极大似然估计的方法。EM算法的最大优点是简单性和普适性。对EM算法的两个疑问:

  • 1、EM算法得到的估计序列是否收敛?
  • 2、如果收敛,是否收敛到全局最大值或者局部最大值?

EM算法定理1:设em1和em2 ip地址不同 em1和em12_EM_57为观测数据的似然函数,em1和em2 ip地址不同 em1和em12_EM_172为EM算法得到的参数估计序列,em1和em2 ip地址不同 em1和em12_统计学习方法_173为对应的似然函数序列,则em1和em2 ip地址不同 em1和em12_统计学习方法_174是单调递增的,即
em1和em2 ip地址不同 em1和em12_Jensen不等式_175

EM算法定理2:设em1和em2 ip地址不同 em1和em12_Jensen不等式_61为观测数据的对数似然函数,em1和em2 ip地址不同 em1和em12_EM_172为EM算法得到的参数估计序列,em1和em2 ip地址不同 em1和em12_Q函数_178为对应的对数似然函数序列。

  • (1)如果em1和em2 ip地址不同 em1和em12_Q函数_179有上界,则em1和em2 ip地址不同 em1和em12_Q函数_180收敛到某一值em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_181
  • (2)在函数em1和em2 ip地址不同 em1和em12_Q函数_182em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_183满足一定条件下,由EM算法得到的参数估计序列em1和em2 ip地址不同 em1和em12_统计学习方法_124的收敛值em1和em2 ip地址不同 em1和em12_Q函数_185em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_183的稳定点。

定理1em1和em2 ip地址不同 em1和em12_EM_187的证明

由于
em1和em2 ip地址不同 em1和em12_Jensen不等式_188
取对数有
em1和em2 ip地址不同 em1和em12_Q函数_189
根据式(11)有em1和em2 ip地址不同 em1和em12_EM_97函数
em1和em2 ip地址不同 em1和em12_Q函数_191

em1和em2 ip地址不同 em1和em12_Q函数_192
于是对数似然函数可以写成
em1和em2 ip地址不同 em1和em12_Q函数_193
在式(16)中分别取em1和em2 ip地址不同 em1和em12_Jensen不等式_03em1和em2 ip地址不同 em1和em12_统计学习方法_91em1和em2 ip地址不同 em1和em12_统计学习方法_72并相减,有
em1和em2 ip地址不同 em1和em12_Jensen不等式_197
由于em1和em2 ip地址不同 em1和em12_统计学习方法_91使em1和em2 ip地址不同 em1和em12_统计学习方法_156达到极大,所以有
em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_200
对于式(17)等式右边第2项
em1和em2 ip地址不同 em1和em12_Q函数_201
由式(18)和式(19)可以证明em1和em2 ip地址不同 em1和em12_em1和em2 ip地址不同_202。证毕。

定理2证明略,EM算法的收敛性包含关于对数似然序列em1和em2 ip地址不同 em1和em12_Q函数_203的收敛性和关于参数估计序列em1和em2 ip地址不同 em1和em12_统计学习方法_124的收敛性两层意思,前者并不蕴涵后者。定理只能保证参数估计序列收敛到对数似然函数序列的稳定点,不能保证收敛到极大值点。所以在应用中,初值的选择变得很重要,常用的办法是选取几个不同的初值进行迭代,然后对得到的各个估计值加以比较,从中选择最好的。

四、高斯混合模型GMM


五、EM算法的推广