通常采用EM对GMM参数进行估计。EM(期望值最大,Expectation Maximum)算法思想比较简单,主要分为两个步骤,估计步骤E-step和最大化步骤M-step。首先利用样本对参数进行估计,然后在M-step中将需要估计的参数最大化(通常是求其最大似然估计),不断地迭代此两个步骤,直到收敛。
下面写一下采用EM估计GMM的步骤:
1、初始值确定。
方案1:将协方差矩阵设为单位矩阵,每个模型的先验概率设为1/M,均值设为随机数,即:
![]()
方案2:有k均值(k-mean)聚类算法对样本进行聚类,利用各类的均值作为均值初始值,并计算协方差矩阵作为初始值,每个模型的先验概率取各类样本占样本总数的比例。
2、估计步骤(E-step)
![clip_image002[9] clip_image002[9]](http://hi.csdn.net/attachment/201012/2/0_1291267672DktE.gif)
3、最大化步骤(M-step)
分别按下式更新权值、均值和协方差矩阵:
![clip_image002[11] clip_image002[11]](http://hi.csdn.net/attachment/201012/2/0_12912676759Ayi.gif)
有的文献把协方差矩阵当作对角阵处理,则有
![clip_image002[13] clip_image002[13]](http://hi.csdn.net/attachment/201012/2/0_12912676751Dj2.gif)
但是这样的假设会给最终结果带来误差,故在运算速度能保证的情况下最好还是采用正常的协方差矩阵估计方法。
4、收敛条件
方案1:不断地迭代E和M步骤,直到:

方案2:不断地迭代E和M步骤,直到:
![clip_image002[5] clip_image002[5]](http://hi.csdn.net/attachment/201012/2/0_12912676766H92.gif)
方案1和方案2最终效果接近,但方案2明显运算量小,故一般使用方案2。
整个估计过程就是这样,其中有很多公式推导,没有仔细研究,有时间再看看吧。
(以上内容根据某资料整理,如有雷同,不胜荣幸)
这篇博客详细介绍了如何采用EM(期望值最大)算法估计高斯混合模型(GMM)的参数,包括初始化、E-step(估计步骤)和M-step(最大化步骤),并讨论了两种不同的收敛条件。内容涵盖了初始值设定、参数更新公式以及对协方差矩阵的处理,强调了在实际应用中考虑完整协方差矩阵的重要性。

1129

被折叠的 条评论
为什么被折叠?



