层次聚类(Hierarchical Clustering)

1、 层次聚类算法概述

层次聚类算法通过将数据组织成若干组并形成一个相应的树状图来进行聚类, 它又可以分为两类, 即自底向上的聚合层次聚类和自顶向下的分解层次聚类。聚合聚类的策略是先将每个对象各自作为一个原子聚类, 然后对这些原子聚类逐层进行聚合, 直至满足一定的终止条件;后者则与前者相反, 它先将所有的对象都看成一个聚类, 然后将其不断分解直至满足终止条件。
对于聚合聚类算法来讲, 根据度量两个子类的相似度时所依据的距离不同, 又可将其分为基于Single-Link, Complete-Link, Average-Link,Ward的聚合聚类。
Single Linkage:将两个数据点集中距离最近的两个数据点间的距离作为这两个点集的距离。
Complete Linkage:将两个点集中距离最远的两个数据点间的距离作为这两个点集的距离。
上述两种方法容易受到极端值的影响,计算大样本集效率较高。
Average Linkage:计算两个点集中的每个数据点与其他所有数据点的距离。将所有距离的均值作为两个点集间的距离。这种方法计算量比较大,不过这种度量方法更合理。
Ward:最小化簇内方差。
层次聚类(Hierarchical Clustering)_第1张图片

2、 连接线约束(connectivity constraints )

连接性约束是对局部结构进行约束,可以加速算法的运行速度,改善rich get richer现象
层次聚类(Hierarchical Clustering)_第2张图片

3、 Birch(Balanced Iterative Reducing and Clustering Using Hierarchies)

BIRCH算法全称利用层次方法的平衡迭代规约和聚类,比较适合于数据量大,类别数K也比较多的情况,它运行速度很快,只需要单遍扫描数据集就能进行聚类

参考链接
https://scikit-learn.org/stable/modules/clustering.html#clustering
https://en.wikipedia.org/wiki/Ward's_method
https://blog.csdn.net/felaim/article/details/76668060
https://blog.csdn.net/qq_39388410/article/details/78240037

你可能感兴趣的:(聚类)