EM算法是一种迭代算法,全称为期望极大算法(expectation maximization algorithm),用于含有隐变量(hidden variable)的概率模型参数的极大似然估计,或极大后验概率估计。
一、EM算法的原理
EM算法
输入:观测变量数据Y,隐变量数据Z,联合分布P(Y,Z|θ),条件分布P(Z|Y,θ);
输出:模型参数θ
(1)选择参数的初值θ0,开始迭代;
(2)E步:记θi为第i次迭代参数θ的估计值,在第i+1次迭代的E步,计算
这里,P(Z|Y,θi)是在给定观测数据Y和当前的参数估计θi下隐变量数据Z的条件概率分布;
(3)M步:求使Q(θ,θi)极大化的θ,确定第i+1次迭代的参数的估计值θi+1
(4)重复第(2)步和第(3)步,直到收敛。
其中