ml-clustering-toolkitlisted
Install: claude install-skill fieldlu/Machine-learning-skills
# 聚类工具箱 — 没有标准答案的问题如何做出可辩护的选择
## R — 原文 (Reading)
> "我们希望'物以������',即同一簇的样本尽可能彼此相似,不同簇的样本尽可能不同。换言之,
> 聚类结果的'簇内相似度'(intra-cluster similarity)高且'簇间相似度'(inter-cluster
> similarity)低。"
>
> — 周志华,《机器学习》第9章 9.2节 "性能度量"
> "聚类性能度量大致有两类。一类是将聚类结果与某个'参考模型'(reference model)进行比较,
> 称为'外部指标'(external index);另一类是直接考察聚类结果而不利用任何参考模型,称为'内
> 部指标'(internal index)。"
>
> — 周志华,《机器学习》第9章 9.2节
> "DBSCAN 将'簇'定义为:由密度可达关系导出的最大的密度相连样本集合。"(D 中不属于任何簇
> 的样本被认为是噪声或异常样本)
>
> — 周志华,《机器学习》第9章 9.5节 "密度聚类"
---
## I — 方法论骨架 (Interpretation)
聚类是无监督的:没有"正确答案"可供比对,所以整个方法论围绕两个问题重组——**怎么判断结果好不好**,以及**用什么方式切分才匹配数据形状**。
评估侧是一条二岔口:���上有参考模型(如领域专家给的划分)就走**外部指标**(两两配对计数:同簇同参考、同簇异参考……);没有参考就走**内部指标**——用簇内平均距离 avg、簇内最远距离 diam、簇间最近距离 dmin、簇中心间距 dcen 组装出 DB 指数(越小越好)或 Dunn 指数(越大越好)这类自洽判据。
算法侧是三大范式按数据几何形态分流:
- **原型聚类**(k均值/LVQ/高斯混合):假设簇能被一组原型(均值向量/概率成分)刻画——适合团状凸簇;k 均值最小化平方误差是 NP 难,贪心迭代只保证局部解。
- **密度聚类**(DBSCAN):假设簇由样本分布的紧密程度确定——能刻出任意形状的簇,还能顺带标出噪声点;靠邻域参数 (ε, MinPts) 定义核心对象与密度可达链。
- **层次聚类**(AGNES 自底向上 / DIANA 自顶向下):产出树状图,在不同层切割得到不同粒度的簇——适合需要多分辨率解读的场景。
距离度量是横贯三者的底层选择:先审属性有没有"序",有序算闵可夫斯基,无序用 VDM,混合拼接,必要时允许违反直递性的非度量距离。
---
## A1 — 书中的应用 (Past Application)
### 案例 1: 西瓜数据集 4.0 五连演算 (c27)
- **问题**: 同一份数据(30 样本、密度×含糖率),不同聚类范式给出的结果差多少?
- **方法论的使用**: 作者依次跑五种算法并给出逐步数值:k 均值(x₁ 距三中心 0.369/0.506/0.166 入 C₃,第五轮收敛);LVQ(利用类别监督信息拉推原型 p₅=(0.725;0.445)→(0.722;0.442));高斯混合 EM(后验 γ₁₁=0.219 加权更新参数);DBSCAN(ε=0.11, MinPts=5,从 13 个核心对象出发生成四簇);AGNES(dmax 链接建树状图,特定层切割得 7 簇)。
- **结论**: 三大范式在同一数据上的簇划分各不相同且都"说得通"——聚类结果的合理性永远相对于所选范式与参数而言。
- **结果**