Mix Gaussian In EM
算法原理简述:
概率模型有时即含有观测变量,又含有隐变量或者潜在变量。如果概率模型的变量都是观测变量,那么给定数据,可以直接用最大似然估计的方法或者贝叶斯估计法估计参数模型。当含有隐变量时,我们就不能直接使用这些方法,EM方法就是含有隐含变量的概率模型参数的极大似然估计法。
EM算法主要包括了:
- 得到 Q函数
- E步计算
- Q步计算
其中Q函数是完全数据的对数似然函数在给定观测数据和当前参数下,对未观测数据的条件概率分布的期望。
本文中实现的是利用EM算法对高斯混合模型的进行参数估计.
代码如下:
|
|
结果说明:
在利用两个高斯分布分别为N(20, 20)和N(40, 40)的情况下,按照概率0.5和0.5分别产生10000个数据。通过EM算法的估计结果如下:
可以看到对于参数的估计还是相当准确的。需要注意的是在训练模型的初始值的设定时,偏离与待估计参数太大的情况容易导致估计失败,即EM算法对于初始值敏感,并且不能保证收敛到全局最优。所以我们可以多次选取初始值而后对估计结果取平均来保证参加估计的正确性。