7. 机器学习-聚类算法

1) 是什么

聚类算法(Clustering) 是一种无监督学习(Unsupervised Learning)方法,其目标是将数据集中的样本划分为若干个组(称为“簇”),使得同一簇内的样本彼此相似,而不同簇之间的样本差异较大。

  • 核心思想:基于数据的内在结构进行分组,不需要预先标注类别。

常见类型:

  • 基于距离的聚类(如 K-Means)
  • 基于密度的聚类(如 DBSCAN)
  • 层次聚类(Hierarchical Clustering)
  • 基于模型的聚类(如 Gaussian Mixture Model, GMM)
    输出结果:每个样本被分配到一个簇,形成自然分组。

示例:客户细分、图像分割、文档主题发现。

2)为什么

为什么要使用聚类算法?

  • 探索数据结构
    在没有标签的情况下,发现数据中隐藏的模式和结构。
  • 降维与特征提取
    可以通过聚类结果减少数据复杂度,辅助后续分析。
  • 预处理步骤
    作为分类、回归等任务前的数据准备,例如先聚类再做有监督学习。
  • 异常检测
    少数孤立点可能属于异常,可通过聚类识别。

3)什么时候用

适用场景包括:
✅ 数据无标签
没有明确的类别信息,但希望发现潜在群体。

✅ 需要发现隐藏模式
如社交网络中社区发现、基因表达数据分析。

✅ 用户/客户细分
零售、电商中根据消费行为划分客户群。

✅ 图像处理与分割
图像像素聚类实现区域分割。

✅ 文本聚类
自动将新闻文章归类为不同主题。

✅ 推荐系统前置步骤
先对用户进行聚类,再基于群体偏好推荐。

4)什么时候不用

不适用的情况:
❌ 已有明确标签
如果已知类别,应使用分类算法(如 SVM、决策树),而非聚类。

❌ 数据维度极高且稀疏
高维空间中“距离”概念失效(维度灾难),聚类效果差。

❌ 样本数量极少或极度不平衡
小样本难以形成有效簇;极端偏斜分布可能导致错误分组。

❌ 数据不具有明显聚类结构
若数据点随机分布,强行聚类会得到无意义的结果。

❌ 对结果解释性要求极高
聚类结果有时缺乏可解释性,尤其在复杂模型中。

❌ 实时性要求强
某些聚类算法(如层次聚类)计算复杂度高,不适合在线应用。

5)总结

维度 内容
定义 无监督学习方法,将相似对象分组
目的 发现数据内在结构、探索未知模式
优点 不依赖标签、灵活性高、可用于多种任务
缺点 结果主观性强、需人工判断簇数、易受噪声影响
典型算法 K-Means、DBSCAN、层次聚类、GMM
应用场景 客户细分、异常检测、图像分割、文本分类等
注意事项 数据预处理重要、选择合适算法、评估指标(如轮廓系数)

✅ 建议:在使用前先可视化数据,判断是否存在天然聚类结构;结合业务背景选择合适的聚类方式,并通过内部评价指标(如 Silhouette Score)验证结果质量。

概念

7.1 Kmeans算法

K-means算法是一种经典的无监督学习聚类算法,用于将数据集划分为 K 个簇(cluster),使得每个样本属于离其最近的簇中心(质心)所在的簇。
算法步骤

  • 初始化:随机选择 K 个初始质心(centroid)。
  • 分配阶段:将每个样本分配给距离最近的质心所在的簇。
  • 更新阶段:重新计算每个簇的质心(即簇内所有点的均值)。
  • 迭代:重复步骤2和3,直到质心不再显著变化或达到最大迭代次数。

特点

  • 简单高效,适合大规模数据。
  • 对球形簇效果较好,对非凸形状或不同密度的簇效果较差。
  • 对初始质心敏感,可能收敛到局部最优解。
  • 需要预先指定簇数 K。

7.2 聚类算法评估

聚类是无监督学习,没有标签信息,因此需要使用内部或外部指标来评估聚类质量。本节介绍几种常用的内部评估指标:

7.2.1 肘部法

原理:通过绘制不同 K 值下的聚类误差平方和(SSE, Sum of Squared Errors)曲线,寻找“肘部”拐点,该点对应的 K 值为最佳簇数。
在这里插入图片描述

⚠️ 注意:肘部法主观性强,有时难以确定明确拐点。

7.2.2 SC轮廓系数

定义:衡量样本与其所在簇内其他样本的相似度与与其他簇样本的不相似度之间的差异,取值范围为 [−1,1]。
在这里插入图片描述
解读:

  • 接近 1:样本被很好地分配到合适的簇中。
  • 接近 0:样本位于两个簇边界上。
  • 接近 -1:样本可能被错误分配。

✅ 优点:能直观反映聚类效果,可用于比较不同 K 的聚类结果。

7.2.3 CH轮廓系数

定义:基于簇间离散度与簇内离散度的比值,衡量聚类结构的紧密性和分离性。
在这里插入图片描述
其中:

  • n:样本总数
  • K:簇数
  • 簇间离散度:各簇质心与全局质心的距离平方和。
  • 簇内离散度:各簇内样本与各自质心的距离平方和。

特点:

  • 值越大,表示聚类效果越好。
  • 适用于评估不同 K 下的聚类质量。
  • 对簇间分离性敏感,适合球形、均匀分布的簇。

✅ 优点:数学上清晰,常用于自动选择最优 K。

总结对比

方法 优点 缺点 适用场景
肘部法 直观易懂 主观性强,拐点不明显 初步判断 $ K $
SC轮廓系数 能反映个体样本归属合理性 计算复杂度较高 细致评估聚类质量
CH系数 数学严谨,可量化 对异常值敏感 数据分布较规则时
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐