什么是 层次聚类(Hierarchical Clustering)?

层次聚类(Hierarchical Clustering)是通过自底向上反复合并簇,或自顶向下反复拆分簇,把样本组织成嵌套树结构的一类算法。

快速了解

规范文档官方规范

工作原理

把 Linkage 视为模型定义的一部分

Single Linkage 能保留弯曲连通结构,但少量桥接点可能触发 Chaining;Complete Linkage 偏好紧致分组,并受极端跨簇 Pair 影响;Average Linkage 平衡所有跨簇 Pair。Ward 的原始最小方差方法具有不同目标,并要求兼容的欧氏输入;历史软件中同名 Ward 还可能对应不同约定。

把树状图看作合并历史,而不是确定性结论

Merge Height 记录该步骤的 Linkage 准则,不是两个分组属于同类的校准概率。在同一棵树上按簇数或距离阈值切分,会得到不同平面划分。Tie、数值精度、样本顺序、预处理,以及可能非单调的 Centroid 或 Median Linkage 都会改变或干扰层级解释。

为二次状态与传导式输出做好规划

当前 scikit-learn 文档支持 Ward、Complete、Average 与 Single Linkage,以及可选 Connectivity Constraint。标准方法通常需要保存 Pairwise Dissimilarity 结构,内存可能达到二次复杂度;拟合后的树本身也没有定义新样本如何进入现有分支。

主要特点

  • 用树或 Dendrogram 表示嵌套的簇关系
  • 包含凝聚式自底向上与分裂式自顶向下策略
  • 同时依赖样本距离和簇间 Linkage 规则
  • 允许在构建层级后再选择平面划分
  • 合并或拆分属于通常不会撤销的贪心决策
  • 可能需要二次内存,且没有通用新样本分配规则

常见用途

  1. 探索不同粒度的分类体系
  2. 为审核者组织中等规模文档语料
  3. 发现生物或客户数据中的嵌套关系
  4. 对空间或图邻接数据施加连通性约束
  5. 比较 Single、Complete、Average 与 Ward 几何假设

示例

loading...
Loading code...

常见问题

凝聚式与分裂式层次聚类有什么区别?

凝聚式方法从单例簇开始不断合并,分裂式方法从一个总簇开始不断拆分。两者都产生层级,但搜索路径、优化选择和计算行为不同。

树状图能自动确定正确簇数吗?

不能。它记录一套 Metric 与 Linkage 下的合并或拆分顺序。通过高度或目标簇数切割后才能得到平面划分,而这个选择仍需稳定性、领域判断和下游结果支持。

Single、Complete、Average 与 Ward Linkage 有何区别?

Single 使用跨簇最近 Pair,Complete 使用最远 Pair,Average 使用所有跨簇 Pair 的平均,Ward 使用簇内方差增量。它们编码不同簇形假设,不能在不改变模型的情况下互换。

为什么不同 Ward 实现可能得到不同树状图?

不同库历史上对输入距离是否平方、Merge Height 如何报告存在不同约定。Ward 最小方差目标要求兼容的欧氏几何,因此必须记录具体库、选项、距离和预处理。

层次聚类能为新样本直接分配簇吗?

拟合后的 Dendrogram 通常是描述已有记录的传导式结果。生产分配需要单独定义最近 Prototype 或训练分类器等规则,并独立评估该规则,而不能假设原始层级已经覆盖。

相关术语

相关文章