不同类型的聚类

2025年3月17日 | 阅读 8 分钟
Different types of Clustering

聚类分析将数据分成组,通常称为簇。如果目标是生成有意义的组,那么这些簇就捕捉了数据的总体信息。有时,聚类分析仅仅是为了其他目的(如数据摘要)而进行的一个有用的初步阶段。在理解或应用方面,聚类分析在生物学、心理学、统计学、模式识别、机器学习和数据挖掘等广泛领域中一直扮演着重要角色。

什么是聚类分析?

聚类分析是将数据对象分组,其主要依据是数据中发现的信息。它定义了对象及其关系。目标是使组内对象相似或与组外对象不同。

图 1 展示了对同一组点进行的不同聚类方式。

在各种应用中,簇的概念并没有被明确定义。为了更好地理解选择什么构成一组的挑战,图 1 描绘了二十个点以及三种不同的方法将它们分成簇。标记的设计显示了簇的成员关系。图形分别将数据分成了两组和六组。将两个较大的簇分别划分为三个子簇可能是人类视觉系统的结果。不能简单地认为有四个簇。该图表明簇的含义是模糊的。簇的最佳定义取决于数据的性质和结果。

聚类分析与其他用于划分数据对象的组的方法相似。例如,聚类可以看作是一种分类。它通过分类来构建对象的标签,即,允许使用从具有已知类标签的对象构建的模型来为新的无标签对象分配类标签。因此,聚类分析有时被定义为无监督分类。如果在数据挖掘中不加限定地使用“分类”一词,则通常指的是监督分类。

分割 (segmentation)” 和 “分区 (partitioning)” 通常用作聚类的同义词。这些术语通常用于传统聚类分析范围之外的技术。例如,“分区”一词通常用于将图分成子图的技术,而这些技术与聚类分析无关。“分割” 通常使用简单的方法将数据划分为组。例如,图像可以根据像素频率和颜色分成不同的区域,或者人们可以根据年收入分为不同的组。然而,一些图划分和市场细分的研究与聚类分析有关。

不同类型的聚类

一组簇通常称为聚类。在这里,我们区分了不同种类的聚类,例如层次化(嵌套) vs. **划分式(非嵌套)**、互斥 vs. **重叠** vs. **模糊**,以及完整 vs. **部分**。

  • 层次化与划分式

各种聚类类型中最常讨论的区别特征是簇集是否嵌套或非嵌套,或者用更传统的术语来说,是划分式还是层次化。**划分式**聚类通常是将数据对象集划分为不相交的子集(簇),使得每个数据对象恰好属于一个子集。

如果我们允许簇包含子簇,那么我们就得到了层次化聚类,它是一组嵌套的簇,组织成一棵树。树中的每个节点(簇)(非叶节点)是其子簇的集合,树根是包含所有对象的簇。通常,树的叶子是单个数据对象的单个簇。如果我们允许簇嵌套,那么图 1(a) 的一种解释是它有两个子簇,图 1(b) 说明了这一点,每个子簇有三个子簇,如图 1(d) 所示。簇出现在图 1(a-d) 中,当按特定顺序取时,也从层次化(嵌套)聚类中,每一层有 1、2、4 和 6 个簇。最后,层次化聚类可以看作是划分式聚类的一种排列,而划分式聚类可以通过取该序列中的任何成员来获得,这意味着在特定级别上“切割”层次化树。

  • 互斥 vs. 重叠 vs. 模糊

图中所示的聚类都是互斥的,因为它们将每个对象分配给单个簇。在许多情况下,一个点可以合理地归入多个簇,这些情况最好由非互斥聚类来处理。一般而言,**重叠**或**非互斥聚类**用于反映一个对象可以同时属于多个组(类别)的事实。例如,公司的一名员工既可以是学员,也可以是公司的雇员。当一个对象“介于”两个或多个簇之间,并且可以合理地分配给其中任何一个簇时,通常也使用非互斥聚类。考虑一个介于两个簇之间的点,而不是完全随机地将该对象分配给一个簇,而是将其“等量”地分配给所有这些簇。

模糊聚类中,每个对象以 0 到 1 之间的成员权重属于每个簇。换句话说,簇被视为模糊集。数学上,模糊集定义为一个对象与任何集合关联的权重在 0 到 1 之间。在模糊聚类中,我们通常设置附加约束,即每个对象的权重之和必须等于 1。类似地,概率聚类系统计算每个点属于一个簇的概率,并且这些概率的总和必须等于 1。由于任何对象的成员权重或概率之和为 1,因此模糊或概率聚类无法处理实际的多类情况。

完整 vs. 部分

完整聚类将每个对象分配到一个簇,而部分聚类则不然。**部分聚类**的动机是,数据集中的一些对象可能不属于明确的组。大多数时候,数据集中的对象可能产生异常值、噪声或“不相关的背景”。例如,一些新闻标题报道可能共享一个共同主题,如“全球工业生产萎缩 1.1%”,而其他报道更频繁或独一无二。因此,要找到上个月报道中的重要主题,我们可能只需要搜索与共同主题紧密相关的文档簇。在其他情况下,需要对对象进行**完整聚类**。例如,使用聚类来组织文档以便浏览的应用程序需要确保所有文档都可以被浏览。

不同类型的簇

聚类旨在发现有用的对象组(簇),其中数据分析的目标界定了效用。当然,在实践中存在各种各样的簇的概念来表明其效用。为了直观地展示这些不同类型簇的差异,我们使用二维点,如图所示,这里描述的簇类型对于不同类型的数据都是同样有效的。

  • 分离良好的簇

簇是一组对象,其中每个对象都比簇中的其他任何对象都更近或更相似。有时会使用一个限制来表明簇中的所有对象都必须足够接近或相似。只有当数据包含自然簇且这些簇彼此相距甚远时,簇的定义才算满足。该图说明了一个分离良好的簇的例子,该簇由二维空间中的两个点组成。分离良好的簇不必是球形的,可以是任何形状。

Different types of Clustering
  • 基于原型的簇

簇是一组对象,其中每个对象都比其他任何簇的原型更接近或更相似于表征该簇的原型。对于具有连续特征的数据,簇的原型通常是质心。这意味着它是簇中所有点的平均值(均值)。当质心不具有代表性时,例如,当数据具有离散特征时,原型通常是中位数,即簇中最具代表性的点。对于某些类型的数据,模型可以被视为最中心点,在这些例子中,我们通常称基于原型的簇为基于中心的簇。正如任何人都可以预料到的那样,这样的簇倾向于是球形的。该图说明了一个基于中心的簇的例子。

Different types of Clustering
  • 基于图的簇

如果数据被描绘成图,其中节点是对象,那么簇可以被描述为**连通分量**。它是一组相互连接的对象,但与组外的对象没有连接。基于图的簇的一个重要例子是基于邻近性的簇,其中两个对象当它们位于彼此指定距离时就相关。这表明**基于邻近性的簇**中的每个对象都与簇中的另一个对象相同。图显示了二维点在此类簇上的示例。当簇是不可预测或交织在一起时,簇的含义很有用,但当存在噪声时可能会遇到困难。这由图中的两个圆形簇显示;点的小延伸可以连接两个不同的簇。

其他类型的基于图的簇也是可能的。一种方法是将簇描述为**团 (clique)**。团是一个图中完全相互连接的节点集合。特别是,我们根据对象之间的距离在它们之间添加连接。当一组对象形成一个团时,就会生成一个簇。这类似于基于原型的簇,并且此类簇倾向于呈球形。

Different types of Clustering
  • 基于密度的簇

簇是对象的一个密集区域,被低密度区域包围。两个球形簇没有像图中那样合并,因为它们之间的连接融入了噪声。类似地,图中的曲线消失在噪声中,未形成簇。图所示的簇也消失在噪声中,未形成簇。当簇形状不规则且交织在一起,并且存在噪声和异常值时,通常会采用基于密度的簇定义。另一方面,基于邻近性的簇定义对于图中的数据将无法正常工作。因为噪声会倾向于在簇之间形成连接。

Different types of Clustering
  • 共享属性或概念簇
Different types of Clustering

我们可以将簇描述为一组共享某种属性的对象。基于中心的簇中的对象共享一个属性,即它们都最接近相同的质心或中位数。然而,共享属性方法还包含了新的簇类型。考虑图中给出的簇。一个三角形区域(簇)旁边是一个矩形区域,并且有两个交织的圆圈(簇)。在这两种情况下,聚类算法都需要一个特定的簇概念才能有效地识别这些簇。发现此类簇的方法称为概念聚类。