层次聚类方法(Hierarchical Clustering)就是通过对数据集按照某种方法进行层次分解,直到满足某种条件为止。按照分类原理的不同,可以分为凝聚和分裂两种方法。
层次聚类方法对给定的数据集进行层次的分解,直到某种条件满足为止。具体又可分为凝聚的,分裂的两种方案。
1凝聚的层次聚类是一种自底向上的策略,首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足,绝大多数层次聚类方法属于这一类,它们只是在簇间相似度的定义上有所不同。
2分裂的层次聚类与凝聚的层次聚类相反,采用自顶向下的策略,它首先将所有对象置于同一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终止条件。
层次凝聚的代表是AGNES算法,层次分裂的代表是DIANA算法
给定要聚类的N的对象以及N*N的距离矩阵(或者是相似性矩阵), 层次式聚类方法的基本步骤(参看S.C. Johnson in 1967)如下:
将每个对象归为一类, 共得到N类, 每类仅包含一个对象. 类与类之间的距离就是它们所包含的对象之间的距离.
找到最接近的两个类并合并成一类, 于是总的类数少了一个.
重新计算新的类与所有旧类之间的距离.
重复第2步和第3步, 直到最后合并成一个类为止(此类包含了N个对象).
根据聚类原理步骤3的不同, 可将层次式聚类[2]方法分为几类: single-linkage, complete-linkage 以及average-linkage 聚类方法等.
SL层次聚类
SL聚类,即single-linkage聚类法(也称connectedness 或minimum 方法):
类间距离等于两类对象之间的最小距离,若用相似度衡量,则是各类中的任一对象与另一类中任一对象的最大相似度。
CL层次聚类
CL层次聚类,即complete-linkage聚类法(也称diameter 或maximum 方法):
组间距离等于两组对象之间的最大距离。
AL层次聚类
AL层次聚类,即average-linkage聚类法组间距离等于两组对象之间的平均距离。
average-link 聚类的一个变种是R. D'Andrade (1978) 的UCLUS方法, 它使用的是median距离, 在受异常数据对象的影响方面, 它要比平均距离表现更佳一些.
这种层次聚类称为“凝聚"法,由于它迭代合并所有分类。也有一种“划分”层次聚类法,与“凝聚”相反,它先将所有对象放在同一类中,并不断划分成更小的类,划分法一般很少使用。