EM算法

快来打我* 2023-07-05 13:12 35阅读 0赞

一、EM算法介绍

  1. 我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。(最大似然估计:利用已知的样本结果,反推最有可能导致这样结果的一组参数)但是在一些情况下,我们得到的观察数据有未观察到的隐含数据,此时我们未知的有隐含数据和模型参数,因而无法直接用极大化对数似然函数得到模型分布的参数。用EM算法可以解决。
  2. EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。EM算法的每次迭代由两步组成:E步,求期望;M步,求极大。所以被称为期望极大算法。
  3. EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含数据(EM算法的E步),接着基于观察数据和猜测的隐含数据一起来极大化对数似然,求解我们的模型参数(EM算法的M步)。由于我们之前的隐藏数据是猜测的,所以此时得到的模型参数一般还不是我们想要的结果。不过没关系,我们基于当前得到的模型参数,继续猜测隐含数据(EM算法的E步),然后继续极大化对数似然,求解我们的模型参数(EM算法的M步)。以此类推,不断的迭代下去,直到模型分布参数基本无变化,算法收敛,找到合适的模型参数。
  4. 一个最直观了解EM算法思路的是K-Means算法:在K-Means聚类时,每个聚类簇的质心是隐含数据。我们会假设K个初始化质心,即EM算法的E步;然后计算得到每个样本最近的质心,并把样本聚类到最近的这个质心,即EM算法的M步。重复这个E步和M步,直到质心不再变化为止,这样就完成了K-Means聚类

二、EM算法推导

1、Jensen不等式

format_png

format_png 1

2、极大似然估计法估计参数

(1)极大似然估计思想

format_png 2

  1. 总结起来,最大似然估计的目的就是:利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。通过若干次试验,观察其结果,利用试验结果得到某个参数值能够使样本出现的概率为最大,则称为极大似然估计。

format_png 3

(2)求解极大似然函数

format_png 4

format_png 5

(3)求最大似然函数估计值的一般步骤

format_png 6

3、求解随机变量的期望

format_png 7

4、EM算法推导

format_png 8

我们的似然函数为:

format_png 9

  1. 上面似然函数L(Θ)式中,即式(1),是根据联合概率密度下某个变量的**边缘密度函数**求解的(这里把z当作是随机变量)。对每一个样本 i 的所有可能类别 z 求联合概率密度函数和,也就得到随机变量x的边缘概率密度。由于对式(1)直接求导非常困难,所以将其分子分母都乘以一个相等的函数Qz,转换为式(2)。而在式(2)变为式(3)的过程,采用的是上面提到的**Jensen不等式:**

format_png 10

分析过程如下:

format_png 11

所以:

format_png 12

所以有:

format_png 13

即相当于f(Ex)

同理有:

format_png 14

即相当于E(f (x))

根据凹函数的Jensen不等式:

format_png 15

即得到(2)式大于等于(3)式:

format_png 16

则(3)式是(2)式的下限。那么我们可以通过不断的最大化(3)式的值,来使(2)式不断提高,最终达到它的最大值。

format_png 17

进而可得:

format_png 18

format_png 19

5、EM算法步骤

format_png 20

6、EM算法的收敛性

format_png 21

format_png 22

format_png 23

format_png 24

format_png 25

下面这张图很好的说明了EM算法的优化过程:

format_png 26

  1. EM算法可以保证收敛到一个稳定点,但是却不能保证收敛到全局的极大值点,因此它是局部最优的算法,当然,如果我们的优化目标是凸函数,则EM算法可以保证收敛到全局最大值。

7、算法总结

我们的算法里已知的是观察数据,未知的是隐含数据和模型参数,在E步,我们所做的事情是固定模型参数的值,优化隐含数据的分布,而在M步,我们所做的事情是固定隐含数据分布,优化模型参数的值。

三、EM算法应用

1、K-Means聚类

2、高斯混合模型

(1)高斯分布

  1. **高斯分布(Gaussian distribution)有时也被称为正态分布(normal distribution),是一种在自然界大量的存在的、最为常见的分布形式。**

format_png 27

由334个人的身高数据构成的正态分布直方图

这个图形非常直观的展示了高斯分布的形态,接下来看下严格的高斯公式定义,高斯分布的概率密度函数公式如下:

format_png 28

(2)高斯混合模型

  1. 高斯混合模型(Gaussian Mixed Model)指的是多个高斯分布函数的线性组合,理论上GMM可以拟合出任意类型的分布,通常用于解决同一集合下的数据包含多个不同的分布的情况(或者是同一类分布但参数不一样,或者是不同类型的分布,比如正态分布和伯努利分布)。
  2. 如图1,图中的点在我们看来明显分成两个聚类。这两个聚类中的点分别通过两个不同的正态分布随机生成而来。但是如果没有GMM,那么只能用一个的二维高斯分布来描述图1中的数据。图1中的椭圆即为二倍标准差的正态分布椭圆。这显然不太合理,毕竟肉眼一看就觉得应该把它们分成两类。

format_png 29

图1

format_png 30

format_png 31

图2

format_png 32

format_png 33

(3)GMM的应用

format_png 34

(4)GMM的参数估计

format_png 35

format_png 36

format_png 37

format_png 38

format_png 39

format_png 40

(5)EM算法估参流程

format_png 41

发表评论

表情:
评论列表 (有 0 条评论,35人围观)

还没有评论,来说两句吧...

相关阅读

    相关 EM算法

    一、EM算法介绍         我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。(最大似然估计:利用已知的样本结果,反推

    相关 EM算法

    Maximum Likelihood Estimation Maximum Likelihood Estimation(MLE)是要选择一个最佳参数θ\,使得从训练集中观

    相关 EM算法

    转载为了以后方便复习,防止好的博客突然就error found 转自http://www.cnblogs.com/jerrylead/archive/2011/04/06/2

    相关 EM算法总结

    看了一天EM算法,做了ppt。总结一下。 第一篇[教程][Link 1]很基础,可以看前部分,回忆一下概率论。 第二篇[教程][Link 2]很理论,讲的很清楚,挺好看。

    相关 EM算法推导

    EM算法也称期望最大化(Expectation-Maximum, EM)算法,它是一个基础算法,是很多机器学习领域算法的基础,比如隐式马尔科夫算法(HMM), LDA主题模型的

    相关 EM 算法

    这个暂时还不太明白,先写一点明白的。 EM:最大期望算法,属于基于模型的聚类算法。是对似然函数的进一步应用。 我们知道,当我们想要估计某个分布的未知值,可以使用样本结果来进