主要内容

基于硬聚类的高斯混合数据聚类

这个例子展示了如何在混合高斯分布的模拟数据上实现硬聚类。

高斯混合模型可以用于聚类数据,实现拟合模型的多元正态分量可以表示聚类。

模拟混合高斯分布的数据

模拟数据从两个二元高斯分布的混合物使用mvnrnd

rng (“默认”%用于再现性Mu1 = [1 2];Sigma1 = [3 .2;2 2);Mu2 = [-1 -2];Sigma2 = [2 0;0 1];X = [mvnrnd(mu1, sigma1200);mvnrnd (mu2 sigma2,100)];n = size(X,1);图散射(X(: 1),(:, 2), 10日“柯”

图中包含一个轴对象。坐标轴对象包含一个散点类型的对象。

模拟数据拟合高斯混合模型

拟合双组分高斯混合模型。在这里,您知道要使用的组件的正确数量。在实践中,对于真实的数据,这个决定需要比较具有不同数量组件的模型。另外,请求显示期望最大化拟合例程的最终迭代。

选项= statset(“显示”“最后一次”);gm = fitgmdist(X,2,“选项”选项)
26次迭代,log-似然= -1210.59 gm =二维2分量高斯混合分布组件1:混合比例:0.629514均值:1.0756 2.0421组件2:混合比例:0.370486均值:-0.8296 -1.8488

绘制双组分混合物分布的估计概率密度等高线。这两个二元正态分量重叠,但它们的峰值不同。这表明数据可以合理地分为两组。

持有gmPDF = @ (x, y) arrayfun (@ (x0, y0) pdf(通用、(x0, y0)), x, y);fcontour (gmPDF[8 6])标题(散点图和拟合的GMM等高线)举行

图中包含一个轴对象。标题为散点图和拟合GMM等高线的轴对象包含2个类型为散点、函数等高线的对象。

利用拟合的GMM进行数据聚类

集群实现“硬聚类”,一种将每个数据点精确分配到一个聚类的方法。GMM,集群将每个点分配给GMM中的两个混合成分之一。每个聚类的中心是对应的混合分量均值。有关“软集群”的详细信息,请参见基于软聚类的高斯混合数据聚类

通过将拟合的GMM和数据传递给集群

idx = cluster(gm,X);Cluster1 = (idx == 1);% |1|为集群1成员Cluster2 = (idx == 2);% |2|为集群2成员图gscatter (X (: 1), (:, 2), idx,rb的' + o ')传说(“集群1”《集群2》“位置”“最佳”

图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示集群1、集群2。

每个聚类对应于混合分布中的一个二元正态分量。集群根据集群成员资格分数将数据分配给集群。每个簇成员分数是数据点来自相应组件的估计后验概率。集群将每个点分配给对应于最高后验概率的混合分量。

你可以通过将拟合的GMM和数据传递给以下任何一个来估计聚类成员的后验概率:

  • 集群,并请求返回第三个输出参数

估计聚类隶属度后验概率

估计并绘制每个点的第一个分量的后验概率。

P =后验(gm,X);图散射(X (cluster1, 1), X (cluster1, 2), 10, P (cluster1, 1),“+”)举行散射(X (cluster2, 1), X (cluster2, 2), 10, P (cluster2, 1),“o”)举行Clrmap = jet(80);colormap (clrmap (9:72:)) ylabel (colorbar,“成分1后验概率”)传说(“集群1”《集群2》“位置”“最佳”)标题(“散点图和聚类1后验概率”

图中包含一个轴对象。标题为散点图和簇1后验概率的轴对象包含2个散点类型的对象。这些对象表示集群1、集群2。

P是一个n-by-2矩阵的聚类隶属度后验概率。第一列包含聚类1的概率,第二列对应于聚类2。

向集群分配新数据

你也可以使用集群方法将新数据点分配给原始数据中发现的混合成分。

模拟混合高斯分布的新数据。而不是使用mvnrnd,您可以使用以下命令创建具有真实混合分量均值和标准偏差的GMMgmdistribution,然后将GMM传递给随机模拟数据。

Mu = [mu1;mu2];= cat(3,sigma1,sigma2);P = [0.75 0.25];混合比例gmTrue = gmdistribution(Mu,Sigma,p);X0 = random(gmTrue,75);

通过传递拟合的GMM (通用汽车),并将新数据传送至集群.请求集群成员后验概率。

[idx0,~,P0] = cluster(gm,X0);图fcontour (gmPDF [min (X0 (: 1)) max (X0(: 1))最小(X0(:, 2))最大(X0 (:, 2))))gscatter (X0 (: 1), X0 (:, 2), idx0,rb的' + o ')传说(“拟合GMM轮廓”“集群1”《集群2》“位置”“最佳”)标题(“新的数据集群分配”)举行

图中包含一个轴对象。标题为New Data Cluster Assignments的axis对象包含3个类型为functionalcontour, line的对象。这些对象代表拟合的GMM轮廓,簇1,簇2。

集群为了在聚类新数据时提供有意义的结果,X0应该来自相同的人群X,用于创建混合物分布的原始数据。特别是在计算后验概率时X0集群而且使用估计的混合概率。

另请参阅

||||

相关的话题