第5卷第11期2005年11月
167l一1807(2005)11—0022—03
科
技
和
产 业
Science
Technology蚰d
Industry
V01.5
No.11
Nov.2005
⑥2005
Sci.。rech.Ind.
层次聚类方法的CUIm算法研究
魏桂英郑玄轩
(北京科技大学管理学院,北京100083)
摘要:层次聚类方法是一种发展比较早、应用广泛的聚类方法。本文重点总结研究了聚类技术中层次聚类方法的典型算法一
cI瓜E算法,并给出了一个详细的手工解析示例。
关键词:cI瓜E算法;层次聚类;聚类
学科分类号:哪11
文献标识码:A
1层次聚类方法
层次聚类方法【11(Hierarchical
Clustering
Method)
是一种发展比较早、应用广泛的聚类方法,按采用“自
顶向下(Top—Down)”和“自底向上(Bottom—Up)”两种
方式,分别被称为分解型层次聚类法(Divisive
Hiemrchical
Clustering)和聚结型层次聚类法
(AggIomerative
Hierarchical
C1ustering)。层次聚类方
法采用一种迭代控制策略,使聚类逐步优化。它是按
照一定的相似性判断标准,合并最相似的部分或者分
割最不相似的部分。
分解型层次聚类法,首先将所有对象置于一个类
中(即将所有的对象看成一个类),然后逐渐细分,使
其变为越来越小但个数越来越多的类,直到每个对象
独自构成一类,或满足了一定的终止条件.例如达到
了某个希望的聚类数目。或者两个最近的类之间的距
离超过了阈值。
聚结型层次聚类法,首先将每个对象(自身)作一
个类,然后合并这些原子类为越来越大的类,直到所
有的对象都在一个类中。或者满足某个终止条件为
止。大多数层次聚类方法都属于这类方法,只是它们
在类间距离定义描述方面有所不同。
2
CURE算法思路和步骤
绝大多数聚类算法或者擅长处理球形和相似大
小的聚类.或者在存在孤立点时变得比较脆弱。
CURE[2]采用了一种新颖的层次聚类算法.该算法选
择基于质心和基于代表对象方法之间的中间策略。它
不同于单个质心或对象来代表一个类,而是选择数据
空间中固定数目的具有代表性的点。一个类的代表点
通过如下方式产生:首先选择类中分散的对象,然后
根据一个特定的分数或收缩因子“收缩”或移动它们。
在算法的每一步,有最近距离的代表点对(每个点来
自于一个不同的类)的两个类被合并。
每个类有多于一个的代表点使得CURE可以适
应非球形的几何形状。类的收缩或凝聚可以有助于控
制孤立点的影响。因此,CURE对孤立点的处理更加
健壮,而且能够识别非球形和大小变化比较大的类。
针对大型数据库,CURE采用随机取样和划分两种方
法组合:一个随机样本首先被划分,每个划分被部分
聚类。
CURE算法的思想主要体现在如下几个方面[3]:
(1)CURE算法采用的是聚结层次聚类。在最开
始的时候,每一个对象就是一个独立的类,然后从最
相似的对象开始进行合并。
(2)为了处理大数据集,采用了随机抽样和分割
(Panitioning)手段。采用抽样的方法可以降低数据
量,提高算法的效率。在样本大小选择合适的情况下,
一般能够得到比较好的聚类结果。另外,CURE算法
还引入了分割手段,即将样本分割为几个部分,然后
针对各个部分中的对象分别进行局部聚类.形成子
类。再针对子类进行聚类,形成新的类。
(3)传统的算法常常采用一个对象来代表一个
类,而CURE算法由分散的若干对象.在按收缩因子
移向其所在类的中心之后来代表该类。由于CURE算
法采用多个对象来代表一个类.并通过收缩因子来调
节类的形状,因此能够处理非球形的对象分布。
(4)分两个阶段消除异常值的影响。CURE算法
作者简介:魏桂英,女,北京科技大学管理学院讲师,研究方向:管理信息系统。
万方数据