文章目录一、什么是聚类二、聚类的核心思想三、常见的聚类算法1. K-Means 聚类2. 层次聚类(Hierarchical Clustering)3. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)4. 高斯混合模型(GMM)四、聚类与分类的区别五、聚类的应用场景六、聚类的评价指标七、总结

在数据科学和机器学习的众多任务中,聚类(Clustering)让算法就是是最具探索性的一类。与分类不同,聚类不依赖人工标注的资料,而自主地从资料中发现规律和分组。本文将平台介绍聚类的核心思想、常见算法、优缺点及应用场景。

一、什么是聚类聚类是指:将一组对象按照相似性划分为若干个簇(Cluster),同一簇内的对象彼此相似,而不同簇之间的对象差异较大。

:就是更通俗地说,聚类的目标

让机器自动找出“哪些样本更像彼此”,并据此形成群体。

例如,在用户行为数据中,聚类可以援助我们发现“夜猫子用户”“高频购买者”“新手用户”等不同群体;在图像处理中,可以用来区分图像特征相似的区域。

二、聚类的核心思想聚类的基础思想有两个:

簇内相似度高(Intra-cluster similarity):同一簇中的样本尽量接近;

簇间差异大(Inter-cluster difference):不同簇之间的样本尽量远离。

这种“相似性”通常经过距离度量来衡量,例如:

欧几里得距离(Euclidean Distance)

曼哈顿距离(Manhattan Distance)

余弦相似度(Cosine Similarity)

不同的距离度量方式会导致不同的聚类结果,因此在实际任务中,选择合适的相似度函数非常关键。

三、常见的聚类算法1. K-Means 聚类K-Means 是最经典的聚类算法之一,其思想容易高效。算法流程如下:

选择簇的数量 K;

随机初始化 K 个簇中心;

将每个样本分配到最近的簇;

更新每个簇的中心为该簇样本的均值;

重复步骤 3 和 4,直到簇中心收敛。

优点:

简单直观,计算速度快;

适用于大规模数据。

缺点:

需要预先指定 K;

对异常值敏感;

假设簇为球状,不适合复杂形状的分布。

2. 层次聚类(Hierarchical Clustering)层次聚类通过逐步合并或拆分的方式形成一棵聚类树(dendrogram)。有两种主要方式:

自底向上(凝聚式,Agglomerative)

自顶向下(分裂式,Divisive)

在可视化上,层次聚类的结果能够画成一棵“树”,研究者可以通过切割树的不同层次来选择聚类的粒度。

优点:

不需要预先指定簇数;

结果可视化、解释性强。

缺点:

计算复杂度较高;

对噪声敏感。

3. DBSCAN(Density-Based Spatial Clustering of Applications with Noise)DBSCAN 是一种基于密度的聚类算法。它的思想是:密集的点属于同一簇,而稀疏区域被视为噪声。

核心参数包括:

eps:邻域半径;

minPts:一个簇内最少点数。

优点:

不需要指定簇数;

能发现任意形状的簇;

能有用识别噪声点。

缺点:

参数敏感;

对不同密度的素材效果不佳。

4. 高斯混合模型(GMM)GMM 假设数据来自若干个高斯分布(即正态分布)的混合体,通过期望最大化(EM)算法估计每个分布的参数。

与 K-Means 不同,GMM 提供了“软聚类”结果——每个样本属于不同簇的概率,而非固定划分。

优点:

聚类结果更灵活;

适合概率建模任务。

缺点:

对初始值敏感;

容易陷入局部最优。

四、聚类与分类的区别对比项聚类分类学习类型无监督学习监督学习是否有标签无有目标发现数据结构预测标签输出簇编号或概率分布类别标签示例用户分群、文本主题发现垃圾邮件识别、图像分类五、聚类的应用场景用户画像与市场细分通过用户行为聚类,发现不同消费群体,为精准营销提供支持。

推荐系统将兴趣相似的用户或物品聚为一类,提高推荐效果。

文本主题分析对新闻、评论、文档进行聚类,自动发现主题。

图像分割按照像素特征聚类,实现自动图像区域划分。

异常检测将聚类中距离中心较远的样本视为潜在异常。

六、聚类的评价指标由于聚类是无监督的,评价其结果较为复杂。常见指标包括:

内部指标(无需真实标签):

轮廓系数(Silhouette Coefficient)

Davies–Bouldin Index

外部指标(有真实标签时):

Rand Index

Adjusted Mutual Information (AMI)

这些指标从不同角度衡量聚类的紧密性与分离度。

七、总结聚类是数据分析中一种核心的探索性工具。它能帮助我们:

发现数据的潜在结构;

理解不同样本间的相似性;

为后续建模或决策提供依据。

然而,聚类并不是“找出真相”的算法,而是一种“发现模式”的方式。不同算法、参数、距离度量都会影响结果,因此在使用时要结合业务背景、数据特点与解释需求。