自己的理解
目标θ̃ =argmaxθP(Y|θ)
即我们要估计一个合理的θ̃ 使得P(Y|θ) 达到最大值
如果存在隐变量Z ,我理解为Z 是一个没有表现出来但是又是必要的一个中间态,那么P(Y|θ) 可以表示为P(Y|θ)=P(Y,Z|θ)=∑ZP(Y|Z,θ)P(Z|θ)
然后想象一下迭代的过程,即从θi 到θi+1 的过程,每次迭代应该是要满足P(Y|θi+1)>P(Y|θi) ,考虑对数似然函数L(θ)=logP(Y|θ)
L(θ)−L(θi)=logP(Y|θ)−logP(Y|θi)
=log∑ZP(Y|Z,θ)P(Z|θ)−logP(Y|θi)
=log∑ZP(Z|Y,θi)P(Y|Z,θ)P(Z|θ)P(Z|Y,θi)−logP(Y|θi)
由Jensen不等式log∑jλjyj≥∑jλjlogyj ,其中λj≥0,∑jλj=1 ,原式变为
≥∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)−∑ZP(Z|Y,θi)P(Y|θi)
=∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)
则θi+i=argmaxθL(θi)+∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)P(Z|Y,θi)
=argmaxθ∑ZP(Z|Y,θi)logP(Y|Z,θ)P(Z|θ)+ 常数项
=argmaxθQ(θ,θi)
EM的算法步骤可以因此分解成
确隐变量,写出完全数据的对数似然函数(完全数据就是Z数据和Y数据,不完全数据就是只有Y数据)
E 步:计算Q 函数
M 步:迭代估计θ 优点:简单性和普适性,可看作是一种非梯度优化方法(解决梯度下降等优化方法的缺陷:求和的项数将随 着隐变量的数目以指数级上升,会给梯度计算带来麻烦)
缺点:对初始值敏感,不同的初值可能得到不同的参数估计值;不能保证找到全局最优值。EM求解原理:
因为在求解一个含有隐变量的概率模型时,目标是极大化观测数据关于参数的对数似然函数,而极大化的主要困难是含有未观测数据并有包含和的对数,而EM算法是通过迭代,不断求解下界的极大化,来逐步求解对数似然函数极大化。采用EM算法求解的模型有哪些?为什么不用牛顿法或者梯度下降法?
一般有混合高斯、协同过滤、k-means。算法一定会收敛,但是可能会收敛到局部最优。求和的项数会随着隐变量的数目指数上升,会给梯度计算带来麻烦。EM算法是一种非梯度优化算法。用EM算法推导解释K-means:
k-means算法是高斯混合聚类在混合成分方差相等,且每个样本仅指派一个混合成分时候的特例。k-means算法与EM算法的关系是这样的:
· k-means是两个步骤交替进行:确定中心点,对每个样本选择最近中心点–> E步和M步。
· E步中将每个点选择最近的类优化目标函数,分给中心距它最近的类(硬分配),可以看成是EM算法中E步(软分配)的近似。
· M步中更新每个类的中心点,可以认为是在「各类分布均为单位方差的高斯分布」的假设下,最大化似然值;
来源:http://blog.csdn.net/qq_34896915/article/details/75040578
EM算法知识点整理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.