资讯

聚类分析有哪些方法?按原理分成的几大类算法

2026-11-052 分钟阅读百科
TL;DR聚类分析(Cluster Analysis)的方法可按原理分为原型聚类(K 均值、K 中心点、高斯混合模型、学习向量量化)、密度聚类(DBSCAN、OPTICS)、层次聚类(凝聚与分裂)、谱聚类和基于网格的方法;评估分为对照参考标签的外部指标(如 Rand 指数)和只看数据本身的内部指标(如轮廓系数、DB 指数)。

聚类分析(Cluster Analysis)是在没有标签的情况下,把相似的样本归为一组的无监督学习任务。本站另有“聚类”词条介绍基本概念,这里按照原理梳理主要的聚类方法,并介绍如何评价聚类结果。

原型聚类

假设每个簇可以用一个“原型”来代表,先初始化原型,再迭代地更新。K 均值:原型是簇的中心点(均值),交替执行“把样本分给最近的中心”和“更新中心”,简单高效,但需要事先指定簇数,擅长发现大小相近的球状簇。K 中心点:原型必须是真实存在的样本,对异常值更稳健。学习向量量化:利用样本的类别标签来调整原型,属于有监督的变体。高斯混合模型:用概率模型来刻画原型,每个簇是一个正态分布,用期望最大化算法求解,给出每个样本属于各簇的概率,能描述椭圆形、大小不一的簇。

密度聚类

认为簇是样本分布密集的区域,簇与簇之间被稀疏区域隔开。DBSCAN 由 Martin Ester 等人在 1996 年提出:如果一个点周围一定半径内的点足够多,就是核心点;从核心点出发,把密度相连的点都归入同一个簇;不属于任何簇的点被视为噪声。它能发现任意形状的簇,不需要指定簇数,还能识别异常点,但对半径和最少点数两个参数比较敏感,难以处理密度差异很大的数据。OPTICS 和 HDBSCAN 对此做了改进。

层次聚类

不直接给出一个划分,而是构建一棵簇的树。凝聚式从每个样本自成一簇开始,不断合并最近的两个簇;分裂式从全部样本一个簇开始,不断拆分。结果用树状图表示,可以在不同高度切分得到不同数量的簇。簇间距离可以用单链接、全链接、平均链接或 Ward 法定义。

谱聚类和其他方法

谱聚类根据样本相似度构建图,利用图拉普拉斯矩阵的特征向量把数据映射到新空间再聚类,适合非凸形状的簇。基于网格的方法把空间划成网格,在网格上统计密度,适合大规模低维数据。此外还有均值漂移、近邻传播等方法,以及先用神经网络学习表示再聚类的深度聚类。

如何评价聚类

外部指标:如果有参考的“正确答案”,比较聚类结果与它的一致程度,常用 Jaccard 系数、FM 指数、Rand 指数、调整兰德指数和归一化互信息。内部指标:没有参考答案时,只根据数据本身评价:簇内越紧凑、簇间越分离越好,常用轮廓系数、DB 指数、Dunn 指数。实践中,聚类结果是否有用,最终还要结合业务来判断,同一份数据可能有多种都合理的分组方式。