EM算法总结

来源:互联网 发布:现在windows出到几了 编辑:程序博客网 时间:2024/06/06 16:42

0.EM

EM算法的目标是找到具有隐变量的模型的最大似然解。

1.普通的极大似然估计

概率模型没有隐变量时,似然函数:

L(θ)=L(x1,...,xn;θ)=i=1np(xi;θ),θΘ

这个概率反映了:在概率密度函数的参数是θ时,得到X这组样本的概率。
θ的极大似然估计:
θ^=argmaxL(θ)

或者使用对数似然函数:
LL(θ)=logL(θ)=i=1nlogp(xi;θ)

2.EM算法的引入

概率模型有时既含有观测变量,有含有隐变量。

2.1 写出对数似然函数

LL(θ)=i=1nlogp(xi;θ)=i=1nlogz(i)p(x(i),z(i);θ)

由于上式中存在“和的对数”的形式,所以不能像原来一样直接求导求解析解。这时就需要EM算法。
对数似然函数简单写法:
lnp(X|θ)=ln{Zp(X,Z|θ)}

2.2 实际情况

在实际应用中,我们通常没有完整数据集{X,Z},只有不完整数据集{X}。

2.3 Q函数(核心)

Q函数是完全数据的对数似然函数logP(X,Z|θ)关于给定观测数据X和当前参数θ(i) 的隐变量的后验概率分布P(Z|X,θ(i)) 的期望。

Q(θ,θ(i))=Ez[lnP(X,Z|θ)|X,θ(i)]=ZP(Z|X,θ(i))lnP(X,Z|θ)

个人理解:
很多地方,Q函数指的是观测数据Z的条件概率分布P(Z|X,θ(i))。这样写,是在推导EM算法的时候,使用Jensen不等式很方便。但是在理解EM算法的过程中,还是李航老师的这种表达比较容易理解。
记忆:取对数释然函数的主体P(X,Z|θ),前面加对数ln,然后关于已知的P(Z|X,θ)的期望。
另外Q(θ,θ(i)) 这样的表述方式容易让人迷惑。可以理解这还是一个关于θ的函数,但是会用到上一次更新的θ值。

2.4 EM算法过程

(1)选择参数的初值θ(0) ,开始迭代;
(2)E步:
计算

Q(θ,θ(i))=Ez[lnP(X,Z|θ)|X,θ(i)]=ZlnP(X,Z|θ)P(Z|X,θ(i))

(3)M步:
θ(i+1)=argmaxQ(θ,θ(i))

(4)停止迭代的条件:
一般给定两个较小的正数ε1,ε2
若满足
||θ(i+1)θ(i)||<ε1

||Q(θ(i+1),θ(i))Q(θ(i),θ(i))||<ε2

则停止迭代。

0 0
原创粉丝点击