EM算法
2012-03-10 17:38
281 查看
我所知道的最简单的EM算法推导:
预备知识: jessen不等式
这里不详细讲解Jessen不等式,大家可以google,这里只大概讲解其意思,就是对于凹函数f(x)(即大肚子向上,口子向下,国外和国内的定义不同,特此注明),
f(E(x)) >= E(f(x)); 若是凸函数,不等号的方向相反。等号成立的条件是x是常变量,即各个值相等
推导:
假设X是已知变量,H是隐藏变量,\theta是参数
目标是推断出已知X的情况下,\theta的取值,采用最大似然的方法,我们的目标是求取MAX log p(X| \theta),
EM算法采用迭代的方法去求取。
log p(X|\theta) =log \sum_H p(X,H|\theta) = log \sum_H q(H)*p(X,H|\theta)/ q(H) = log E(p(X,H| \theta)/q(H))
>= \sum_H q(H) log(p(X,H| \theta)/q(H)), 这时只要这个下界取得最大即可使得所求最大,那么等式成立的条件是
p(X,H| \theta)/q(H)) = c , c是常数
即p(X,H| \theta) = c* q(H), 两边同时取和,可以得到c = \sum_H p(X,H| \theta)
可以求得q(H)= p(X,H|\theta)/c = p(X,H|\theta)/ \sum_H P(X,H|\theta) = p(H|X,\theta), 这里大家一定要仔细理解
即当q(H)取p(H|X,\theta)时,我们的所求能得到最大值,这里有个隐含的假设,即\theta是已知的。这即就是EM算法中的E步骤,E即就是期望,我们看看下界,是否是期望,我们求取q(H)的过程是否是使得期望最大?这就是E的来源。
现在推导M步骤,在得知H的分布后,我们继续求取最大值,这时我们假设\theta未知,要用已知的H去求取最大的\theta
这时,求取下界\sum_H q(H) log(p(X,H| \theta)/q(H))最大的过程就是EM算法中的M步骤,依赖具体的应用。
预备知识: jessen不等式
这里不详细讲解Jessen不等式,大家可以google,这里只大概讲解其意思,就是对于凹函数f(x)(即大肚子向上,口子向下,国外和国内的定义不同,特此注明),
f(E(x)) >= E(f(x)); 若是凸函数,不等号的方向相反。等号成立的条件是x是常变量,即各个值相等
推导:
假设X是已知变量,H是隐藏变量,\theta是参数
目标是推断出已知X的情况下,\theta的取值,采用最大似然的方法,我们的目标是求取MAX log p(X| \theta),
EM算法采用迭代的方法去求取。
log p(X|\theta) =log \sum_H p(X,H|\theta) = log \sum_H q(H)*p(X,H|\theta)/ q(H) = log E(p(X,H| \theta)/q(H))
>= \sum_H q(H) log(p(X,H| \theta)/q(H)), 这时只要这个下界取得最大即可使得所求最大,那么等式成立的条件是
p(X,H| \theta)/q(H)) = c , c是常数
即p(X,H| \theta) = c* q(H), 两边同时取和,可以得到c = \sum_H p(X,H| \theta)
可以求得q(H)= p(X,H|\theta)/c = p(X,H|\theta)/ \sum_H P(X,H|\theta) = p(H|X,\theta), 这里大家一定要仔细理解
即当q(H)取p(H|X,\theta)时,我们的所求能得到最大值,这里有个隐含的假设,即\theta是已知的。这即就是EM算法中的E步骤,E即就是期望,我们看看下界,是否是期望,我们求取q(H)的过程是否是使得期望最大?这就是E的来源。
现在推导M步骤,在得知H的分布后,我们继续求取最大值,这时我们假设\theta未知,要用已知的H去求取最大的\theta
这时,求取下界\sum_H q(H) log(p(X,H| \theta)/q(H))最大的过程就是EM算法中的M步骤,依赖具体的应用。
相关文章推荐
- PLSA中的EM算法
- EM算法学习笔记_1(对EM算法的简单理解)
- EM算法
- 从最大似然到EM算法浅解
- EM算法详解
- EM算法训练GMM的Matlab实现过程(总结)
- GMM的EM算法实现
- 实例理解EM算法
- 混合高斯模型(Mixtures of Gaussians)和EM算法
- 【未读】概率语言模型及其变形系列(1)-PLSA及EM算法
- Clustering算法、EM算法总结
- EM算法
- 斯坦福大学机器学习——EM算法求解高斯混合模型
- EM算法学习(Expectation Maximization Algorithm)
- 核密度估计、混合模型,潜变量和EM算法(mixture model,latent variable and EM algorithm)
- EM算法
- OpenCV_EM算法
- EM算法
- EM算法
- EM算法简单理解