是否可以对任何数据集进行聚类,或者数据中是否需要某种模式?

机器算法验证 聚类
2022-04-11 18:07:37

如果聚类算法(例如,Ward 的聚类算法;基于在多个连续尺度上对各种刺激进行评级的方式)成功(满足其数学目标函数)对一组数据进行聚类,这是否表明确实存在一个有意义的集合数据中的集群?或者任何一组数据都是“可聚集的”?如果是后者,我们如何区分有意义和无意义的聚类?

4个回答

在我看来,对数据集进行聚类可能有两个不同的主要目标:

  1. 识别潜在分组
  2. 数据缩减

你的问题意味着你有#1的想法。正如其他答案所指出的那样,确定聚类是否代表“真正的”潜在群体是一项非常困难的任务。已经开发了大量不同的指标(请参阅:如何验证集群解决方案?,以及部分关于评估 Wikipedia 的聚类条目中的聚类)。然而,没有一种方法是完美的。人们普遍认为,聚类的评估是主观的并且基于专家判断。此外,值得考虑的是,现实中可能没有“正确答案”。考虑集合 {鲸鱼,猴子,香蕉};鲸鱼和猴子都是哺乳动物,而香蕉是水果,但猴子和香蕉在地理上是同一个地方,猴子吃香蕉。因此,任何一个分组都可能是“正确的”,具体取决于您想要对找到的集群做什么。


但让我专注于#2可能没有实际的分组,您可能不在乎。计算机科学中聚类的传统常见用途是数据缩减。一个经典的例子是用于图像压缩的颜色量化链接的 Python 文档演示了将“96,615 种独特颜色压缩为 64 种,同时保持整体外观质量”:

在此处输入图像描述 在此处输入图像描述

聚类在计算机科学中的另一个经典应用是提高搜索数据库和检索信息的效率。

在此处输入图像描述

然而,减少数据的想法在科学背景下是非常违反直觉的,因为通常我们想要更多的数据和更丰富的关于我们正在尝试研究的信息的信息。但纯粹的数据缩减也可能发生在科学环境中。简单地划分同质数据集(即没有实际的集群)可以在多种情况下使用。一个例子可能是阻塞用于实验设计。另一个可能是识别代表整个数据集的少数研究单元(例如,患者),因为它们跨越了数据空间。通过这种方式,您可以获得一个可以更详细地研究的子样本(例如,结构化访谈),而这在逻辑上对于完整样本是不可能的。可以应用相同的想法来使大型、复杂和高维数据集的可视化成为可能。例如,当试图在许多测量场合绘制许多患者的纵向数据时,您通常会得到所谓的“意大利面条图”'(由于无法看到任何有价值的东西),但可以绘制较少数量的具有代表性的患者,产生可以单独识别的线条,但这些线条可以很好地共同代表数据。

在此处输入图像描述
在此处输入图像描述

其他示例也是可能的,但关键是,在根本没有任何实际集群结构的情况下,集群也可以成功。您只需对空间进行分区并找到一个更小且更易于管理的数据集,该数据集可以通过有效地跨越完整数据的空间来代表整个数据集。

或者任何一组数据都是“可聚集的”?

是的,所有数据都是可聚类的——甚至是无意义的随机数据。

...我们如何区分有意义的和无意义的聚类?

取决于您所说的“有意义”是什么意思。有时集群是有用的,但通常不是。您必须根据具体情况做出决定。

成功的聚类并不意味着有意义的聚类。

此外,如果数据具有您那种“有意义”的集群,则无法保证算法会找到这些集群。

@Ray 和 @Anony-Mousse 都抓住了问题中的歧义,强调任何数据集都可以输入到聚类算法中,但这并不意味着会找到有用的聚类。

为了从实际角度解决您的问题,您可以评估给定数据集的聚类趋势,以判断是否可能找到有意义的聚类。

评估数据集聚类趋势的一种方法是Hopkins 和Skellam 引入的Hopkins Statistic,Han 等人推荐。[1] 并被 Banerjee 和 Dave [2] 使用。H

维基百科给出了霍普金斯统计的公式

霍普金斯统计有多种表述。一个典型的如下。维空间数据点的集合。考虑具有成员数据点的随机样本(没有替换)还生成一组个均匀随机分布的数据点。现在定义两个距离度量,到它在中的最近邻的距离,到它在XndmnxiYmuiyiYXwixiXX. 然后我们将霍普金斯统计定义为:

H=i=1muidi=1muid+i=1mwid

使用此定义,均匀随机数据的值应趋向于接近 0.5,而聚类数据的值应趋向于接近 1。

的适当值是“必要但不足以”确定是否存在有意义的集群。您不能说非均匀数据集具有有意义的集群(即从单个分布中提取的数据集),但确实,均匀数据集没有有意义的集群。H

[1] J. Han、J. Pei 和 M. Kamber,数据挖掘:概念和技术。爱思唯尔,2011 年。第 484-486 页

[2] 班纳吉、阿米特和拉杰什 N. 戴夫。“使用 Hopkins 统计数据验证集群。” 在模糊系统中,2004 年。论文集。2004 年 IEEE 国际会议,卷。1,第 149-153 页。IEEE, 2004. DOI

不,不是每个数据集都是真正的集群。有时您很幸运能够处理同质数据,根据定义,这些数据不是聚类的。另一方面,您几乎总能在数据中找到集群,即使它们不存在,想想茶叶上的算命。