AI目录:sheng的学习笔记-AI目录-CSDN博客
需要学习的前置知识:聚类,可参考:sheng的学习笔记-AI-聚类(Clustering)-CSDN博客
什么是层次聚类
层次聚类(hierarchical clustering)试图在不同层次对数据集进行划分,从而形成树形的聚类结构。数据集的划分可采用“自底向上”的聚合策略,也可采用“自顶向下”的分拆策略
AGNES 算法
简介
AGglomerative NESting:AGNES
是一种常用的采用自底向上聚合策略的层次聚类算法。
流程
AGNES先将数据集中的每个样本看作一个初始聚类簇,然后在算法运行的每一步中找出距离最近的两个聚类簇进行合并,该过程不断重复,直至达到预设的聚类簇个数。这里的关键是如何计算聚类簇之间的距离
距离计算
算法
算法解释
AGNES算法描述如图9.11所示。
- 在第1-9行,算法先对仅含一个样本的初始聚类簇和相应的距离矩阵进行初始化;
- 然后在第11-23行,AGNES不断合并距离最近的聚类簇,并对合并得到的聚类簇的距离矩阵进行更新;
- 上述过程不断重复,直至达到预设的聚类簇数。
图示解释
以西瓜数据集4.0为例,令AGNES算法一直执行到所有样本出现在同一个簇中,即k=1,则可得到图9。12所示的“树状图”(dendrogram),其中每层链接一组聚类簇
结果展示
优缺点
-
AGNES
算法的优点:- 距离容易定义,使用限制较少。
- 可以发现聚类的层次关系。
-
AGNES
算法的缺点:- 计算复杂度较高。
- 算法容易聚成链状。