跳到主内容
快讯直播
AI智模界
AI 词典

层次聚类:不预设簇数,最后给你一棵能自己剪的树

一句话定义:层次聚类(Hierarchical Clustering)是一类不需要你先说"分几类"的聚类方法,它通过反复合并或拆分样本,把整个聚类过程记录成一棵树(树状图,dendrogram),分几类由你事后决定。

它怎么工作

主流路线是自底向上,叫凝聚式(agglomerative):一开始把每个样本都当成独立的一簇,然后找出当前最"像"的两簇合并成一簇,重复这一步,直到所有样本并成一大簇。另一条路线是自顶向下(divisive),从整体开始一层层往下拆,用得少一些,因为每一步"该怎么拆"计算代价更高。

关键在于"两簇有多像"怎么定义,这叫链接方式(linkage):单链接(single)看两簇中最近的两个点,全链接(complete)看最远的两个点,平均链接(average)看所有点对的平均距离,Ward 法则要求每次合并让簇内方差增加得最少。链接方式不同,长出来的树形状会差很多。

打个比方:整理一屋子散落的照片。你先挑出最像的两张放在一起,再把相似的小堆并成大堆,直到所有照片归成一摞。全程你并没有决定最后分几摞,只是把归并顺序记成一张"合并族谱"。真要用的时候,想要三类,就在族谱上从下往上数到三个大分支的地方横切一刀;想要五类,就往下再切低一点。这就是"剪树"。

和邻居们的区别

层次聚类K 均值(K-means)DBSCAN
是否要预设簇数不要,事后剪树必须给定 K不要,靠密度参数
输出一棵树,可取出任意粒度的划分一次划分划分 + 噪声点
计算开销较高,样本多时吃力低,能撑大数据中等
能否回溯能,合并历史全在树上不能不能

最本质的差别是"多粒度"和"确定性"。K 均值结果受初始质心影响,通常要跑多次取稳定解;层次聚类只要距离度量和链接方式定下来,结果就是确定的,而且一次运行就给出从粗到细的所有划分方案。

它的代价是贪心且不可逆:一旦合并就不再拆开,早期的错误没法回头修正。计算上时间开销大致随样本数平方增长,上万条以上要慎用,通常先抽样或先降维。

对谁有用

做数据的人:当你不知道业务上该分几类、又想让对方看见"这些客户是怎么一层层归拢起来的",层次聚类特别合适。客户分群、商品与文档的类目体系梳理、基因表达分析都是常见场景;配合热图(heatmap)展示树状图,沟通成本很低。

不写代码的人:它其实对应一种很朴素的思维方式——先把最像的东西并到一起,再并更大的堆,最后得到一套层级结构。电商类目树、公司组织架构、图书馆分类法,本质上都是这棵树。如果 K 均值是"你报个数,我切成几块",层次聚类就是"我先把家谱画好,你想认哪一辈的亲戚,自己下剪刀"。

具体实现与参数选项以各工具库的官方文档为准。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。