文档介绍:、层次聚类
1、层次聚类的原理及分类
)层次法( Hierarchical methods ) 先计算样本之间的距离。每次将距离最近的点合并到同
一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,
直到合成了一个类。 其中类与类的距离的计算方法有:最短距离法,最长距离法, 中间距离
法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。
层次聚类算法根据层次分解的顺序分为: 自下底向上和自上向下, 即凝聚的层次聚类算法和
分裂的层次聚类算法( agglomerative 和 divisive ),也可以理解为自下而上法( bottom-up )
和自上而下法( top-down )。 自下而上法就是一开始每个个体( object )都是一个类,然后
根据 linkage 寻找同类,最后形成一个“类”。自上而下法就是反过来,一开始所有个体都
属于一个“类”,然后根据 linkage 排除异己,最后每个个体都成为一个“类”。 这两种路
方法没有孰优孰劣之分, 只是在实际应用的时候要根据数据特点以及你想要的 “类” 的个数,
来考虑是自上而下更快还是自下而上更快。至于根据 Linkage 判断“类”的方法就是最短距
离法、 最长距离法、 中间距离法、类平均法等等(其中类平均法往往被认为是最常用也最好
用的方法,一方面因为其良好的单调性,另一方面因为其空间扩张 / 浓缩的程度适中)。为
弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。
) Hierarchical methods 中比较新的算法有 BIRCH( Balanced Iterative Reducing and Clustering
Using Hierarchies 利用层次方法的平衡迭代规约和聚类)主要是在数据量很大的时候使用,
而且数据类型是 numerical 。 首先利用树的结构对对象集进行划分,然后再利用其它聚类方
法对这些聚类进行优化; ROCK( A Hierarchical Clustering Algorithm for Categorical Attributes ) 主要用在 categorical 的数据类型上 ; Chameleon( A Hierarchical Clustering Algorithm Using
Dynamic Modeling )里用到的 linkage 是 kNN( k-nearest-neighbor )算法, 并以此构建一个 graph ,
Chameleon的聚类效果被认为非常强大,比 BIRCH好用,但运算复杂度很高, 0(门人2)。
2、层次聚类的流程
凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,
直到所有对象都在一个簇中, 或者某个终结条件被满足。 绝大多数层次聚类属于凝聚型层次
聚类,它们只是在簇间相似度的定义上有所不同。 这里给出采用最小距离的凝聚层次聚类
算法流程:
将每个对象看作一类,计算两两之间的最小距离;
将距离最小的两个类合并成一个新类;
重新计算新类与所有类之间的距离;
重复 (2) 、 (3) ,直到所有类最后合并成一类。
聚类的效果如下图,