基本工作原理
给定要聚类的N的对象以及N*N的距离矩阵(或者是相似性矩阵),层次式聚类方法的基本步骤(参看S.C. Johnson in 1967)如下:
1.
2.
3.
4.
根据步骤3的不同,可将层次式聚类方法分为几类: single-linkage, complete-linkage以及 average-linkage聚类方法等.
single-linkage聚类法(也称connectedness 或minimum 方法):类间距离等于两类对象之间的最小距离,若用相似度衡量,则是一各类中的任一对象与另一类中任一对象的最大相似度
complete-linkage聚类法 (也称diameter 或 maximum 方法):组间距离等于两组对象之间的最大距离。
average-linkage聚类法: 组间距离等于两组对象之间的平均距离。average-link 聚类的一个变种是R. D'Andrade (1978) 的UCLUS方法,它使用的是median距离,在受异常数据对象的影响方面,它要比平均距离表现更佳一些.
这种层次聚类称为“凝聚"法,由于它迭代合并所有分类。也有一种“划分”层次聚类法,与“凝聚”相反,它先将所有对象放在同一类中,并不断划分成更小的类,划分法一般很少使用。
(*) 当然,将所有n个对象都放在同一类中纯属扯淡,根本没用。实际上,一旦你得到了完整的层次树,如果你想进行k分类,需要做的仅仅是剪枝。
以下我们以single-linkage聚类算法为例说明Johnson算法的原理。
single-linkage算法一种agglomerative机制,即每次将两个旧类合并成一个新类,直到最终合并成一个类为止。每合并一次,则在距离矩阵中删除相对应的行与列。
先介绍一些符号:将待聚类的N个对象分别标号为0,1,......, (n-1),,D = [d(i,j)]表示对应的N*N距离矩阵。记号L(k)表示第k个类所处的层次,由对象m构成的类记为(m),类(r)与类(s)的距离记为d [(r),(s)]。
single-linkage 聚类算法过程如下: 1.
2.
3.
4.
5.
问题
该算法主要的缺点在于:
- 不是scable,至少O(n2),复杂性,n是对象总数 ;
- 不能取消之前已经做完的工作.
Bibliography
- S. C. Johnson (1967): "Hierarchical Clustering Schemes"Psychometrika, 2:241-254
- R. D'andrade (1978): "U-Statistic Hierarchical Clustering"Psychometrika, 4:58-67
- Andrew Moore: “K-means and Hierarchical Clustering - Tutorial Slides”
http://www-2.cs.cmu.edu/~awm/tutorials/kmeans.html - Osmar R. Za?ane: “Principles of Knowledge Discovery in Databases - Chapter 8: Data Clustering”
http://www.cs.ualberta.ca/~zaiane/courses/cmput690/slides/Chapter8/index.html - Stephen P. Borgatti: “How to explain hierarchical clustering”
http://www.analytictech.com/networks/hiclus.htm - Maria Irene Miranda: “Clustering methods and algorithms”
http://www.cse.iitb.ac.in/dbms/Data/Courses/CS632/1999/clustering/dbms.htm
文章出处:http://blog.sina.com.cn/s/blog_6f0c85fb0100xhz5.html