更新于 2026年7月21日

聚类#


术语解释#

聚类(Clustering)是机器学习中最核心的无监督学习(Unsupervised Learning)方法之一。它的目标是在没有预先给定标签或类别的情况下,根据数据点之间的相似度或距离,将未标记的数据自动划分为若干个有意义的“簇”(Cluster),其核心原则是组内相似度最大化,组间相似度最小化。 常见算法有 K-Means、层次聚类、DBSCAN 等。

Kmeans聚类原理示意图
Kmeans聚类原理示意图

与分类任务不同,聚类在训练过程中不需要真实值(Ground Truth)或人工标注的标签进行指导,模型仅仅接收输入的特征变量,通过自我学习来挖掘数据中潜藏的某种模式(Pattern)、结构或空间分布特性


出现动机#

聚类任务的出现主要基于以下实际需求:

  • 挖掘未知规律:在没有明确分类目标的情况下,自动发现数据的内在关联。例如,将成千上万篇新闻自动归类,或发现病人群体中潜在的病症分布。

  • 解决标注成本问题:高质量的标注数据需要耗费大量时间、财力和领域专家资源。聚类可以利用海量的未标注数据进行初步分析。

  • 发现层次结构:在某些场景下,用户不仅需要得到簇结构,还需要发现样本分布的层级关系(例如科室级别与具体病症级别的关联) 。

  • 处理异形数据与噪音:针对非线性分布、不规则形状的数据集(如环形数据),以及包含冗余或干扰信息的“噪音维度”进行有效处理 。

  • 数据预处理与特征筛选:聚类结果可以作为有监督学习的前置步骤,或在大模型数据预处理中发挥作用。


优点缺点#

  • 优点:
    • 无需人工标注:能够直接利用原始、未经处理的特征数据进行训练,极大降低了数据准备的门槛。

    • 发现潜在模式:能够识别出人类可能未曾察觉的细微差异和数据分布模式。

    • 处理能力多样:DBSCAN 等算法能够对任何形状的数据集进行聚类,且无需预先指定簇的数量。

    • 加权Kmeans 等算法能自动识别并降低噪音维度的影响。

    • 识别异常点:某些聚类算法(如DBSCAN)在聚类过程中能自动发现数据中的异常样本,这对异常检测非常有用。

  • 缺点:
    • 结果含义不明确:模型只能将样本划分到不同的“簇”,但无法说明这个簇具体代表什么类别。

    • 评估困难:由于没有真实标签,无法使用准确率等直观指标。通常只能依靠内部评价指标(如轮廓系数、CHI、DBI)或少量标注数据的外部指标来间接评估,过程较为繁琐。

    • 对参数高度敏感:Kmeans 高度依赖初始簇中心的选择,若初始化不当可能导致聚类失败。

    • DBSCAN 对半径(r)和最小样本数(minPts)的选择需要丰富经验,且不适合处理密度差异巨大的数据集。

      dbscan 聚类过程示例图
      dbscan 聚类过程示例图
    • 计算开销大:某些算法(如DBSCAN、层次聚类)在处理大规模、高维数据时的计算复杂度较高,响应速度较慢。

    • K值选取困难:在很多算法中,如何科学地确定聚类的数量(K值)是一个难题,通常需要结合肘部法或轮廓分析法进行经验性判断


相关术语#

  • 分类

  • 回归

  • 聚类

阅读 --

11.1 聚类算法的思想

经过前面一系列的介绍,我们已经接触了多种回归和分类算法,并且这些算法有一个共同的特点,也就是它们都是有监督的学习算法。接下来,我们将开始学习一类经典的无监督机器学习算法——聚类算法。如图11-1所示便是本章内容的学习路线图,整体包含有5种聚 …

11.2 Kmeans聚类算法

在本节中,我们首先介绍了Kmeans聚类算法的基本思想以及如何使用sklearn来完成整个建模过程;然后介绍了Kmeans聚类算法的原理,即聚类的整个迭代过程,并对整个过程中的样本状态进行了可视化;最后简单介绍了K值的选取原则,这部分内容将 …

11.10 基于密度的聚类算法

在前面几节内容中,我们陆续介绍了3种常见聚类算法的原理与实现过程,包括原始的Kmeans聚类算法、Kmeans++聚类算法以及基于特征权重的加权Kmeans聚类算法 ,并且这3种都算是基于Kmeans框架下的聚类算法,也就是说它们本质上解决 …