不需要预先指定群集数量的群集方法


17

是否有任何我们不需要指定集群数量的“非参数”集群方法?还有其他参数,例如每个群集的点数等。

Answers:


22

要求您预先指定群集数量的群集算法是少数。有很多算法没有。他们很难总结。这有点像要求描述不是猫的任何生物。

聚类算法通常分为以下几种:

  1. 分区算法(例如k均值及其后代)
  2. 分层聚类(如@Tim描述
  3. 基于密度的集群(例如DBSCAN
  4. 基于模型的聚类(例如,有限高斯混合模型潜在类别分析

可能会有其他类别,人们可能会不同意这些类别以及哪些算法属于哪个类别,因为这是启发式的。但是,类似这种方案很常见。从这一点出发,主要是只有分区方法(1)才需要预先指定要查找的群集数量。同样需要预先指定哪些其他信息(例如,每个聚类的点数)以及将各种算法称为“非参数”是否合理,这也是高度可变且难以总结的。

分层聚类不需要您预先指定聚类的数量(k均值的方式),但是您确实需要从输出中选择多个聚类。另一方面,DBSCAN既不需要(但是它确实要求指定“邻域”的最小点数-尽管有默认值,所以从某种意义上讲,您可以跳过指定该点),这确实为集群中模式的数量)。GMM甚至不需要这三个中的任何一个,但是确实需要有关数据生成过程的参数假设。据我所知,没有一种群集算法永远不需要您指定群集数量,每个群集最少的数据或群集内数据的任何模式/排列。我不知道怎么可能。

它可能会帮助您阅读不同类型的聚类算法的概述。以下可能是一个开始的地方:

  • Berkhin,P.“集群数据挖掘技术调查”(pdf

我对您的#4感到困惑:我认为如果将高斯混合模型拟合到数据,则需要选择要拟合的高斯数,即必须预先指定聚类数。如果是这样,为什么您说“主要”#1要求这样做?
变形虫说恢复莫妮卡

@amoeba,它取决于基于模型的方法及其实现方式。GMM通常适合最小化某些标准(例如,OLS回归在此处参见)。如果是这样,则无需预先指定群集数量。即使您按照其他实现方式进行操作,对于基于模型的方法来说,它也不是典型的功能。
恢复莫妮卡

ķ=3ķ

@amoeba,我在这里并没有真正听从您的说法。当使用OLS算法拟合简单的回归模型时,您是说要预先指定斜率和截距,还是要通过优化准则来指定斜率和截距?如果是后者,我看不出有什么不同。当然,您可以创建一个新的元算法,该算法使用k-means作为查找未指定k的分区的步骤之一,但是该元算法不会是k-means。
gung-恢复莫妮卡

1
@amoeba,这似乎确实是一个语义问题,但是用于拟合GMM的标准算法通常可以优化准则。例如,一种Mclust用途旨在优化BIC,但可以使用AIC或一系列似然比测试。我猜您可以称其为元算法,它具有组成步骤(例如EM),但这是您使用的算法,无论如何它都不要求您预先指定k。您可以在链接的示例中清楚地看到,我没有在此处预先指定k。
gung-恢复莫妮卡

13

最简单的示例是层次聚类,您可以使用某个距离度量将每个点彼此比较,然后将距离最小的对连接在一起以创建连接的伪点(例如,bc使bc像图像上一样)下面)。接下来,通过将点和伪点基于它们的成对距离进行连接来重复该过程,直到每个点与图形连接为止。

维基百科插图

(来源:https : //en.wikipedia.org/wiki/Hierarchical_clustering

该过程是非参数过程,唯一需要的是距离测量。最后,您需要确定如何修剪使用此过程创建的树图,因此需要做出有关预期簇数的决定。


修剪不是以某种方式意味着您要确定群集号吗?
Learn_and_Share 16-10-20

1
@MedNait我就是这么说的。在聚类分析,你总是不得不做出这样的决定,唯一的问题是如何被它使-例如,它可以是任意的,也可以基于如基于似然模型拟合一些合理的标准等
蒂姆

1
这取决于您到底需要什么,@ MedNait。分层集群不需要您预先指定集群数量(k均值的方式),而是需要从输出中选择多个集群。另一方面,DBSCAN都不要求(但确实要求指定“邻居”的最小点数(尽管有默认值),这确实降低了集群中模式的数量) 。GMM甚至不需要这样做,但是确实需要有关数据生成过程的参数假设。等等
贡-恢复莫妮卡

10

参数不错!

“无参数”方法意味着您只能获得一张照片(可能是随机性除外),并且无法进行定制

现在,聚类是一种探索技术。您不能假定只有一个“ true”集群。您应该对探索同一数据的不同聚类感兴趣,以了解更多信息。将群集视为黑匣子永远无法正常工作。

例如,您希望能够根据数据自定义使用的距离函数(这也是一个参数!)如果结果太粗糙,则希望获得更好的结果,或者结果太精细,得到它的粗略版本。

最好的方法通常是那些可以让您很好地导航结果的方法,例如层次聚类中的树状图。然后,您可以轻松地探索子结构。


0

查看Dirichlet混合模型。如果您事先不知道集群的数量,它们将提供一种很好的方式来理解数据。但是,它们确实对数据可能违反的簇的形状进行了假设。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.