如何从GMM迭代中为集群提供标签?

时间:2014-10-16 12:58:59

标签: matlab machine-learning classification cluster-analysis mixture-model

我从Understanding concept of Gaussian Mixture Models读到了GMM的概念。这对我很有帮助。我已经为fisheriris实施了GMM,但我没有使用fitgmdist函数,因为我没有它。所以我使用了来自http://chrisjmccormick.wordpress.com/2014/08/04/gaussian-mixture-models-tutorial-and-matlab-code/的代码。

当我阅读Understanding concept of Gaussian Mixture Models时,Amro可以用其标签绘制结果,即setosa,virginica和versicolor。他是怎么做到的呢?经过一些迭代,我只得到mu,Sigma和体重。根本没有标签。我想把标签(setosa,virginica和versicolor)放到GMM迭代的混合模型中。

1 个答案:

答案 0 :(得分:0)

该图中有两组“标签”:

  • 其中一个是Fisher Iris数据集的“true”标签(species变量,其中包含每个实例的类:setoasversicolor或{{1 }})。通常情况下,您不会在真实数据集中拥有这些数据集(在集群的所有目标之后是发现数据中的那些您事先不知道的组)。我只是在这里使用它们来了解EM聚类与实际真相的对比情况(散点是根据类别进行颜色编码的。)

  • 另一组标签是我们使用GMM找到的集群。基本上我构建了一个50x50的2D点网格来覆盖整个数据域,然后通过计算后验概率并选择具有最高似然性的组件,为每个点分配一个簇。我以背景颜色显示了这些簇。作为一个很好的结果,我们可以看到集群之间的判别决策边界。

你可以看到左边的点群已经很好地分开(并且与virginica类完全匹配)。虽然情节右侧的点分为两个与其他两个类相匹配的点,但是如果你愿意(在边界的错误一侧有一些绿点)存在实例“错误分类”。

通常在实际设置中,您不会将这些实际类进行比较,因此无法判断您的群集是否“准确”(clustering performance evaluation还存在其他指标)...