要求:用EM算法实现基于GMM的聚类算法。
一、实验数据
参考[1] 3.3.2章节。由两个二维高斯分布混合生成1000个数据,混合系数分别是0.4、0.6,均值和方差如下:
mu1=[-2,-2]
sigma1=[1.2, 0.5, 0.5, 1]
mean2=[2,2]
sigma2=[1.5, 0.7, 0.7, 1]
二、实验过程、结果与分析
2.1 数据散点图
2.2 用mclust包实现
R语言自带mclust包可对混合高斯分布实现EM聚类,cluster1有391个数据,cluster2有609个数据。
2.3 我的实现
算法迭代47次后收敛,cluster1中有387个数据,cluster2中有613个数据。