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=1nlog∑z(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
则停止迭代。