EM算法是一种迭代算法,用于含有隐变量的概率模型参数的极大似然估计或极大后验概率估计。
EM算法(期望极大算法)的每次跌代由两步完成:E步,求期望(exceptation);M步,求极大(maximization)
1、EM算法含有隐变量的概率模型的数据表示为P(Y,Z|𝞱)Y是观测变量的数据,Z是隐变量的数据,𝞱是模型参数,EM算法通过迭代求解观测数据的对数似然函数 L ( θ ) = log P ( Y ∣ θ ) 的极大化。实现极大似然估计。每次迭代包括两步:E步。求期望,即求P(Y,Z|𝞱)关于P(Y,Z|𝞱)的期望:
称为Q函数,这里𝞱(i)是参数的现估计值;M步,求极大,即极大化Q函数得到参数的新估计值:
在构建具体的EM算法时,重要的是定义Q函数,每次迭代中,EM算法通过极大化Q函数来增大对数似然函数L(𝞱)
2、EM算法在每次迭代后均提高观测数据的似然函数值。在一般条件下EM算法是收敛的,但不能保证收敛到全局最优。
3、EM算法应用及其广泛,主要应用于含有隐变量的概率模型的学习。应用有高斯混合模型的参数估计,隐马尔可夫模型的无监督学习。
4、EM算法可解释为F函数的极大-极小算法,EM算法有许多变形,如GEM算法。