主要内容

用硬聚类方法聚类高斯混合数据

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

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

模拟混合高斯分布的数据

模拟来自两个二元高斯分布的混合数据mvnrnd

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

图中包含一个axes对象。axes对象包含一个scatter类型的对象。

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

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

选择= statset (“显示”,“最后一次”);通用= fitgmdist (X 2“选项”选项)
26次迭代,log-likelihood = -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轮廓”)举行

图中包含一个axes对象。标题为散点图(Scatter Plot)和拟合GMM轮廓(fitting GMM Contour)的轴对象包含两个类型为散点、函数轮廓的对象。

使用拟合的GMM将数据聚类

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

通过将拟合的GMM和数据传递到,将数据划分为集群集群

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

图中包含一个axes对象。坐标轴对象包含两个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 =喷气机(80);colormap (clrmap (9:72:)) ylabel (colorbar,'成分1后验概率')传说(“集群1”,《集群2》,“位置”,“最佳”)标题(“散点图和聚类1后验概率”

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

P是一个n-by-2的聚类成员后验概率矩阵。第一列包含集群1的概率,第二列对应集群2。

向集群分配新数据

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

模拟混合高斯分布的新数据。而不是使用mvnrnd,您可以创建一个GMM与真实的混合成分的均值和标准偏差使用gmdistribution,然后将GMM传递给随机模拟数据。

μ= [mu1;mu2];σ=猫(3 sigma1 sigma2);P = [0.75 0.25];%的比例混合gmTrue = gmdistribution(μ、σ,p);X0 =随机(gmTrue, 75);

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

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

图中包含一个axes对象。标题为New Data Cluster Assignments的axes对象包含3个函数类型为contour, line的对象。这些对象表示拟合GMM轮廓,聚类1,聚类2。

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

另请参阅

||||

相关的话题

Baidu
map