首先介绍聚类中的层次聚类算法。层次法又分为凝聚的层次聚类和分裂的层次聚类。
凝聚的方法:也称自底向上的方法,首先将每个对象作为单独的一个聚类,然后根据性质和规则相继地合并相近的类,直到所有的对象都合并为一个聚类中,或者满足一定的终止条件。经典的层次凝聚算法以AGNES算法为代表,改进的层次凝聚算法主要以BIRCH,CURE,ROCK,CHAMELEON为代表。(后面详细介绍)
分裂的方法:也称自顶向下的方法,正好与凝聚法相反,首先将所有的对象都看作是一个聚类,然后在每一步中,上层类被分裂为下层更小的类,直到每个类只包含一个单独的对象,或者也满足一个终止条件为止。分裂算法将生成与凝聚方法完全相同的类集,只是生成过程的次序完全相反。经典的层次分裂算法以DIANA算法为代表。
AGNES算法
AGNES(AGglomerative NESting)
- 算法最初将每个对象作为一个簇,然后这些簇根据某些准则被一步步地合并
- 两个簇间的相似度由这两个不同簇中距离最近的数据点对的相似度来确定
- 聚类的合并过程反复进行直到所有的对象最终满足簇数目
算法过程
输入:n个对象,终止条件,簇的数目K
输出:K个簇,达到终止条件规定簇数目
- 将每个对象当成一个初始簇
- 根据两个簇中最近的数据点找到最近的两个簇
- 合并两个簇,生成新的簇的集合
- 直到达到定义的簇的数目
AGNES算法例题
序号 | 属性1 | 属性2 |