EM(expectation maximization)理解以及推导过程

原创 2012年05月29日 11:18:11

from :http://www.hxxiaopei.com/?p=26

最近在看topic model,引入主题隐含的状态,采用EM算法求解参数,所以先系统了解EM算法,感觉比较抽象,参照一些论文以及斯坦福的机器学习视频,整理一下自己的想法。

1.引入

给定一个数据集合DataSet,观察变量是X,隐藏变量为Z,如果概率模型的变量都是观察变量,则直接利用极大似然估计法估计模型参数l(θ)=maxθNi=1lnP(xi|θ),对l(θ)求导,采用牛顿法或者梯度下降法,求解参数。如果模型中存在隐含变量Z,则P(X|θ)=zP(X,z|θ)l(θ)=maxθNi=1lnzP(xi,z|θ),采用极大似然估计,对θ求导,无法获取其解析形式,不能直接获取其结果。EM算法就是含有隐藏变量的概率模型参数估计方法。

2.算法

概括性的介绍,无法直接对l(θ)=Ni=1lnzP(xi,z|θ)求解,利用jessen不等式以及convex函数的性质,求l(θ)的下界,通过求下界的极大值,得到模型参数, ,所以并不是获取算法的全局最优解,而是局部最优。

EM参考手册对算法过程进行详细的推导,斯坦福视频也有一个推导过程,我理解EM参考手册中的推导更自然,而斯坦福视频推导更简练,直接match最后的结果。

推导过程:

l(θ)

=i=1NlnzP(xi,z|θ)

=i=1NlnzQ(z)P(xi,z|θ)Q(z)

=i=1NlnE(P(xi,z|θ)Q(z))

i=1NE(lnP(xi,z|θ)Q(z))

=i=1NzQ(z)lnP(xi,z|θ)Q(z)

其中 Q(z)0 , zQ(z)=1

Q(z)是z的分布函数,可以理解为z的概率密度函数

jensen不等式,ln E(x) >= E(ln(x))

现在将l(θ的参数估计转换成对其下界 Ni=1zQ(z)lnP(xi,z|θ)Q(z)的参数估计问题。

需要确定等式什么时候成立,只有等式成立时,下界的极大值最接近原始问题,lnE(P(xi,z|θ)Q(z))=E(lnP(xi,z|θ)Q(z))。根据Ng介绍,应该是P(xi,z|θ)Q(z)=constant时,等式成立。

需要 Q(z)P(xi,z|θ),同时,又有zQ(z)=1,则

Q(z)=P(xi,z|θ)zP(xi,z|θ)

=P(xi,z|θ)P(xi|θ)

=P(z|xiθ)

由此可见,Q(z)是在观察变量已知的情况下z的分布函数,是xi给定时z的后验概率。在实际的计算中,EM为迭代算法,计算Q(z)时,观察变量以及参数θ都是已知的

EM算法:

在给定Q(z)的情况下,可以利用上面的公式计算出lθ的下界,Estep是确定Q(z),而M-step则是利用确定的Q(z)以及公式Ni=1zQ(z)lnP(xi,z|θ)Q(z)计算极大似然估计

所以EM算法是:

Repeat untile convergence {

E step:

Q(z)=P(z|xi;θ)

M step:

θ=argmaxθNi=1zQ(z)lnP(xi,z|θ)Q(z)

}

在实际是使用中,Q(z)=P(xi,z|θ)P(xi|θ)θ为t轮迭代的结果,也就是P(xi,z|θt)P(xi|θt)

这时M step θt+1=argmaxθNi=1zQ(z|θt)lnP(xi,z|θt)Q(z|θt)

关于EM算法的收敛性,不再介绍。

关于EM的例子,主要介绍mixture模型,比如gaussian mixture model,接下来整理topic model plsi时,作为对EM实例介绍。

备注:关于为什么引入Q(z),我理解是数学上的技巧,比较好的构造这个形式。通过观察其他的推导过程,最后也是引入Q(z),解释为z的后验概率

from :http://www.hxxiaopei.com/?p=26

 

Expectation-Maximum(EM算法)

EM算法原理,深度理解。首先它是解决含隐变量(latent variable)情况下的参数估计问题,而求模型的参数时一般采用最大似然估计,由于含有了隐含变量,所以对似然函数参数求导是求不出来的,虽然通...
  • qq_39388410
  • qq_39388410
  • 2017-10-14 17:44:54
  • 854

The EM(Expectation–Maximization) Algorithm 详解

在统计计算中,最大期望(EM,Expectation–Maximization)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Lat...
  • daringpig
  • daringpig
  • 2012-10-10 10:39:19
  • 10252

EM算法(Expectation Maximization Algorithm)详解

EM算法(Expectation Maximization Algorithm)详解 主要内容 EM算法简介 预备知识 极大似然估计 Jensen不等式 EM算法详解 问题描述 EM算法推导 E...
  • zhihua_oba
  • zhihua_oba
  • 2017-06-27 11:44:49
  • 5877

Expectation Maximization-EM(期望最大化)-算法以及源码

在统计计算中,最大期望(EM)算法是在概率(probabilistic)模型中寻找参数最大似然估计的算法,其中概率模型依赖于无法观测的隐藏变量(Latent Variable)。最大期望经常用在机器学...
  • GarfieldEr007
  • GarfieldEr007
  • 2016-03-02 12:17:15
  • 1996

EM(Expectation-Maximization)算法-问题引入

参考 http://www.cnblogs.com/jerrylead 高斯混合模型下图以一维坐标系中的几个样本为例来说明混合高斯模型 由图中可以看出,样本的分布情况可以由两个高斯分布来近似表示...
  • yzheately
  • yzheately
  • 2016-04-14 15:59:53
  • 1481

EM算法(Expectation Maximization)

EM算法(Expectation Maximization) 1 极大似然估计     假设有如图1的X所示的抽取的n个学生某门课程的成绩,又知学生的成绩符合高斯分布f...
  • pi9nc
  • pi9nc
  • 2013-10-03 10:54:50
  • 7344

EM(Expectation-Maximization)算法

本文对EM(Expectation-Maximization)算法进行了深入浅出的讨论。对于EM算法使用情景、为什么需要EM算法、为什么EM算法如此使用、EM算法使用的合理性等进行了详尽的讨论,相信读...
  • zhangyalin1992
  • zhangyalin1992
  • 2014-11-05 21:50:49
  • 8508

机器学习小组知识点20:EM算法(Expectation - Maximization)

EM算法用途:参数估计。用于多种模型,思路简单,但用处很广。EM算法所需知识: 凸集 凸函数 Jensen不等式 极大似然估计 概率相关知识 手写笔记(Rachel Z...
  • Eric2016_Lv
  • Eric2016_Lv
  • 2016-11-24 21:51:18
  • 676

深入理解EM推导过程

首先都有参考两篇文章: http://www.cnblogs.com/jerrylead/archive/2011/04/06/2006936.html http://blog.csdn.ne...
  • xietingcandice
  • xietingcandice
  • 2015-03-26 19:36:17
  • 1345

Opencv2.4.9源码分析——Expectation Maximization

一、原理   期望极大算法(EM,Expectation Maximization)是一种能够得到极大似然参数估计的迭代方法。虽然EM算法在不同的领域被更早的提出,但它是由Dempster等人于197...
  • zhaocj
  • zhaocj
  • 2016-09-02 20:10:59
  • 2645
收藏助手
不良信息举报
您举报文章:EM(expectation maximization)理解以及推导过程
举报原因:
原因补充:

(最多只允许输入30个字)