机器学习.聚类

🌟 什么是聚类?

聚类(Clustering)是无监督学习的一种任务:

把相似的数据点分到一组,不相似的分开。

没有标签,只靠数据本身的分布结构来"自动分组"。


🔢 常见聚类算法分类 & 讲解

1. K-Means(K均值) ------ 划分式聚类代表

  • 核心思想
    随机选 K 个中心点(簇中心),不断迭代:
    ① 把每个点分给最近的中心;
    ② 重新计算中心位置,直到稳定。
  • 特点
    • 硬聚类(每个点只属于一个簇)
    • 假设簇是球形、大小相近、密度均匀
  • 优点:简单、高效、适合大规模数据
  • 缺点
    • 对噪声敏感(所有点都必须归入某簇)
    • 需要预先指定 K
    • 无法处理非凸形状(如月牙形)
  • 适用场景:客户分群、图像压缩、文档聚类等结构清晰的数据

2. DBSCAN ------ 基于密度的聚类

  • 核心思想
    • 如果一个点周围足够密集(有 ≥ MinPts 个点在半径 ε 内),就形成一个簇;
    • 孤立的稀疏点 → 标记为噪声
  • 特点
    • 能发现任意形状的簇
    • 自动识别噪声点
    • 不需要指定簇数量
  • 优点
    • 抗噪能力强 ✅
    • 无需预设 K
    • 对异常值鲁棒
  • 缺点
    • 对参数 ε 和 MinPts 敏感
    • 在密度差异大的数据上效果差(比如有的簇密、有的稀疏)
  • 适用场景:地理热点检测、异常检测、含噪声的真实数据

3. 层次聚类(Hierarchical Clustering)

  • 核心思想
    构建一棵"聚类树"(树状图 dendrogram):
    • 凝聚法(Agglomerative):每个点一开始是一个簇,逐步合并最相似的簇(自底向上)✅常用
    • 分裂法(Divisive):所有点在一个簇,逐步分裂(自顶向下,少用)
  • 特点
    • 可以通过树状图选择任意数量的簇
    • 支持多种距离定义(欧氏、曼哈顿、余弦等)
  • 优点:结果可视化好,不需要预设 K
  • 缺点
    • 时间复杂度高(O(n³)),不适合大数据
    • 一旦合并/分裂,不能撤销(贪心策略)
  • 适用场景:生物信息学(基因聚类)、小规模数据分析、探索性分析

4. 高斯混合模型(GMM, Gaussian Mixture Model) ------ 软聚类代表

  • 核心思想
    假设数据由多个高斯分布(正态分布)混合生成,用EM算法估计参数。
  • 特点
    • 软聚类 :每个点属于每个簇都有一个概率(如:80% 属于簇A,20% 属于簇B)
    • 簇可以是椭圆形状(比 K-Means 更灵活)
  • 优点
    • 概率化输出,更柔和
    • 能处理重叠簇
  • 缺点
    • 对初始值敏感
    • 假设数据服从高斯分布(现实中未必成立)
  • 适用场景:语音识别、图像分割、需要概率归属的任务

5. 基于网格的聚类(如 STING、CLIQUE)

  • 核心思想
    先把空间划分为网格单元,然后在网格上进行聚类(不是对原始点操作)。
  • 优点:速度快,适合高维或大规模数据
  • 缺点:精度较低,受网格划分影响大
  • 适用场景:空间数据库、实时聚类

6. 谱聚类(Spectral Clustering)

  • 核心思想
    利用图论 + 特征分解,把数据映射到低维空间后再聚类(通常用 K-Means)。
  • 优点
    • 能处理非凸形状(如环形、月牙形)
    • 数学理论强
  • 缺点
    • 计算复杂(需构建相似度矩阵、特征分解)
    • 对相似度函数敏感
  • 适用场景:图像分割、社交网络社区发现

📊 快速对比表

算法 是否需预设 K 抗噪能力 簇形状 软/硬聚类 适合数据规模
K-Means ✅ 是 ❌ 弱 球形
DBSCAN ❌ 否 ✅ 强 任意 硬(但可标噪声) 中~大
层次聚类 ❌ 否(可后选) ❌ 中弱 任意 小(<1万)
GMM ✅ 是 ❌ 中 椭圆
谱聚类 ✅ 是 ❌ 中 任意 小~中
网格聚类 ❌ 否 ❌ 中 网格块

✅ 如何选择聚类算法?

  • 数据干净、球形簇、要快 → K-Means
  • 数据有噪声、簇形状奇怪 → DBSCAN
  • 想探索不同粒度的分组 → 层次聚类
  • 需要知道"属于某类的概率" → GMM
  • 簇是非凸的(如两个同心圆)→ 谱聚类
相关推荐
天呐草莓2 小时前
支持向量机(SVM)
人工智能·python·算法·机器学习·支持向量机·数据挖掘·数据分析
智算菩萨2 小时前
【实战】基于机器学习的中文文本分类系统实现
机器学习·分类·文本分类
高-老师2 小时前
基于R语言森林生态系统结构、功能与稳定性分析与可视化实践高级应用;涵盖群落多样性、机器学习、SEM与时间序列建模等
机器学习·hmsc·森林生态系统·森林生态
Pyeako2 小时前
机器学习--决策树
人工智能·python·决策树·机器学习·分类·pycharm·回归树
foundbug9992 小时前
LibSVM与模糊支持向量机(FSVM)分类方法详解
机器学习·支持向量机·分类
لا معنى له7 小时前
目标检测的内涵、发展和经典模型--学习笔记
人工智能·笔记·深度学习·学习·目标检测·机器学习
齐齐大魔王11 小时前
COCO 数据集
人工智能·机器学习
式51613 小时前
线性代数(八)非齐次方程组的解的结构
线性代数·算法·机器学习
Coding茶水间13 小时前
基于深度学习的非机动车头盔检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
图像处理·人工智能·深度学习·yolo·目标检测·机器学习·计算机视觉