EM算法是一种优化迭代策略,最适合数据集不完全的情况, 常用来预测高斯混合模型的参数,隐式马尔科夫,该算法分为E步(期望步)和M布(极大步)。基本思想是:先根据已经观测的数据,估计出模型的参数,然后使用这些参数,估计缺失的数据,将缺失的数据和已经观测的数据再重新估计参数,如此反复,直到收敛。
算法步骤:
(1)随机初始化模型参数的初值,设置最大迭代次数,输入观测数据X,联合分布p(x,z;),条件分布p(z|x,),这里z就是观测不到的数据,x是可以观测的数据。
(2)E步骤:求解,如果是混合高斯分布,求解:
(3)M步骤:极大化,求导等于0即可,可以得到相应的
如果是混合高斯分布,则公式如下:
(4)重新代入求解,如果目标参数收敛则可以退出。
参考: