高斯混合模型的重要概念:
1)任意数据分布可用高斯混合模型(M个单高斯)表示((1)式)
(1)
其中:
(2)
(3) 表示第j个高斯混合模型
2)N个样本集X的log似然函数如下:
(4)
其中:
参数:, (5)
算法的流程步骤:
1)初始值的设定:
由k-means聚类算法对样本进行聚类,并计算出各类均值、先验概率以及协方差
2)估计步骤(E-step):
(7)
这即是后验概率,每个样本对每一聚类都有一个后验概率,故最后得到的是N*M的矩阵(N为样本的个数,M为SGM的个数,这样每一列即是对应类的后验概率)
3)M步(最大化步骤)
更新权值:
更新均值:
更新方差矩阵:
4)迭代截止条件
不断迭代EM步骤,更新参数,直到似然函数前后差值小于一个阈值,或者参数前后之间的差(一般选择欧式距离)小于某个阈值,终止迭代,这里选择前者。
代码可参见: http://blog.csdn.net/crzy_sparrow/article/details/7413019