EM算法又称期望极大算法,是一种迭代算法,每次迭代由两步组成:E步,求期望(expectation);M步,求极大(maximization)。
算法背景
如果概率模型的变量都是观测变量,那么可以直接用极大似然估计法,或贝叶斯估计法估计模型参数。但是,当模型含有隐变量时,就需要考虑EM算法,EM算法是含有隐变量的概率模型参数的极大似然估计法。
EM算法
输入:观测变量数据Y,隐变量数据Z,联合分布,条件分布
输出:模型参数
1.选择参数的初值,开始迭代;
EM算法对初值敏感
2.E步:记为第 次迭代参数的估计值,在第次迭代的步,计算
是在给定观测数据和当前的参数估计下隐变量数据的条件概率分布
是完全数据的对数似然函数关于在给定观测数据和当前的参数估计下隐变量数据的条件概率分布的期望。
其中,第一个变元是要极大化的参数,第二个变元是参数的当前估计。
3.M步:求使极大化的,确定第 次迭代的参数的估计值
每次迭代使似然函数增大或达到局部极值
4.重复第2步和第3步,直到收敛。
收敛条件通常为:或