层次聚类介绍

层次聚类介绍

By:Yang Liu
1.什么是层次聚类
层次聚类(Hierarchical clustering)是聚类算法的一种,通过计算不同类别数据点间的相似度来创建一棵有层次的嵌套聚类树。
在聚类树中,不同类别的原始数据点是树的最低层,树的顶层是一个聚类的根节点。
属于无监督学习。
属于贪心算法(又称贪婪算法):在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,算法得到的是在某种意义上的局部最优解。
层次聚类可以弥补Kmeans聚类的不足,层次聚类不需要提前确定K值,而且层次聚类可以处理不规则的散点图。
如下图,Kmeans并不适用,但可以使用层次聚类。
层次聚类介绍
2.层次聚类的原理
首先把每个对象作为一个簇,然后通过计算簇与簇的距离,合并距离最小的两个簇,也就是说每次结果的总簇数将减一,直到只有一个簇为止。
采用平均距离的层次聚类算法流程:
(1) 将每个对象看作一类,计算两两之间的距离;
(2) 将距离最小的两个类合并成一个新类;
(3) 重新计算新类与所有类之间的距离;
(4) 重复(2)、(3),直到所有类最后合并成一类。
层次聚类介绍
参考文献:https://www.bilibili.com/video/BV1GT4y1J7zk?from=search&seid=7067268047185072772