前 言
层次聚类算法对给定的数据进行层次分解,直到某种条件满足为止,具体有可分为凝聚的和分裂的两种方案。凝聚的层次聚类是一种自底向上的策略,首先将每个对象作为一个簇然后合并这些原子簇为越来越大的簇,直到多有的对象都在一个簇中或者到底某个条件终止;分裂的层次聚类与凝聚的层次聚类相反,采用的是自顶向下的策略,它首先将所有对象置于一个簇中然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者到某个终止条件.
层次聚类方法是通过将数据组织为若干组并形成一个相应的树来进行聚类的。根据层次分解是自底而上还是自顶而下形成的,层次聚类算法可以进一步分为凝聚方法(agglomerative method)和分裂方法(divisive method)两种。本章主要讨论了层次聚类方法,通过分析传统的层次聚类方法的不足之处,提出了一种基于动态近邻选择模型的Chameleon算法。一个纯粹的层次聚类方法的聚类质量受限于:一旦一个合并或分裂被执行,就不能修正。也就是说,如果某个合并或分裂决策在后来证明是不好的选择,该方法无法退回并更正。
层次方法概述
1 凝聚的和分裂层次聚类
一般来说,有两种类型的层次聚类方法:
(1)凝聚的层次聚类:这种自底向上的策略首先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有的对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类方法属于这一类,它们只是在簇间相似度的定义上有所不同。
(2)分裂的层次聚类:这种自顶向下的策略与凝聚的层次聚类相反,它首先将所有对象置于一个簇中,然后逐步细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终结条件,例如达到了某个希望的簇数目,或者两