EM (Expectation Maximization) 算法理解
2015-06-07 11:42
169 查看
主要用途
解决存在隐含随机变量的估计问题:最大似然估计(MLEMLE),最大后验概率。
原理
给定一个数据集 x1,x2,...,xnx^1,x^2,...,x^n,估计如下最大化问题:
此处,zz(取值从z1z^1到zmz^m)是隐含随机变量(可以看成是xix^i的标签),因为不知道z1z^1到zmz^m的具体取值,因而上述问题难以求解。
下面用EM算法来求解
其中∑z=zj,j=1:mQi(z)=1∑_{z=z^j,j=1: m}Q^i (z)=1,这样得到了l(θ)l(θ)的一个下界。
为了使得等式成立,有:
因此:
EM算法过程 (不断迭代,直到收敛)
EE过程
对于每一个ii,求Qi(z)=p(z|xi;θ)Q^i (z)=p(z|x^i;θ)
(注意: EE 过程中的θθ是由上一个MM过程求得,最开始迭代所用θθ是随机初始化的)。
MM过程
收敛性(此处应该以验证的角度来看,而不是以具体计算过程的角度来看)
此处已经假设 QiQ^i中的 θt+1θ^{t+1}是求解到了的,这就是为什么以验证的角度来看
此处已经假设 QiQ^i中的 θtθ^t是求解到了的,这就是为什么以验证的角度来看
注:第一个不等式只有在QiQ^i取值合适(JensenJensen inequalityinequality等号成立条件)时才有等号成立,第二个不等式是由“MM过程”得到,其中的两个等式是由“EE过程”得到。
参考文献
1 期望最大化算法, binary_seach, December 3, 2012
2 CS 229 Lecture notes, Andrew Ng
深入理解与阅读
http://blog.tomtung.com/2011/10/em-algorithm/
解决存在隐含随机变量的估计问题:最大似然估计(MLEMLE),最大后验概率。
原理
给定一个数据集 x1,x2,...,xnx^1,x^2,...,x^n,估计如下最大化问题:
此处,zz(取值从z1z^1到zmz^m)是隐含随机变量(可以看成是xix^i的标签),因为不知道z1z^1到zmz^m的具体取值,因而上述问题难以求解。
下面用EM算法来求解
其中∑z=zj,j=1:mQi(z)=1∑_{z=z^j,j=1: m}Q^i (z)=1,这样得到了l(θ)l(θ)的一个下界。
为了使得等式成立,有:
因此:
EM算法过程 (不断迭代,直到收敛)
EE过程
对于每一个ii,求Qi(z)=p(z|xi;θ)Q^i (z)=p(z|x^i;θ)
(注意: EE 过程中的θθ是由上一个MM过程求得,最开始迭代所用θθ是随机初始化的)。
MM过程
收敛性(此处应该以验证的角度来看,而不是以具体计算过程的角度来看)
此处已经假设 QiQ^i中的 θt+1θ^{t+1}是求解到了的,这就是为什么以验证的角度来看
此处已经假设 QiQ^i中的 θtθ^t是求解到了的,这就是为什么以验证的角度来看
注:第一个不等式只有在QiQ^i取值合适(JensenJensen inequalityinequality等号成立条件)时才有等号成立,第二个不等式是由“MM过程”得到,其中的两个等式是由“EE过程”得到。
参考文献
1 期望最大化算法, binary_seach, December 3, 2012
2 CS 229 Lecture notes, Andrew Ng
深入理解与阅读
http://blog.tomtung.com/2011/10/em-algorithm/
相关文章推荐
- [准备篇4]VMWare搭建Openstack——配置OpenStack镜像源
- URAL 1224. Spiral (规律)
- ThinkPHP隐藏index.php出现No input file specified的解决方法
- 【leetcode】Count Primes
- [镜像制作]VMWare搭建Openstack——Ubuntu怎么制作最小的镜像文件(二)
- [leetcode] Remove Element
- 动态存储管理
- 练习作品7:批量做字库 识别码
- Ubuntu14.04,64位操作系统安装部分android32位lib不兼容问题
- 读刘未鹏老师的《怎样花两年时间去面试一个人》有感
- Ubuntu安装apache+php+mysql
- Tiny4412-LED小灯裸机程序
- javascript标签位置以及defer、async属性的区别
- error C2512: “Rectangle”: 没有合适的默认构造函数可用
- [镜像制作]VMWare搭建Openstack——Ubuntu怎么制作最小的镜像文件(一)
- css选择器
- "lianren"项目解析(一)
- 9.线性回归
- oracle异常
- Java异常