EM算法简单介绍
2016-07-02 22:56
316 查看
EM背景介绍
1.概率模型有事既含有观测变量,又含有隐变量。比如HMM中的隐状态。 如果概率模型的变量是观测变量,那么给定训练数据,可以直接用最大似然估计或者最大后验估计或者贝叶斯估计来求得参数模拟数据的分布,当然也可以用非参估计(比较复杂)。但是,当模型含有隐变量,就不能简单的用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计方法。
EM过程
1.EM算法是一种迭代算法。EM算法每次迭代分为2步:E步,求期望;M ,求极值。
EM算法
EM算法的基本思想:随机选取来初始化待估计参数θ(0),然后不断迭代赵更优的θ(n+1),使得其似然L(θn+1)比原来的L(θ(n))更大。即如果我们现在得到θ(n),想求θ(n+1)使得:
θ(n+1)=maxθ(L(θ)−L(θ(n)))
我们已知log似然为L(θ)=log(P(X|θ),其中X是已观测的随机变量。现在转向 complete data log-likelihood 的概率。所谓 complete data 就是模型中隐变量也被观测到了。与L(θ)不同的是,
Lc(θ)=logP(X,H|θ)Lc(θ)
=logP(X,H|θ)=log(P(X|H,θ)P(H|θ))
=L(θ)+logP(X|H,θ)
引入上述概念后,则
L(θ)−L(θn)
=Lc(θ)−logP(X|H,θ)−L(θn)
=Lc(θ)−logP(X|H,θ)−Lc(θn)+logP(X|H,θn)
=Lc(θ)−Lc(θn)+logP(X|H,θn)P(X|H,θ)
对上式两边同时求P(H|X,θn)的期望,得到:
L(θ)−L(θn)
=∑HLc(θ)P(H|X,θn)
−∑HLc(θn)P(H|X,θn)
+∑HP(H|X,θn)logP(X|H,θn)P(X|H,θ)
上面=左边不变的原因是,H没有出现在似然L中。上式右边最后一项可以看做P(X|H,θn)和P(X|H,θ)的KL-divergence(2个分布的相似度KL-divergence的性质),他的值是非负的。则
L(θ)−L(θn)>=∑HLc(θ)P(H|X,θn)−∑HLc(θn)P(H|X,θn)
L(θ)>=∑HLc(θ)P(H|X,θn)−∑HLc(θn)P(H|X,θn)+L(θn)
因此我们得到L(θ)的一个下界。EM算法就是不断的最大化这个下界,从而使得L(θ) 不断最大化。上公式最后2项是和θ无关的,可以看做常数。因此我们最终任务是最大化:
EP(H|X,θn)(Lc(θ))=∑HLc(θ)P(H|X,θn)。上式就是所谓的Q函数了。记为Q(θ;θn)。
综上述,EM算法步骤如下
1、随机选取(极大似然)或者根据先验知识(最大后验估计)来初始化θ0。
2、迭代执行下面2步E和M
a)、E-step(期望) 计算Q(θ;θn)
b)、M-step(maximization) 重新估计参数θ,即求θ(n+1)使得θ(n+1)=argmaxθQ(θ;θn)
3、直至收敛。
注意EM不能保证收敛到最优解(凸有最优解),只能局部最优解
总结:更新θn后产生新的Q函数,再求新的Q函数的极大值得到新的θn+1,而目标函数L(θ)始终是大于等于Q函数的,迭代N次后L(θ)越来越多直至收敛。收敛性证明就不说了!
参考文献:A Note on EM Algorithm and PLSA XinYan Lu
1.概率模型有事既含有观测变量,又含有隐变量。比如HMM中的隐状态。 如果概率模型的变量是观测变量,那么给定训练数据,可以直接用最大似然估计或者最大后验估计或者贝叶斯估计来求得参数模拟数据的分布,当然也可以用非参估计(比较复杂)。但是,当模型含有隐变量,就不能简单的用这些估计方法。EM算法就是含有隐变量的概率模型参数的极大似然估计方法。
EM过程
1.EM算法是一种迭代算法。EM算法每次迭代分为2步:E步,求期望;M ,求极值。
EM算法
EM算法的基本思想:随机选取来初始化待估计参数θ(0),然后不断迭代赵更优的θ(n+1),使得其似然L(θn+1)比原来的L(θ(n))更大。即如果我们现在得到θ(n),想求θ(n+1)使得:
θ(n+1)=maxθ(L(θ)−L(θ(n)))
我们已知log似然为L(θ)=log(P(X|θ),其中X是已观测的随机变量。现在转向 complete data log-likelihood 的概率。所谓 complete data 就是模型中隐变量也被观测到了。与L(θ)不同的是,
Lc(θ)=logP(X,H|θ)Lc(θ)
=logP(X,H|θ)=log(P(X|H,θ)P(H|θ))
=L(θ)+logP(X|H,θ)
引入上述概念后,则
L(θ)−L(θn)
=Lc(θ)−logP(X|H,θ)−L(θn)
=Lc(θ)−logP(X|H,θ)−Lc(θn)+logP(X|H,θn)
=Lc(θ)−Lc(θn)+logP(X|H,θn)P(X|H,θ)
对上式两边同时求P(H|X,θn)的期望,得到:
L(θ)−L(θn)
=∑HLc(θ)P(H|X,θn)
−∑HLc(θn)P(H|X,θn)
+∑HP(H|X,θn)logP(X|H,θn)P(X|H,θ)
上面=左边不变的原因是,H没有出现在似然L中。上式右边最后一项可以看做P(X|H,θn)和P(X|H,θ)的KL-divergence(2个分布的相似度KL-divergence的性质),他的值是非负的。则
L(θ)−L(θn)>=∑HLc(θ)P(H|X,θn)−∑HLc(θn)P(H|X,θn)
L(θ)>=∑HLc(θ)P(H|X,θn)−∑HLc(θn)P(H|X,θn)+L(θn)
因此我们得到L(θ)的一个下界。EM算法就是不断的最大化这个下界,从而使得L(θ) 不断最大化。上公式最后2项是和θ无关的,可以看做常数。因此我们最终任务是最大化:
EP(H|X,θn)(Lc(θ))=∑HLc(θ)P(H|X,θn)。上式就是所谓的Q函数了。记为Q(θ;θn)。
综上述,EM算法步骤如下
1、随机选取(极大似然)或者根据先验知识(最大后验估计)来初始化θ0。
2、迭代执行下面2步E和M
a)、E-step(期望) 计算Q(θ;θn)
b)、M-step(maximization) 重新估计参数θ,即求θ(n+1)使得θ(n+1)=argmaxθQ(θ;θn)
3、直至收敛。
注意EM不能保证收敛到最优解(凸有最优解),只能局部最优解
总结:更新θn后产生新的Q函数,再求新的Q函数的极大值得到新的θn+1,而目标函数L(θ)始终是大于等于Q函数的,迭代N次后L(θ)越来越多直至收敛。收敛性证明就不说了!
参考文献:A Note on EM Algorithm and PLSA XinYan Lu
相关文章推荐
- MAC下基于JAVA和Tomcat的微信二次开发环境配置
- 最短路程
- win10激活的帖子
- python中%r和%s的区别
- Linux下设置memcached访问IP
- 库克访华开座谈会 中国开发者逐渐受重视
- MyBatis的XML配置文件(一)
- cocos2dx打包apk
- 2016-7-2 杂感
- Hyper-V虚拟机不能上网问题的解决方法
- delegate的使用
- 理发
- 网页如何有效调用exe
- 开启MyBatis(三)工作原理
- WebService—WSDL详解
- 新浪微博iOS客户端架构与优化之路
- 151. Reverse Words in a String
- linux 内核 编绎配制选项详解
- HDU 5325 Crazy Bobo
- 统计一个字符串中单个字符出现的次数