EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计,或极大后验概率估计。
EM算法的每次迭代由两步组成:E步,求期望;M步,求极大。所以这一算法称为期望极大算法,简称EM算法。
EM算法与初值得选择有关,选择不同的初值可能得到不同的参数估计值。
一般地,用Y表示观测随机变量的数据,Z表示隐随机变量的数据。Y和Z连在一起称为完全数据,观测数据Y又称为不完全数据。
EM算法
输入:观测变量数据Y,隐变量数据Z,联合分布
P(Y,Z|θ) ,条件分布P(Z|Y,θ) ;
输出:模型参数θ
(1)选择参数的初始值θ(0) ,开始迭代
(2)E步:记θ(i) 为第i此迭代参数θ 的估计值,在第i+1此迭代的E步,计算
Q(θ,θ(i))=Ez[logP(Y,Z|θ)|Y,θ(i)]=∑ZlogP(Y,Z|θ)P(Z|Y,θ(i))(9.9)
这里,P(Z|Y,θ(i)) 是在给定观测数据Y和当前的参数估计θ(i) 下隐变量数据Z的条件概率分布;
(3)M步:求使得Q(θ,θ(i)) 极大化的θ ,确定第i+1次迭代的参数的估计值θ(i+1)
θ(i+1)=argmaxθQ(θ,θ(i))
(4)重复第(2)步和第(3)步,直到收敛。
式(9.9)的函数
EM算法是通过不断求解下界的极大化逼近对数似然函数极大化的算法。
EM算法不能保证找到全局最优值。
待补充