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

 

相关文章推荐

EM算法(Expectation Maximization)

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

The EM(Expectation–Maximization) Algorithm 详解

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

EM(Expectation-Maximization)算法

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

EM算法原理详解

http://blog.csdn.net/pipisorry/article/details/42550815EM算法有很多的应用,最广泛的就是GMM混合高斯模型、聚类、HMM、基于概率的PLSA模型...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

十大机器学习算法之最大期望算法(EM,Expectation-Maximization算法)

一、算法简介 最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(latent variable)的概率参数模型...

百度2014校园招聘笔试题 ——深度学习算法研发工程师.

转自:http://blog.csdn.net/luoweifu/article/details/12685169 一、简答题 1.深度神经网络目前有哪些成功的应用?简述原因。(10分) ...

EM (Expectation Maximization) 算法理解

EM算法理解

EM, Expectation maximization

EM 算法是机器学习中比较重要的算法,可以用来做聚类。其EM的思想在才是最重要(不断的优化下界来逼近上界)。当我们面临二个参数需要优化的时候,只要符合EM的不等式(凸函数),可以采用这种思想,先定一个...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:EM(expectation maximization)理解以及推导过程
举报原因:
原因补充:

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