层次聚类
1.1 凝聚策略
按照聚类算法使用的两种不同的策略,可以将聚类算法分为两类:
1)层次或凝聚式算法
这类算法一开始将每个点都看成簇。簇与簇之间按照接近度(closeness)来组合,接近度可以按照“接近”的不同含义采用不同的定义。当进一步的组合导致多个原因之下的非期望结果时,上述组合过程结束。比如停止条件为:达到预先给定的簇数目,或者使用簇的紧密度测度方法,一旦两个小簇组合之后得到簇内的点分散的区域较大就停止簇的构建。
2)点分配过程算法
按照某个顺序依次考虑每个点,并将它分配到最适合的簇中。该过程通常有一个短暂的初始簇估计阶段。一些变形算法允许临时的簇合并或分裂的过程,或者当点为离群点时允许不将该点分配到任何簇中。
1.2层次凝聚算法的分类
层次聚类方法可以是凝聚或分裂的。取决于层次分解是以自底向上还是自顶向下方式形成。
1.2.1 凝聚的层次聚类方法
该方法使用自底向上的策略。该单个簇成为层次结构的根,在合并步骤,它找出两个最接近的簇(根据某种相似度量),并且合并他们,形成一个簇。因为每次迭代合并两个簇,其中每个簇至少包含一个对象,多以凝聚方法最多需要n次迭代
1.2.2 分裂的层次聚类方法
该方法使用自顶向下的策略。它从把所有对象置于一个簇中开始,该簇是层次结构的根。然后,它把根上的簇划分为多个较小的子簇,并且递归地把这些簇划分为更小的簇。
1.3算法方法的距离度量
无论是使用凝聚方法还是使用分裂方法,一个核心的问题是度量两个簇之间的距离,其中每个簇一般都是一个对象集。
4个广泛采用的簇间距离度量方法为:
最小距离: