聚类算法研究_孙吉贵

聚类算法研究_孙吉贵
聚类算法研究_孙吉贵

ISSN 1000-9825, CODEN RUXUEW E-mail: jos@https://www.360docs.net/doc/fb2004870.html,

Journal of Software, Vol.19, No.1, January 2008, pp.48?61 https://www.360docs.net/doc/fb2004870.html, DOI: 10.3724/SP.J.1001.2008.00048 Tel/Fax: +86-10-62562563

? 2008 by Journal of Software. All rights reserved.

?

聚类算法研究

孙吉贵1,2, 刘杰1,2+, 赵连宇1,2

1(吉林大学计算机科学与技术学院,吉林长春 130012)

2(符号计算与知识工程教育部重点实验室,吉林长春 130012)

Clustering Algorithms Research

SUN Ji-Gui1,2, LIU Jie1,2+, ZHAO Lian-Yu1,2

1(College of Computer Science and Technology, Jilin University, Changchun 130012, China)

2(Key Laboratory of Symbolic Computation and Knowledge Engineering of the Ministry of Education, Changchun 130012, China)

+ Corresponding author: Phn: +86-431-85166478, E-mail: liu_jie@https://www.360docs.net/doc/fb2004870.html,

Sun JG, Liu J, Zhao LY. Clustering algorithms research. Journal of Software, 2008,19(1):48?61.

https://www.360docs.net/doc/fb2004870.html,/ 1000-9825/19/48.htm

Abstract: The research actuality and new progress in clustering algorithm in recent years are summarized in this

paper. First, the analysis and induction of some representative clustering algorithms have been made from several

aspects, such as the ideas of algorithm, key technology, advantage and disadvantage. On the other hand, several

typical clustering algorithms and known data sets are selected, simulation experiments are implemented from both

sides of accuracy and running efficiency, and clustering condition of one algorithm with different data sets is

analyzed by comparing with the same clustering of the data set under different algorithms. Finally, the research

hotspot, difficulty, shortage of the data clustering and some pending problems are addressed by the integration of

the aforementioned two aspects information. The above work can give a valuable reference for data clustering and

data mining.

Key words: clustering; algorithm; experiment

摘要: 对近年来聚类算法的研究现状与新进展进行归纳总结.一方面对近年来提出的较有代表性的聚类算法,

从算法思想、关键技术和优缺点等方面进行分析概括;另一方面选择一些典型的聚类算法和一些知名的数据集,主

要从正确率和运行效率两个方面进行模拟实验,并分别就同一种聚类算法、不同的数据集以及同一个数据集、不同

的聚类算法的聚类情况进行对比分析.最后通过综合上述两方面信息给出聚类分析的研究热点、难点、不足和有待

解决的一些问题.上述工作将为聚类分析和数据挖掘等研究提供有益的参考.

关键词: 聚类;算法;实验

中图法分类号: TP18文献标识码: A

聚类分析研究有很长的历史,几十年来,其重要性及与其他研究方向的交叉特性得到人们的肯定.聚类是数

? Supported by the National Natural Science Foundation of China under Grant Nos.60473003, 60573073 (国家自然科学基金); the

Major Research Program of National Natural Science Foundation of China under Grant No.60496321 (国家自然科学基金重大项目)

Received 2007-04-24; Accepted 2007-08-03

孙吉贵 等:聚类算法研究

49

据挖掘、模式识别等研究方向的重要研究内容之一,在识别数据的内在结构方面具有极其重要的作用.聚类主要应用于模式识别中的语音识别、字符识别等,机器学习中的聚类算法应用于图像分割和机器视觉,图像处理中聚类用于数据压缩和信息检索.聚类的另一个主要应用是数据挖掘(多关系数据挖掘)、时空数据库应用(GIS 等)、序列和异类数据分析等.此外,聚类还应用于统计科学.值得一提的是,聚类分析对生物学、心理学、考古学、地质学、地理学以及市场营销等研究也都有重要作用[1?3].

本文一方面从算法思想、关键技术和优缺点等方面对近年提出的较有代表性的聚类算法进行了分析、介绍;另一方面又选用多个知名数据集对一些典型算法进行了测试.而后综合这两方面信息得出一些相应的结论.

本文第1节简单介绍聚类概念、聚类过程与聚类算法的类别.第2节重点阐述17个较有代表性的算法.第3节描述8种聚类算法的模拟实验结果,并结合文献[4]进行分析.第4节给出本文的一些结论.

1 聚类与聚类算法类别

1.1 聚类概念与聚类过程

迄今为止,聚类还没有一个学术界公认的定义.这里给出Everitt [5]在1974年关于聚类所下的定义:一个类簇内的实体是相似的,不同类簇的实体是不相似的;一个类簇是测试空间中点的会聚,同一类簇的任意两个点间的距离小于不同类簇的任意两个点间的距离;类簇可以描述为一个包含密度相对较高的点集的多维空间中的连通区域,它们借助包含密度相对较低的点集的区域与其他区域(类簇)相分离.

事实上,聚类是一个无监督的分类,它没有任何先验知识可用.聚类的形式描述如下:

令U ={p 1,p 2,…,p n }表示一个模式(实体)集合,p i 表示第i 个模式i ={1,2,…,n };C t ?U ,t =1,2,…,k , 12{,,...,}w t t t t C p p p =;proximity (p ms ,p ir ),其中,第1个下标表示模式所属的类,第2个下标表示某类中某一模式,函 数proximity 用来刻画模式的相似性距离.若诸类C t 为聚类之结果,则诸C t 需满足如下条件:

1) 1k t t C U ==U .

2)

对于?C m ,C r ?U ,C m ≠C r ,有C m ∩C r =?(仅限于刚性聚类);

,,,&,,MIN ((,))MAX ((,))mu m rv r m r m r mx my m m p C p C C C U C C mu rv p p C C U mx my proximity p p proximity p p ?∈?∈??≠?∈??>.

典型的聚类过程主要包括数据(或称之为样本或模式)准备、特征选择和特征提取、接近度计算、聚类(或分组)、对聚类结果进行有效性评估等步骤[3,6,7].

聚类过程:

1) 数据准备:包括特征标准化和降维.

2) 特征选择:从最初的特征中选择最有效的特征,并将其存储于向量中. 3) 特征提取:通过对所选择的特征进行转换形成新的突出特征.

4) 聚类(或分组):首先选择合适特征类型的某种距离函数(或构造新的距离函数)进行接近程度的度量; 而后执行聚类或分组.

5)

聚类结果评估:是指对聚类结果进行评估.评估主要有3种:外部有效性评估、内部有效性评估和相关性测试评估.

1.2 聚类算法的类别

没有任何一种聚类技术(聚类算法)可以普遍适用于揭示各种多维数据集所呈现出来的多种多样的结构[7].根据数据在聚类中的积聚规则以及应用这些规则的方法,有多种聚类算法.聚类算法有多种分类方法,本文将聚类算法大致分成层次化聚类算法、划分式聚类算法、基于密度和网格的聚类算法和其他聚类算法,如图1所示的4个类别.

50 Journal of Software 软件学报 V ol.19, No.1, January 2008

Fig.1 The classification chart of clustering algorithms

图1 聚类算法分类图

2 聚类算法

2.1 层次聚类算法

层次聚类算法又称为树聚类算法[8,9],它使用数据的联接规则,透过一种层次架构方式,反复将数据进行分裂或聚合,以形成一个层次序列的聚类问题解.本文仅以层次聚类算法中的层次聚合算法为例进行介绍.层次聚合算法的计算复杂性为O (n 2),适合于小型数据集的分类.

2.1.1 层次聚合算法

该算法由树状结构的底部开始逐层向上进行聚合,假定样本集S ={o 1,o 2,…,o n }共有n 个样本.

HA1[初始化]. 置每个样本o i 为一个类; /*共形成n 个类:o 1,o 2,…,o n */ HA2[找最近的两个类]. ,,(,)min (,)u v u v r k o o S o o u v distance o o distance o o ?∈≠=;

/*从现有的所有类中找出距离最近(相似度最大)的两个类o r 和o k */ HA3[合并o r 和o k ]. 将类o r 和o k 合并成一个新类o rk ; /*现有的类数将减1*/ HA4. 若所有的样本都属于同一个类,则终止本算法;否则,返回步骤HA2.

2.1.2 传统聚合规则

两个类之间距离的度量方法是传统层次聚合算法的重要组成部分,它主要包括两个重要参数相似性度量方法和联接规则.这里采用欧式距离作为相似性度量方法,联接规则主要包括单联接规则、完全联接规则、类间平均联接规则、类内平均联接规则和沃德法.这几种联接规则可定义如下[8](其中,含||x ?y ||是欧几里德范数, n i 和n k 分别指类o r 和k o 中的样本个数,C (n i +n k ,2)表示从n i +n k 个元素中抽出两个元素的不同组合的方法总数):

单联接聚合规则:,(,)min ||||i k i k x o y o d o o x y ∈∈=?; 全联接聚合规则:,(,)max ||||i k i k x o y o d o o x y ∈∈=?; 类间平均联接聚合规则:()

(,)(1/)||||i

k

i k i k x o

y o d o o n n x y ∈∈=?∑∑

;

孙吉贵 等:聚类算法研究 51

类内平均联接聚合规则:,(,)(,)(1/(,2))||||i k

i k i k x y o o d o o C n n x y ∈=+?∑;

沃德法:2

(,)(,)(1/())||||i k

i k i k x o o d o o n n x n ∈=+?∑,其中,n 是融合聚类的中心.

2.1.3 新层次聚合算法

(1) Binary-Positive 方法

2007年,Gelbard 等人[4]提出了一种新的层次聚合算法,被称为正二进制(binary-positive)方法.该方法把待分类数据以正的二进制形式存储于一个二维矩阵中,其中,行表示记录(对象),列表示其属性的可能取值.记录对应的取值为1或者0,分别表示此记录有对应的属性值或者不存在对应属性值.因此,相似性距离计算只在被比较的二进制向量中的正比特位上进行,即只在取值为1的记录(对象)之间进行.有以Dice 距离为代表的多种

Binary-Positve 相似性测量方法[10,11].

Gelbard 等人采用Wine,Iris,Ecolic 和Psychology balance 这4种数据集对11种聚类算法进行了实验,结果表明,对于此4种数据集中的任意一种数据的聚类结果,Binary-Positive 等4种方法在聚类结果的准确率方面,从总体上来看都是最好的.同时他们还认为,将原始数据转换成正二进制会改善聚类结果的正确率和聚类的鲁棒性,对于层次聚类算法尤其如此.

(2) 连续数据的粗聚类算法(rough clustering of sequential data,简称RCOSD)

2007年,Kumar 等人[12]面向连续数据提出了一种新的基于不可分辨粗聚合的层次聚类算法RCOSD.在该算法中,不可分辨关系被扩展成具有不严格传递特性的容差关系.使用相似性的上近似形成初始类,使用约束相似性的上近似概念形成后续类,其中的一个相对的相似性条件被用作合并准则.RCOSD 的关键思想是寻找能捕捉数据序列的连续信息及内容信息的一个特征集,并把这些特征集映射到一个上近似空间,应用约束相似性上近似技术获得粗类簇的上近似,其中一个元素可以属于多个类簇.该算法引入S 3M 作为Web 数据的相似性度量方法,S 3M 既考虑了项的出现次序又考虑了集合内容.该算法每一次迭代可以合并两个或多个类,所以加快了层次聚类速度.该算法能够有效挖掘连续数据,并刻画类簇的主要特性,帮助Web 挖掘者描述潜在的新的Web 用户组的特性.

Pradeep Kumar 等人在本质连续的MSNBC Web 导航数据集上的实验结果表明,与使用序列向量编码的传统层次化聚类算法相比,RCOSD 聚类算法是可行的.算法给出的描述方法能够帮助Web 挖掘者鉴别潜在的有意义的用户组. 2.2 划分式聚类算法

划分式聚类算法需要预先指定聚类数目或聚类中心,通过反复迭代运算,逐步降低目标函数的误差值,当目标函数值收敛时,得到最终聚类结果.

2.2.1 K 均值聚类

1967年,MacQueen 首次提出了K 均值聚类算法(K -means 算法).迄今为止,很多聚类任务都选择该经典算法.该算法的核心思想是找出K 个聚类中心c 1,c 2,…,c K ,使得每一个数据点x i 和与其最近的聚类中心c v 的平方距离和被最小化(该平方距离和被称为偏差D ).

K 均值(K -means)聚类算法[8](对n 个样本进行聚类) K1[初始化]. 随机指定K 个聚类中心(c 1,c 2,…,c K );

K2[分配x i ]. 对每一个样本x i ,找到离它最近的聚类中心c v ,并将其分配到c v 所标明类; K3[修正c w ]. 将每一个c w 移动到其标明的类的中心; K4[计算偏差]. 21,...,1[min (,)]n

r K i r i D d x c ===∑;

K5[D 收敛?]. 如果D 值收敛,则return (c 1,c 2,…,c K )并终止本算法;否则,返回步骤K2. K -means 算法的优点与不足[13].优点:能对大型数据集进行高效分类,其计算复杂性为O (tKmn ),其中,t 为迭代次数,K 为聚类数,m 为特征属性数,n 为待分类的对象数,通常,K ,m ,t <

52 Journal of Software软件学报 V ol.19, No.1, January 2008

结果为凸形(即类簇为凸形)的数据集.

以经典K-means算法为基础,研究者们提出了很多新的改进的K-means算法,下面对其中的一些算法加以介绍.

2.2.2 K-modes算法

(1) K-modes-Huang算法[14]

在阐述K-modes算法之前,先对Means与Modes做简单介绍.

在K-means算法中,mean为类簇中心或称为质心,是指一个类簇中所有对象关于属性的均值,最初可随机指定.在K-modes算法中,modes可定义如下:设X={X1,X2,…,X n}是一个数据集,?X i∈X由m个分类属性{A1,A2,…, A m}来描述,X i可表示成向量?x i1,x i2,…,x im?,又可表示成属性-值对的合取式[A1=x i1]∧…∧[A m=x im];Q是X的一个

mode,Q可表示成向量?q1,q2,…,q m?,也可表示成属性-值对的合取式[A1=q1]∧…∧[A m=q m],Q需使

1

1,...,(,)

i

i n d X Q

=

取最小值,d1(X i,Q)表示X i与Q之间的距离,Q不必是X的一个元素.

1998年,Huang为克服K-means算法仅适合于数值属性数据聚类的局限性,提出了一种适合于分类属性数据聚类的K-modes算法.该算法对K-means进行了3点扩展:引入了处理分类对象的新的相异性度量方法(简单的相异性度量匹配模式),使用modes代替means,并在聚类过程中使用基于频度的方法修正modes,以使聚类代价函数值最小化.

这些扩展允许人们能够直接使用K-means范例聚类有分类属性的数据,无须对数据进行变换.K-modes算法的另一个优点是modes能给出类的特性描述,这对聚类结果的解释是非常重要的.事实上,K-modes算法比K-means算法能够更快收敛.Huang使用众所周知的大豆疾病数据集对其算法进行了测试,结果表明,K-modes 算法具有很好的聚类性能.进一步地,他用包含50万条记录和34个分类属性的健康保险数据集进行了测试,结果证明,该算法在(聚类的)类数和记录数两个方面是真正可伸缩的.

与K-means算法一样,K-modes算法也会产生局部最优解,依赖于初始化modes的选择和数据集中数据对象的次序.初始化modes的选择策略尚需进一步研究.

1999年,Huang等人[15]证明了经过有限次迭代K-modes算法仅能收敛于局部最小值.

(2) K-modes-CGC算法[16]

2001年,Chaturvedi等人提出一种面向分类属性数据(名义尺度数据)的非参数聚类方法,称为K-modes- CGC算法,类似于面向数值数据(间隔尺度数据)的传统K-means算法.与现存的大多数面向分类属性数据的聚类方法不同,K-modes-CGC算法显式地优化一个基于L0范数的损失函数.

在蒙特卡罗模拟中,Chaturvedi等人用K-modes-CGC和潜类算法[17]来恢复一个已知的潜在类结构,结果表明,两者具有相等的执行效率.然而,K-modes-CGC算法不但在速度方面比潜类算法快一个数量级,而且更少遇到局部最优的情况.对于包含大量分类变量的数据集,潜类算法计算极其缓慢,变得不可行.

尽管在一些情况下,潜类算法比K-modes-CGC算法执行得更好,但Chaturvedi猜测在另外一些情况下,潜类算法很可能是不可行的.因此,Chaturvedi等人建议在执行聚类分析时应互补地使用这两种方法,同时给出了K-modes-CGC算法和潜类算法的经验比较,结果表明前者更占优势.

2003年,Huang[18]证明了K-modes-CGC算法与K-modes-Huang算法是等价的.

2.2.3 迭代初始点集求精K-modes算法

2002年,Sun等人[19]将Bradley等人的迭代初始点集求精算法[20]应用于K-modes算法(Huang,1998).尽管Huang的K-modes算法能够聚类分类数据,但它需要预先决定或随机选择类(簇)的初始modes,并且初始modes 的差异常常会导致截然不同的聚类结果.文中,Sun等人给出了一个关于应用Bradley等人的迭代初始点求精算法于K-modes聚类的实验研究.

Sun等人用知名大豆疾病[21]数据集进行测试,大豆疾病数据包含47个记录,每个记录由35个特征描述.每个记录都被标记为以下4种疾病中的一种:Diaporthe StemCanker,Charcoal Rot,Rihizoctonia Root Rot以及Phytophthora Rot,除了Phytophthora Rot有17个记录外,其他3种疾病都有10个记录.针对K-modes算法,分两

孙吉贵 等:聚类算法研究

53

种方案对大豆疾病数据集进行聚类实验:方案1随机选择初始点集;方案2采用迭代初始点集求精方法选择初始点集.实验结果表明,采用方案2的K -modes 算法能够产生更高精度和更可靠的聚类结果.求精算法在给定数据集的一个小子样本集上进行,因此只需存储全部数据的内存空间的一小部分.然而,对于更大、更复杂分布的数据集,关于算法的可伸缩性和适应性方面还有许多问题需要研究.

2.2.4 一致性保留K -means 算法(K -means-CP)

2004年,Ding 等人[22]提出一致性保留K -means 算法(K -means-CP).最近邻一致性是统计模式识别中的一个重要概念,他们将这个概念扩展到数据聚类,对一个类中的任意数据点,要求它的k 最近邻和k 互最近邻都必须在该类中.他们研究了类的k 最近邻一致性的性质,提出了k NN 和k MN 一致性强制和改进算法,并提出了将类k 最近邻或类k 互最近邻一致性作为数据聚类的一种重要质量度量方法.他们选用互联网上20个新闻组数据集

进行了实验,结果表明,k 最近邻一致性、

k 互最近邻一致性以及算法聚类的正确率都得到显著改善.同时,这也表明局部一致性信息可帮助全局聚类目标函数优化.

算法K -means-CP.

1[初始化]. 随机选择K 个点作为初始类的中心(c 1,c 2,…,c K );

2[分配近邻集]. 分配一个近邻集S ; //*将S 分配到离其最近的类Cp 中,21,...,arg min ()i

v K i v x S p x m =∈=?∑

3[更新类中心]. 置/i

v

v i v x C m x n ∈=∑; //*更新聚类中心(即质心),m v 是类C v 的中心,n k =|C k |

4[收敛否?]. 质心不再移动,则终止算法;否则返回步骤2. //*21,...,()i

v

Km i v v K x C J x m =∈=?∑∑判断收敛

2.2.5 模糊聚类算法

1969年,Ruspini 首次将模糊集理论应用到聚类分析中,提出了模糊聚类算法(fuzzy c -means,简称FCM). FCM 算法是图像分割使用最多的方法之一,它的成功主要归功于为解决每个图像像素的隶属需要引入了模糊性.比之脆弱(crisp)或硬分割方法,FCM 能够保留初始图像的更多信息.然而,FCM 的一个缺点是不考虑图像上下文中的任何空间信息,这使得它对噪声和其他人造图像非常敏感.人们围绕FCM 算法开展了大量研究,下面只对这方面的最新研究作简单介绍[23,24].

2006年,李洁等人[25]提出基于特征加权的模糊聚类新算法NFWFCA.传统模糊K -均值算法、

K -modes 算法和K -原型算法都假定样本矢量的各维特征对聚类贡献相同.但在实际应用中,由于样本矢量的各维特征来自不同传感器,存在测量精度及可靠性等差异,样本矢量的各维特征对聚类影响不尽相同.以模糊K -原型算法为基础,算法NFWFCA 采用ReliefF 算法[26]确定各维特征的权重,数值特征权值的计算方法为

__r r r

r

diff hit diff miss R R

λλ=?+.

属性特征权值的计算方法为

__c c

c c diff hit diff miss R R

λλ=?

+. 从而修正目标函数为

222

1,...,1,...,1,...,1,...,1,...,(,)||(,)r r r c c c ij m jm jm ij q jq jq i k j n m t j n q t m J W P w x p w x p λλδ=====+??=?+??

∑∑∑∑∑. 当J (W ,P )最小时,聚类结果最优.NFWFCA 还可以将模糊K -均值、K -modes 和K -原型等算法合而为一.当

λc =0时,对应加权模糊K -均值算法;当λr =0时,对应加权模糊K -modes 算法;当λc ≠0且λr ≠0时,对应加权模糊K -原型算法.

通过各种实际数据集的测试,实验结果表明,该算法的聚类结果较之传统模糊K -均值算法、K -modes 算法和K -原型算法要更准确、更高效.同时,该算法还可以分析各维特征对聚类的贡献度,有效进行特征提取和优选,这对聚类算法研究及其应用都有一定的意义.

2007年,Cai 等人[27]结合局部空间和灰度信息,提出快速通用FCM 聚类算法FGFCM,其特点为:(1) 用一个新因子S ij 作局部(空间和灰度)相似性度量,不仅确保图像的抗扰性、保留图像细节,而且除去了经验调节参数

54 Journal of Software软件学报 V ol.19, No.1, January 2008

α;(2) 分割时间只与灰度级数q有关,与图像大小N(>>q)无关,因此,其聚类时间复杂性由O(NcI1)减少到O(qcI2),其中,c为聚类数目,I1和I2(

2.2.6 图论算法

1999年,Jain[3]指出著名的图论分裂聚类算法的主要思想是:构造一棵关于数据的最小生成树(minimal spanning tree,简称MST),通过删除最小生成树的最长边来形成类.基于图论的聚类算法主要包括:Random Walk,CHAMELEON, AUTOCLUST[28?30]等.

2007年,Li[31]提出一种基于最大θ距离子树的聚类算法MDS_CLUSTER,使用阈值剪枝,剪掉最小生成树中所有长度大于阈值θ≥0的边,从而生成最大θ距离子树集,其中每个最大θ距离子树的顶点集正好形成一个类.该算法的特点是:能发现任意形状非重叠的类,只要简单说明一个参数,该参数系指每个类中最少应包含的元素个数;还能提供一个分层体系结构中几个主要的类层次,这不同于由传统层次聚合方案所生成的包括所有层次的分层体系结构.此外,该算法能将小类中的元素作为数据集中的奇异值检测出来,如果奇异值数量相对大,则将这些奇异值合并成一个新类(称为背景类).模拟实验表明了该聚类方案的有效性.

2.3 基于网格和密度的聚类算法

基于网格和密度的聚类方法是一类重要的聚类方法,它们在以空间信息处理为代表的众多领域有着广泛应用.特别是伴随着新近处理大规模数据集、可伸缩的聚类方法的开发,其在空间数据挖掘研究子域日趋活跃.

与传统聚类算法不同:基于密度的聚类算法,通过数据密度(单位区域内的实例数)来发现任意形状的类簇;基于网格的聚类算法,使用一个网格结构,围绕模式组织由矩形块划分的值空间,基于块的分布信息实现模式聚类.基于网格的聚类算法常常与其他方法相结合,特别是与基于密度的聚类方法相结合.

2001年,Zhao和Song[32]给出网格密度等值线聚类算法GDILC.密度等值线图能够很好地描述数据样本的分布.算法GDILC的核心思想——用密度等值线图描述数据样本分布.使用基于网格方法计算每一个数据样本的密度,发现相对的密集区域——类(或称为类簇).GDILC具有消除奇异值和发现各种形状的类的能力,它是一种非监督聚类算法.他们的实验表明,GDILC算法具有聚类准确率高和聚类速度快等特点.

2004年,Ma[33]提出一种新的基于移位网格概念的基于密度和网格的聚类算法SGC.SGC是一种非参数类型的算法,它不需要用户输入参数,它把数据空间的每一维分成某些间隔以形成一个数据空间的网格结构.基于滑动窗口概念,为获得一个被更多描述的密度剖面引入了整个网格结构的移位概念,因此能够提高聚类结果的精度(准确度).与许多传统算法相比,该算法是高效的,因为类数据是基于网格单元的.该算法的主要优点可概括为:计算时间与数据集样本数无关;在处理任意形状类簇时展现了极好的性能;不需要用户输入参数;当处理大型数据集时,很少遇到内存受限问题.

2005年,Pileva等人[34]提出一种用于大型、高维空间数据库的网格聚类算法GCHL.GCHL将一种新的基于密度——网格的聚类算法和并行轴划分策略相结合,以确定输入数据空间的高密度区域——类簇.该算法能够很好地工作在任意数据集的特征空间中.GCHL的主要特点为:(1) 只对数据扫描一次;将大型数据集划分成子部分,使用有限内存缓冲区一部分接一部分地进行处理;(2) 将类簇看成是由数据空间中的低密度区域划分的对象密集区域,能发现任意形状的类簇;(3) 能发现奇异值,对噪声数据不敏感;(4) 将数据空间量化为用于形成网格数据结构的有限数量的单元,所有的聚类操作都在网格结构上进行;聚类快速,聚类时间独立于数据对象数目和数据次序;(5) 适合大型、高维数据集的聚类.

Pileva等人的实验结果表明,该算法所获得的聚类结果是高质量的,具有发现凹/更深、凸/更高区域的能力,对奇异值和噪声的稳健性以及极好的伸缩性,这使其能够很好地应用于医疗和地理领域.

2006年,Micro等人[35]面向移动对象轨迹数据处理领域,基于简单的轨迹间距离概念,提出了一种基于密度

孙吉贵等:聚类算法研究55

的自适应聚类方法TFCTMO,进一步考虑时态内在语义,给出时间聚焦方法以提高轨迹聚类效果.Mirco等人将对象间的空间距离概念扩展到轨迹间的时空距离概念,由此将基于密度的聚类方法应用到轨迹上.Mirco等人的关键思想是,将时态信息和空间信息相结合,使时态信息在移动对象轨迹聚类中起到了重要作用:根据所选取的时间区间的大小,轨迹间的相关程度是不同的.时间聚焦(temporal focusing)方法能够发现最有意义的时间区间,提高了移动对象轨迹聚类的质量.

2007年,Derya等人[36]对DBSCAN(density-based spatial clustering of applications with noise)进行了与辨识核对象、噪音对象和邻近类簇相关的3个边缘扩展,进而提出一种新的基于密度的聚类算法ST-DBSCAN(spatial-temporal DBSCAN).与现有的基于密度聚类算法相比,该算法具有依据非空间值、空间值和时态值发现类簇的能力.

2.4 其他聚类算法

2.4.1 ACODF聚类算法

2004年,Tsai等人[37]提出一个新颖的具有不同偏好的蚁群系统(novel AS)——ACODF(a novel data clustering approach for data mining in large databases),用来解决数据聚类问题(当时未见用于数据聚类的ACO(ant colony optimization)算法的报道).设计一种不需要求解任何硬子问题(any hard sub-problem),但能给出近似最优解的聚类算法,是人们所期待的.ACODF能够快速获得最优解,它所包含的3个重要策略介绍如下:

(1) 应用不同偏好的(favorable)ACO策略.每个蚂蚁只需访问全部城市数的十分之一,并且访问城市数目逐次减少;几次循环之后,两点间相对短的路径的信息素浓度增加,两点间相对长的路径的信息素减少.因此,蚂蚁喜欢访问距离近的节点,并用自己的信息素加强此路径(由其喜欢访问的节点组成);最后形成具有较高浓度的路径,即聚类完成.

(2) 为减少获得局部最优解所需要访问的城市数量,对蚁群采用模拟退火策略.为此设计了两个公式:

ns(t+1)=ns(t)×T,

其中,ns是蚁群在T0函数期间访问的节点数,ns(t+1)表示当前蚁群的访问的节点数,ns(t)表示上一次循环蚁群访问的节点数,T是一个常数(T=0.95).

nf(t+1)=2×ns(t)/3?i×ns(t)/(run×3),

其中,nf是蚁群在T1函数期间访问的节点数,nf(t+1)表示蚁群当前访问的节点数,nf(t)表示上一次循环蚁群访问的节点数,run=2,i∈{1,2}.

(3) 使用锦标赛(tournament)选择策略.与传统ACO不同,ACODF采用锦标赛选择技术进行路径选择.即从N条路径中随机选择K条路径,再从这K条路径中选择最短路径(N>K).

Tsai等人分别进行了模拟和实际数据实验.模拟数据实验:首先选含579个数据的数据集,分别用ACODF,GKA和FSOM+K-means等3种算法进行非球形聚类;然后选含300个数据的数据集,依次用上面3种算法进行球形聚类.实际数据实验:采用732个客户信用卡上的8维实际数据,根据客户收入和消费进行聚类.实验结果表明,大多数情况下,ACODF的搜索速度比GKA和FSOM+K-means更快,且错误率比它们更小.

3 实验

为了对有一定代表性的聚类算法给出进一步的分析,我们从重点介绍的19种算法中选出8种算法,从UCI 机器学习数据集储存库中选择了人们常用的5个数据集,分别针对分类属性数据和数值型数据对这8种算法进行了对比实验.实验的计算机环境为:处理器为Pentium M 1.4GHz,内存512MB,硬盘80G,操作系统为Windows XP,编程语言为VC 6.0.

3.1 数据集

本文采用Iris,Wine,Soybean,Zoo和Image数据集作为测试数据集,前4个数据集为常用的知名数据集,已知其聚类结果可靠、并取得一致意见,适合做聚类分析的基准数据集.本文选用Image数据集的主要目的是与Iris

56

Journal of Software 软件学报 V ol.19, No.1, January 2008

和Wine 这两个基准数据集进行比较.

针对数值型数据,分别采用Iris,Wine 和Image 等3个数据集进行测试.

Iris 包含3个类,每类各有50个元素,每一类代表一种类型的鸢尾花,150个样本在3个类簇中分布均匀;其中,一类与另外两类线性可分,另外两类有部分重叠.Wine 数据集具有好的聚类结构,它包含178个样本,13个数值型属性,分成3个类,每类中样本数量不同.Image 取自UCI 机器学习数据集,本文作者在众多文献中未见其被使用.该数据集是从包含7个户外图像集合的数据库中随机选取的,并采用手工进行分类.

针对分类属性数据,分别采用Soybean 和Zoo 数据集进行测试.

Soybean 数据集共有47个样本,具有35个属性,分为4类,是线性可分的,其所有属性都可作为分类属性.Zoo 数据集共有101个记录,分为7类,是线性不可分的.在Zoo 中,由16个属性来描述样本,其中15个为布尔属性值

{0.1}和1个分类属性值属性(腿的数量){0,2,4,5,6,8}. 3.2 针对分类属性数据的实验

针对分类属性数据聚类,我们对K -modes 算法、迭代初始点集求精K -modes 算法分别采用线性可分大豆疾病数据和线性不可分动物园数据进行20次随机实验.

3.2.1 大豆疾病数据实验

大豆疾病数据实验结果:我们采用Sun 等人[19]提出的计算正确率的方法.正确率计算公式为

1,...,(/)i i k r a n ==∑.

a i 是出现在第i 个类簇(执行算法得到的)及其对应的类(初始类)中的样本数,k 是类数(这里有k =4,聚类数),n 是数据集中样本总数(即47).实验结果见表1和表2.

Table 1 Clustering results of 20 random tests for soybean disease data set on 2 algorithms

表1 两种算法对大豆疾病数据集20次随机实验聚类结果

Table 2 Average run time of 20 random tests for soybean disease data set on 2 algorithms

表2 两种算法对大豆疾病数据进行20次随机实验的平均运行时间

Algorithm

Average running time (s)

Iterative initial-points refinement K -modes

0.011 782 65

从大豆疾病数据集的实验结果来看,迭代初始点集求精K -modes 算法明显好于K -modes 算法,两者的平均正确率分别为92.6%和84%.从算法运行时间来看,迭代初始点集求精K -modes 算法所需时间略长.

3.2.2 动物园数据实验

下面对K -modes 算法和迭代初始点集求精K -modes 算法,用动物园数据[21]进行20次随机实验,实验结果见表3.聚类正确率计算公式为r =1?(错分样本个数/样本总数),且以下实验均采用该正确率计算公式.

Table 3 Clustering results of 20 random tests for zoo data set on 2 algorithms

表3 两种算法对动物园数据进行20次随机实验的聚类结果

Algorithm

Average mistaken partition numbers (include mammalia)

Average accuracy (%)

Average running

time(s) K -modes

15 85.00 0.010 460 660 Iterative initial-points refinement K -modes

13

86.45

0.027 089 395

孙吉贵等:聚类算法研究57

从以上实验结果可以得出,大豆集的分类效果整体好于动物园数据集,这与大豆集数据线性可分而动物园

数据线性不可分是一致的.对于大豆集和动物园两个数据集,迭代初始点集求精K-modes算法的分类正确率都

好于K-modes算法,这说明初始化时选择一个接近真实modes的初始值,通过不断迭代更容易得到正确的聚类

结果.另外,从运行时间来看,迭代初始点集求精K-modes算法的运行时间比K-modes算法长一些.

3.3 针对数值型数据进行实验

3.3.1 层次聚合算法和K-means算法比较

针对数值型数据,我们分别采用层次聚合算法中的单一联接法、完全联接法、类间平均联接法、沃德法和

划分式聚类算法中的K-means算法,用UCI中的数据集Iris,Wine,Image[29]随机进行了20次聚类实验,对比结果

见表4.

Table 4Clustering results of 20 random tests for Iris ,Wine, Image data sets on several algorithms

表4几种算法对Iris,Wine,Image数据集20次随机实验的聚类结果

Average accuracy of running 20 cycles (%)Average running time (s)

Algorithm

Iris Wine Image Iris Wine Image Nearest neighbor 68.00 42.70 30.00 1.583 102 5 3.134 614 5 5.241 43

Furthest neighbor 84.00 67.40 39.00 1.504 258 5 3.143 374 5.670 8 Between groups average 74.70 61.20 37.00 1.502 659 5 3.152 568 5 5.785 28

Ward method 89.30 55.60 60.00 2.379 265 4.775 662 5 8.959 95

K-means 81.60 87.96 56.00 0.002 553 522 50.003 764 25 0.045 662 835实验结果表明,传统层次聚合算法对聚类结构好的Wine数据集分类结果并不理想,这与传统层次聚合算法

的再分配能力差相关(即若在初始阶段把一些数据分配给某个类簇,那么这些数据就不能再被分配给其他类

簇);而对于Image数据集来讲,无论层次聚合算法还是K-means算法都基本上不能对其进行正确分类,这可能与

Image数据集的聚类结构等有关系;K-means的运行效率远高于传统层次聚合算法.我们还发现,聚类结果有其

不可预见性,对于不同数据集合,同一算法的聚类正确率可能会大不相同;对于同一数据集合,采用不同的聚类

算法,其聚类结果和效率也会有很大差异.因此在实际应用中,应根据待聚类数据集的数据类型、聚类结构(若可

得到的话)选择相应的聚类算法,以取得最佳聚类效果.

3.3.2 k最近邻一致性强制与保留算法K-means-CP关于不同K值的实验

选择Iris和Wine数值属性数据集,针对K-means-CP算法(采用欧式距离进行相似性计算),K取1~4,分别进

行20次随机实验.实验结果(见表5)表明,无论对数据集Iris还是数据集Wine,都是在K=3时达到最高正确率.

对于数据集Iris,K=3时正确率为84.65%;对于数据集Wine,K=3时正确率为64.00%.这说明K-means-CP算法对

数据集的初始分类数具有一定的预测功能.此外,聚类结果在很大程度上依赖于所用相似性度量方式.

Table 5Clustering results of 20 random tests for Iris, Wine data sets on K-means-CP

表5一致性保留K-means算法对Iris,Wine数据集进行20次随机实验的聚类结果

Iris Wine K

Average accuracy (%) Average running time (s)Average accuracy (%)Average running time (s)

K=1 81.00 0.015 179 07 55.45 0.023 532 9

K=2 81.40 0.012 644 315 56.55 0.043 986 175

K=3 84.65 0.012 979 565 64.00 0.089 074 95

K=4 82.50 0.013 717 84 50.10 0.189 232 5

3.4 K-means算法与k最近邻一致强制和保留算法比较

为判断k最近邻一致强制和保留算法是否明显优于K均值(K-means)算法、k NN一致性与聚类质量之间有

何关系,本文针对K-means算法、1最近邻一致强制和保留算法(k=1,简记为cp1算法)和2最近邻一致强制和保

留算法(k=2,简记为cp2算法),关于Imagine,Iris,Wine,Glass,Ionosphere等数值型数据集进行了20次随机聚类实

验.从聚类结果的正确率和总体质量(简称质量)两个方面来评价聚类结果之优劣.总体质量(质量)可用类间差异

与类内差异之比来度量.一类簇的紧凑程度可用该类簇中每个数据到该类簇质心之间距离的平方和来刻画.整

58 Journal of Software 软件学报 V ol.19, No.1, January 2008

个聚类的类簇内差、整个聚类之类簇间的差异以及总体质量则分别由下面的式(1)~式(3)来计算: 2

1,...,(,)v

v v k x C

d x x =∈∑∑ (1)

2

1(,)j i j i k d x x ≤<≤∑ (2)

22

11,...,(,)(,)v

j i v j i k v k x C d x x d x x ≤<≤=∈∑∑∑ (3)

其中,k 为聚类结果包含的类簇数,C v 表示类簇v ,v x 表示C v 的质心,,j i x x 分别表示类簇j 和i 的质心,d 为距离函 数.这里的质量只有相对意义,对相同算法不同数据集“质量值”间的相互比较没有意义.实验结果见表 6.实验结果表明,从聚类正确率和总体质量来看,k 最近邻一致强制和保留算法不优于K -means 算法,k NN 一致性与聚类质量无关.

Table 6 Clustering results of 20 random tests for 5 data sets on K -means, cp1 & cp2 algorithms

表6 K -means,cp1和cp2算法关于5个数据集的20次随机实验聚类结果

Imagine Average accuracy (20 times) Average quality (20 times) cp1 (1NN) 0.623 571 428 571 428 0.778 036 750 839 380 0 cp2 (2NN) 0.609 523 809 523 809 0.764 753 617 717 611 0 K-means 0.632 380 952 380 952 0.734 076 358 291 719 0 Iris Average accuracy (20 times) Average quality (20 times) cp1 (1NN) 0.840 000 000 000 000 0.258 626 172 448 124 0 cp2 (2NN) 0.892 333 333 333 333 0.322 489 157 412 046 0 K-means 0.862 333 333 333 334 0.290 268 692 364 311 0 Wine Average accuracy (20 times) Average quality (20 times) cp1 (1NN) 0.898 314 606 741 573 0.045 433 239 324 063 6 cp2 (2NN) 0.905 337 078 651 685 0.045 155 360 976 705 9 K-means 0.946 910 112 359 550 0.049 098 735 880 057 5 Glass Average accuracy (20 times) Average quality (20 times) cp1 (1NN) 0.511 915 887 850 467 0.400 881 509 658 679 cp2 (2NN) 0.531 542 056 074 766 0.404 061 886 906 006 K-means 0.542 523 364 485 981 0.453 522 047 430 905 Ionosphere Average accuracy (20 times) Average quality (20 times) cp1 (1NN) 0.691 880 341 880 342 0.003 812 476 851 341 2 cp2 (2NN) 0.682 051 282 051 282 0.003 555 311 462 034 7 K-means

0.710 256 410 256 410

0.003 784 599 450 916 1

4 结 论

尽管聚类分析有着几十年的研究历史,众多聚类算法相继被提出、相关的应用被展开,但聚类问题仍然存在着巨大的挑战.

通过对一些比较有代表性的聚类算法的总结,可以得出如下一些结论:

大多数聚类算法都需要预先给出参数,事实上,如果没有相关知识和经验,这在多数情况下是不可行的.对于层次化聚类算法,如何找到聚合或分裂过程的有效终止条件仍然是一个开问题.由此,开展非参数聚类算法、将聚类算法与参数自动生成算法相结合、展示聚类过程等研究可能富有前景.Binary-Positive 方法(2007年)的研究表明,将数据转换成正二进制会改善聚类结果的正确率和鲁棒性.粗聚类算法RCOSD(2007)能够有效挖掘连续数据,并能描述类簇的主要特性,有助于理解聚类结果.

快速找到类的合理个数和较好的初始类中心点集,使算法终止于全局最优解等是划分式聚类算法的研究热点;对于K -means 和Fuzzy C -means 算法,还有使其适合分类属性数据集等研究课题.K -modes-Huang 算法适合分类属性数据,能给出类的特性描述,其对聚类数目和数据集规模都是可伸缩的,但已证明该算法经有限次迭代只能收敛于局部最优.2002年的迭代初始点集求精K -modes 算法较好地解决了K -modes-Huang 算法常因初始

modes 选择差异导致聚类结果截然不同的情况.2004年,一致性保留算法K -means-CP 的作者提出将K 最近邻一致性作为聚类质量的度量方法,并给出局部一致性信息能支持全局聚类目标函数优化和聚类正确率有明显改善等结果,但我们的实验结果未能支持该论文的观点和结论.2006年,基于特征加权模糊聚类算法通过分析各维特征对聚类的贡献度,有效进行特征提取和优选,在聚类效率和准确率方面较传统模糊聚类算法都有明显提

孙吉贵 等:聚类算法研究

59

高.2007年,快速通用模糊聚类算法,一个通用框架,很多图像分割聚类算法都是其特例,它适合有噪声、无噪声多种类型图像和大幅灰度图像.

基于密度和网格聚类算法多用于时空信息处理、消除奇异值、发现各种形状的类簇,对噪声不敏感,适合大型、高维数据集等方面具有好的特性.网格密度等值线聚类算法GDILC(2001)用密度等值线图描述样本分布,具有消除奇异值和发现各种形状类簇的能力.基于密度和网格的聚类算法SGC(2004)是一种非参数类型的算法;计算时间与数据集规模无关;适于任意形状类簇.网格聚类算法GCHL(2005)能够发现任意形状类簇和奇异值,对噪声数据不敏感;聚类快速,聚类时间独立于数据规模和数据次序,伸缩性极好;适合大型、高维数据集.基于密度自适应聚类方法TFCTMO(2006)结合时态信息和空间信息,时间聚焦能够提高移动对象轨迹聚类质量.基于密度聚类算法ST-DBSCAN(2007)能够综合使用非空间值、空间值和时态值实现聚类.

在很多文献中,研究者们给出了各自的聚类算法评价指标,并只给出其算法的优点.我们认为,开展聚类算法(全面、客观的)评价标准、数据集特性的描述方法等研究,不仅时机成熟,而且有着重要意义.

下面我们将给出关于文献[4]就11种算法和我们就8种算法所作的实验的分析,以作为对上述总结的补充. 同时给出部分代表性算法的比较(见表7).

Table 7 Comparative results of part typical clustering algorithms

表7 部分代表性聚类算法比较

Algorithm Years Sort Similarity measure Paranumber Noise Cluster shape

Scaled,

imension Others K -means 1967 Partition Distance function 1 Sensitive Hypersphere

Large,

numeric ?

K -modes-Huang 1998 Partition measure 1 Sensitive Sphere

category well

K -means-CP 2004 Partition Distance function

1 Sensitive Sphere Large-Scale K NN consistency is

irrelevant with

clustering accuracy

MDS_CLUSTER 2007 Partition distance

1 Sensitive non-overlap ?

parameter Feature weighted

fuzzy clustering

2006 Partition Eulidean distance,

category similarity

measure

1 In- Sensitive Sphere Small, mix Feature weighted

Nearest neighbor 1967 Hierarchy Distance function 1

In- Sensitive

Filamentary Small and midlow- dimension ? Furthest neighbor 1967 Hierarchy Distance function 1 ? Sphere Small and midlow- dimension ? Between groups

average 1967 Hierarchy Distance function

1

?

Manifold

Small and midlow- dimension ? rough clustering

2007 Hierarchy

S 3M 2 ?

Sequence data Large-Scale feature SGC 2004 Density

Distance

function None In-

Sensitive Arbitrary shape Large and midhigh- dimension Mostly used for

spatial GCHL 2005 Grid

distance 2 Sensitive

shape -dimension processing ACODF 2004 Others

Eulidean

distance 1

?

Sphere, non-sphere

Small, high- dimension

Get optimal value

fast

文献[4]对11种算法采用4个知名数据集进行实验.其中,4个数据集由2个类属性数据集和2个数值型数据集组成,由于对K -means 和传统层次化算法采用了欧式距离作为相似性度量函数,所以针对2个类属性数据集所得到的测试结果不宜作为分析的依据.实验结果:对所选的2个数值型数据集,非层次化算法的分类结果优于层次化算法;对相同数据集,不同聚类算法产生了不同的聚类结果;对同一种算法、不同的数据集,其聚类的正确率不同.

本文对8种算法从UCI 中选择4个知名聚类分析基准数据集和1个不常用数据集分别进行20次随机实验,并采用聚类正确率和运行时间作为衡量指标分别对数值型和类属性数据集进行实验;对K -means-CP 算法,

60 Journal of Software软件学报 V ol.19, No.1, January 2008

选数值型数据集,K取不同值进行实验;对K-means-CP算法,选择相同数据集,用不同相似性度量方式进行测试.实验结果:对不同数据集、同一算法,其聚类正确率不相同;对同一数据集、不同聚类算法,其聚类正确率和效率会有很大差异;将K-means算法与K-means-CP算法使用不同数值型数据集进行了比较实验,结果表明, K-means-CP算法丝毫也不优于K-means算法,k最近邻一致性与聚类正确率无关,用k最近邻一致性刻画聚类质量是不合适的;对同一算法和同一数据集,不同的相似性度量方式,其聚类结果也不相同.

综合文献[4]和本文的实验得出的主要结论是:聚类算法的聚类结果有一定的不可预见性,在实际应用中应根据数据类型选择合适的聚类算法(和可恰当的相似性度量方式),以取得最佳的聚类效果.针对不同数据集,进一步开展聚类算法预测分类数的能力研究.

致谢感谢刘大有教授对本文提纲和一些重点内容所给予的有益建议,感谢金弟同学对K-means-CP算法所做的编程和实验.

References:

[1] Jain AK, Flynn PJ. Image segmentation using clustering. In: Ahuja N, Bowyer K, eds. Advances in Image Understanding: A

Festchrift for Azriel Rosenfeld. Piscataway: IEEE Press, 1996. 65?83.

[2] Cades I, Smyth P, Mannila H. Probabilistic modeling of transactional data with applications to profiling, visualization and

prediction, sigmod. In: Proc. of the 7th ACM SIGKDD. San Francisco: ACM Press, 2001. 37?46. https://www.360docs.net/doc/fb2004870.html,/kdd2001/

[3] Jain AK, Murty MN, Flynn PJ. Data clustering: A review. ACM Computing Surveys, 1999,31(3):264?323.

[4] Gelbard R, Goldman O, Spiegler I. Investigating diversity of clustering methods: An empirical comparison. Data & Knowledge

Engineering, 2007,63(1):155?166.

[5] Jain AK, Dubes RC. Algorithms for Clustering Data. Prentice-Hall Advanced Reference Series, 1988. 1?334.

[6] Jain AK, Duin RPW, Mao JC. Statistical pattern recognition: A review. IEEE Trans. on Pattern Analysis and Machine Intelligence,

2000,22(1):4?37.

[7] Sambasivam S, Theodosopoulos N. Advanced data clustering methods of mining Web documents. Issues in Informing Science and

Information Technology, 2006,(3):563?579.

[8] Marques JP, Written; Wu YF, Trans. Pattern Recognition Concepts, Methods and Applications. 2nd ed., Beijing: Tsinghua

University Press, 2002. 51?74 (in Chinese).

[9] Fred ALN, Leit?o JMN. Partitional vs hierarchical clustering using a minimum grammar complexity approach. In: Proc. of the

SSPR&SPR 2000. LNCS 1876, 2000. 193?202. https://www.360docs.net/doc/fb2004870.html,/dblp/db/conf/sspr/sspr2000.html

[10] Gelbard R, Spiegler I. Hempel’s raven paradox: A positive approach to cluster analysis. Computers and Operations Research, 2000,

27(4):305?320.

[11] Zhang B, Srihari SN. Properties of binary vector dissimilarity measures. In: Proc. of the JCIS CVPRIP 2003. 2003. 26?30.

https://www.360docs.net/doc/fb2004870.html,/JCIS/

[12] Kumar P, Krishna PR, Bapi RS, De SK. Rough clustering of sequential data. Data & Knowledge Engineering, 2007,3(2):183?199.

[13] Huang Z. A fast clustering algorithm to cluster very large categorical data sets in data mining. In: Proc. of the SIGMOD Workshop

on Research Issues on Data Mining and Knowledge Discovery. Tucson, 1997. 146?151. https://www.360docs.net/doc/fb2004870.html,rmatik.uni-trier.de/~ley/db/ conf/sigmod/sigmod97.html

[14] Huang Z. Extensions to the k-means algorithm for clustering large data sets with categorical values. Data Mining and Knowledge,

Discovery II, 1998,(2):283?304.

[15] Huang Z, Ng MA. Fuzzy k-modes algorithm for clustering categorical data. IEEE Trans. on Fuzzy Systems, 1999,7(4):446?452.

[16] Chaturvedi AD, Green PE, Carroll JD. K-modes clustering. Journal of Classification, 2001,18(1):35?56.

[17] Goodman LA. Exploratory latent structure analysis using both identifiable and unidentifiable models. Biometrika, 1974,61(2):

215?231.

[18] Huang ZX, Michael K. A note on K-modes clustering. Journal of Classification, 2003,20(2):257?26.

[19] Sun Y, Zhu QM, Chen ZX. An iterative initial-points refinement algorithm for categorical data clustering. Pattern Recognition

Letters, 2002,23(7):875?884.

[20] Bradley PS, Fayyad UM. Refining initial points for k-means clustering. In: Proc. of the 15th Internet Conf. on Machine Learning.

San Francisco: Morgan Kaufmann Publishers, 1998. 91?99. https://www.360docs.net/doc/fb2004870.html,/icml98/

孙吉贵等:聚类算法研究61

[21] https://www.360docs.net/doc/fb2004870.html,/~mlearn/databases/

[22] Ding C, He X. K-Nearest-Neighbor in data clustering: Incorporating local information into global optimization. In: Proc. of the

ACM Symp. on Applied Computing. Nicosia: ACM Press, 2004. 584?589. https://www.360docs.net/doc/fb2004870.html,/conferences/sac/sac2004/

[23] Lyer NS, Kandel A, Schneider M. Feature-Based fuzzy classification for interpretation of mammograms. Fuzzy Sets System, 2000,

114(2):271?280.

[24] Yang MS, Hu YJ, Lin KCR, Lin CCL. Segmenttation techniques for tissue differentiation in MRI of ophthalmology using fuzzy

clustering algorithm. Journal of Magnetic Resonance Imaging, 2002,(20):173?179.

[25] Li J, Gao XB, Jiao LC. A new feature weighted fuzzy clustering algorithm. ACTA Electronica Sinica, 2006,34(1):412?420 (in

Chinese with English abstract).

[26] Kononenko I. Estimating attributes: Analysis and extensions of relief. In: Proc, of the 17th European Conf. On Machine Learning.

LNCS 784, 1994. 171?182.

[27] Cai WL, Chen SC, Zhang DQ. Fast and robust fuzzy c-means clustering algorithms incorporating local information for image

segmentation. Pattern Recognition, 2007,40(3):825?833.

[28] Harel D, Koren Y. Clustering spatial data using random walks. In: Proc. of the 7th ACM SIGKDD Int’l Conf. Knowledge

Discovery and Data Mining. New York: ACM Press, 2001. 281?286. https://www.360docs.net/doc/fb2004870.html,/kdd2001/

[29] Karypis G, Han EH, Kumar V. CHANELEON: A hierarchical clustering algorithm using dynamic modeling. IEEE Computer, 1999,

2(8):68?75.

[30] Estivill-Castro V, Lee I. AUTOCLUST: Automatic clustering via boundary extraction for mining massive point-data sets. In:

Abrahart J, Carlisle BH, eds. Proc. of the 5th Int’l Conf. on Geocomputation. 2000. 23?25. https://www.360docs.net/doc/fb2004870.html,/ 2000/index.html

[31] Li YJ. A clustering algorithm based on maximal θ-distant subtrees. Pattern Recognition, 2007,40(5):1425?1431.

[32] Zhao YC, Song J. GDILC: A grid-based density isoline clustering algorithm. In: Zhong YX, Cui S, Yang Y, eds. Proc. of the

Internet Conf. on Info-Net. Beijing: IEEE Press, 2001. 140?145. https://www.360docs.net/doc/fb2004870.html,/iel5/7719/21161/00982709.pdf

[33] Ma WM, Chow E, Tommy WS. A new shifting grid clustering algorithm. Pattern Recognition, 2004,37(3):503?514.

[34] Pilevar AH, Sukumar M. GCHL: A grid-clustering algorithm for high-dimensional very large spatial data bases. Pattern

Recognition Letters, 2005,26(7):999?1010.

[35] Nanni M, Pedreschi D. Time-Focused clustering of trajectories of moving objects. Journal of Intelligent Information Systems, 2006,

27(3):267?289.

[36] Birant D, Kut A. ST-DBSCAN: An algorithm for clustering spatial-temporal data. Data & Knowledge Engineering, 2007,60(1):

208?221.

[37] Tsai CF, Tsai CW, Wu HC, Yang T. ACODF: A novel data clustering approach for data mining in large databases. Journal of

Systems and Software, 2004,73(1):133?145.

附中文参考文献:

[8] Marques JP,著;吴逸飞,译.模式识别——原理、方法及应用.北京:清华大学出版社,2002.51?74.

[25] 李洁,高新波,焦李成.基于特征加权的模糊聚类新算法.电子学报,2006,34(1):412?420.

孙吉贵(1962-),男,辽宁庄河人,博士,教授,博士生导师,CCF高级会员,主要研究领域为人工智能,约束规划,决策支持系统.

赵连宇(1984-),男,硕士生,主要研究领域为数据挖掘

.

刘杰(1973-),女,博士生,讲师,主要研究

领域为数据挖掘,模式识别.

各种聚类算法及改进算法的研究

论文关键词:数据挖掘;聚类算法;聚类分析论文摘要:该文详细阐述了数据挖掘领域的常用聚类算法及改进算法,并比较分析了其优缺点,提出了数据挖掘对聚类的典型要求,指出各自的特点,以便于人们更快、更容易地选择一种聚类算法解决特定问题和对聚类算法作进一步的研究。并给出了相应的算法评价标准、改进建议和聚类分析研究的热点、难点。上述工作将为聚类分析和数据挖掘等研究提供有益的参考。 1 引言随着经济社会和科学技术的高速发展,各行各业积累的数据量急剧增长,如何从海量的数据中提取有用的信息成为当务之急。聚类是将数据划分成群组的过程,即把数据对象分成多个类或簇,在同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。它对未知数据的划分和分析起着非常有效的作用。通过聚类,能够识别密集和稀疏的区域,发现全局的分布模式,以及数据属性之间的相互关系等。为了找到效率高、通用性强的聚类方法人们从不同角度提出了许多种聚类算法,一般可分为基于层次的,基于划分的,基于密度的,基于网格的和基于模型的五大类。 2 数据挖掘对聚类算法的要求(1)可兼容性:要求聚类算法能够适应并处理属性不同类型的数据。(2)可伸缩性:要求聚类算法对大型数据集和小数据集都适用。(3)对用户专业知识要求最小化。(4)对数据类别簇的包容性:即聚类算法不仅能在用基本几何形式表达的数据上运行得很好,还要在以其他更高维度形式表现的数据上同样也能实现。(5)能有效识别并处理数据库的大量数据中普遍包含的异常值,空缺值或错误的不符合现实的数据。(6)聚类结果既要满足特定约束条件,又要具有良好聚类特性,且不丢失数据的真实信息。(7)可读性和可视性:能利用各种属性如颜色等以直观形式向用户显示数据挖掘的结果。(8)处理噪声数据的能力。(9)算法能否与输入顺序无关。 3 各种聚类算法介绍随着人们对数据挖掘的深入研究和了解,各种聚类算法的改进算法也相继提出,很多新算法在前人提出的算法中做了某些方面的提高和改进,且很多算法是有针对性地为特定的领域而设计。某些算法可能对某类数据在可行性、效率、精度或简单性上具有一定的优越性,但对其它类型的数据或在其他领域应用中则不一定还有优势。所以,我们必须清楚地了解各种算法的优缺点和应用范围,根据实际问题选择合适的算法。 3.1 基于层次的聚类算法基于层次的聚类算法对给定数据对象进行层次上的分解,可分为凝聚算法和分裂算法。 (1)自底向上的凝聚聚类方法。这种策略是以数据对象作为原子类,然后将这些原子类进行聚合。逐步聚合成越来越大的类,直到满足终止条件。凝聚算法的过程为:在初始时,每一个成员都组成一个单独的簇,在以后的迭代过程中,再把那些相互邻近的簇合并成一个簇,直到所有的成员组成一个簇为止。其时间和空间复杂性均为O(n2)。通过凝聚式的方法将两簇合并后,无法再将其分离到之前的状态。在凝聚聚类时,选择合适的类的个数和画出原始数据的图像很重要。 [!--empirenews.page--] (2)自顶向下分裂聚类方法。与凝聚法相反,该法先将所有对象置于一个簇中,然后逐渐细分为越来越小的簇,直到每个对象自成一簇,或者达到了某个终结条件。其主要思想是将那些成员之间不是非常紧密的簇进行分裂。跟凝聚式方法的方向相反,从一个簇出发,一步一步细化。它的优点在于研究者可以把注意力集中在数据的结构上面。一般情况下不使用分裂型方法,因为在较高的层很难进行正确的拆分。 3.2 基于密度的聚类算法很多算法都使用距离来描述数据之间的相似性,但对于非凸数据集,只用距离来描述是不够的。此时可用密度来取代距离描述相似性,即基于密度的聚类算法。它不是基于各种各样的距离,所以能克服基于距离的算法只能发现“类圆形”的聚类的缺点。其指导思想是:只要一个区域中的点的密度(对象或数据点的数目)大过某个阈值,就把它加到与之相近的聚类中去。该法从数据对象的分布密度出发,把密度足够大的区域连接起来,从而可发现任意形状的簇,并可用来过滤“噪声”数据。常见算法有DBSCAN,DENCLUE 等。[1][2][3]下一页 3.3 基于划分的聚类算法给定一个N个对象的元组或数据库,根据给定要创建的划分的数目k,将数据划分为k个组,每个组表示一个簇类(<=N)时满足如下两点:(1)每个组至少包含一个对象;(2)每个对

(完整word版)各种聚类算法介绍及对比

一、层次聚类 1、层次聚类的原理及分类 1)层次法(Hierarchical methods)先计算样本之间的距离。每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。 层次聚类算法根据层次分解的顺序分为:自下底向上和自上向下,即凝聚的层次聚类算法和分裂的层次聚类算法(agglomerative和divisive),也可以理解为自下而上法(bottom-up)和自上而下法(top-down)。自下而上法就是一开始每个个体(object)都是一个 类,然后根据linkage寻找同类,最后形成一个“类”。自上而下法就是反过来,一开始所有个体都属于一个“类”,然后根据linkage排除异己,最后每个个体都成为一个“类”。这两种路方法没有孰优孰劣之分,只是在实际应用的时候要根据数据特点以及你想要的“类”的个数,来考虑是自上而下更快还是自下而上更快。至于根据Linkage判断“类” 的方法就是最短距离法、最长距离法、中间距离法、类平均法等等(其中类平均法往往被认为是最常用也最好用的方法,一方面因为其良好的单调性,另一方面因为其空间扩张/浓缩的程度适中)。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。 2)Hierarchical methods中比较新的算法有BIRCH(Balanced Iterative Reducing and Clustering Using Hierarchies利用层次方法的平衡迭代规约和聚类)主要是在数据量很大的时候使用,而且数据类型是numerical。首先利用树的结构对对象集进行划分,然后再利用其它聚类方法对这些聚类进行优化;ROCK(A Hierarchical Clustering Algorithm for Categorical Attributes)主要用在categorical的数据类型上;Chameleon(A Hierarchical Clustering Algorithm Using Dynamic Modeling)里用到的linkage是kNN(k-nearest-neighbor)算法,并以此构建一个graph,Chameleon的聚类效果被认为非常强大,比BIRCH好用,但运算复杂度很高,O(n^2)。 2、层次聚类的流程 凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。这里给出采用最小距离的凝聚层次聚类算法流程: (1) 将每个对象看作一类,计算两两之间的最小距离; (2) 将距离最小的两个类合并成一个新类; (3) 重新计算新类与所有类之间的距离; (4) 重复(2)、(3),直到所有类最后合并成一类。

K-means-聚类算法研究综述

K-means聚类算法研究综述 摘要:总结评述了K-means聚类算法的研究现状,指出K-means聚类算法是一个NP难优化问题,无法获得全局最优。介绍了K-means聚类算法的目标函数,算法流程,并列举了一个实例,指出了数据子集的数目K,初始聚类中心选取,相似性度量和距离矩阵为K-means聚类算法的3个基本参数。总结了K-means聚类算法存在的问题及其改进算法,指出了K-means 聚类的进一步研究方向。 关键词:K-means聚类算法;NP难优化问题;数据子集的数目K;初始聚类中心选取;相似性度量和距离矩阵 Review of K-means clustering algorithm Abstract: K-means clustering algorithm is reviewed. K-means clustering algorithm is a NP hard optimal problem and global optimal result cannot be reached. The goal,main steps and example of K-means clustering algorithm are introduced. K-means algorithm requires three user-specified parameters: number of clusters K,cluster initialization,and distance metric. Problems and improvement of K-means clustering algorithm are summarized then. Further study directions of K-means clustering algorithm are pointed at last. Key words: K-means clustering algorithm; NP hard optimal problem; number of clusters K; cluster initialization; distance metric K-means聚类算法是由Steinhaus1955年、Lloyed1957年、Ball & Hall1965年、McQueen1967年分别在各自的不同的科学研究领域独立的提出。K-means聚类算法被提出来后,在不同的学科领域被广泛研究和应用,并发展出大量不同的改进算法。虽然K-means聚类算法被提出已经超过50年了,但目前仍然是应用最广泛的划分聚类算法之一[1]。容易实施、简单、高效、成功的应用案例和经验是其仍然流行的主要原因。 文中总结评述了K-means聚类算法的研究现状,指出K-means聚类算法是一个NP难优化问题,无法获得全局最优。介绍了K-means聚类算法的目标函数、算法流程,并列举了一个实例,指出了数据子集的数目K、初始聚类中心选取、相似性度量和距离矩阵为K-means聚类算法的3个基本参数。总结了K-means聚类算法存在的问题及其改进算法,指出了K-means聚类的进一步研究方向。 1经典K-means聚类算法简介 1.1K-means聚类算法的目标函数 对于给定的一个包含n个d维数据点的数据集 12 {x,x,,x,,x} i n X=??????,其中d i x R ∈,以及要生成的数据子集的数目K,K-means聚类算法将数据对象组织为 K个划分{c,i1,2,} k C K ==???。每个划分代表一个类c k,每个类c k有一个类别中心iμ。选取欧氏距离作为相似性和 距离判断准则,计算该类内各点到聚类中心 i μ的距离平方和 2 (c) i i k i k x C J xμ ∈ =- ∑(1) 聚类目标是使各类总的距离平方和 1 (C)(c) K k k J J = =∑最小。 22 1111 (C)(c) i i K K K n k i k ki i k k k x C k i J J x d x μμ ==∈== ==-=- ∑∑∑∑∑ (2)其中, 1 i i ki i i x c d x c ∈ ? =? ? ? 若 若 ,显然,根据最小二乘 法和拉格朗日原理,聚类中心 k μ应该取为类别 k c类各数据点的平均值。 K-means聚类算法从一个初始的K类别划分开始,然

PAM聚类算法的分析与实现

毕业论文(设计)论文(设计)题目:PAM聚类算法的分析与实现 系别: 专业: 学号: 姓名: 指导教师: 时间:

毕业论文(设计)开题报告 系别:计算机与信息科学系专业:网络工程 学号姓名高华荣 论文(设计)题目PAM聚类算法的分析与实现 命题来源□√教师命题□学生自主命题□教师课题 选题意义(不少于300字): 随着计算机技术、网络技术的迅猛发展与广泛应用,人们面临着日益增多的业务数据,这些数据中往往隐含了大量的不易被人们察觉的宝贵信息,为了得到这些信息,人们想尽了一切办法。数据挖掘技术就是在这种状况下应运而生了。而聚类知识发现是数据挖掘中的一项重要的内容。 在日常生活、生产和科研工作中,经常要对被研究的对象经行分类。而聚类分析就是研究和处理给定对象的分类常用的数学方法。聚类就是将数据对象分组成多个簇,同一个簇中的对象之间具有较高的相似性,而不同簇中的对象具有较大的差异性。 在目前的许多聚类算法中,PAM算法的优势在于:PAM算法比较健壮,对“噪声”和孤立点数据不敏感;由它发现的族与测试数据的输入顺序无关;能够处理不同类型的数据点。 研究综述(前人的研究现状及进展情况,不少于600字): PAM(Partitioning Around Medoid,围绕中心点的划分)算法是是划分算法中一种很重要的算法,有时也称为k-中心点算法,是指用中心点来代表一个簇。PAM算法最早由Kaufman和Rousseevw提出,Medoid的意思就是位于中心位置的对象。PAM算法的目的是对n个数据对象给出k个划分。PAM算法的基本思想:PAM算法的目的是对成员集合D中的N个数据对象给出k个划分,形成k个簇,在每个簇中随机选取1个成员设置为中心点,然后在每一步中,对输入数据集中目前还不是中心点的成员根据其与中心点的相异度或者距离进行逐个比较,看是否可能成为中心点。用簇中的非中心点到簇的中心点的所有距离之和来度量聚类效果,其中成员总是被分配到离自身最近的簇中,以此来提高聚类的质量。 由于PAM算法对小数据集非常有效,但对大的数据集合没有良好的可伸缩性,就出现了结合PAM的CLARA(Cluster LARger Application)算法。CLARA是基于k-中心点类型的算法,能处理更大的数据集合。CLARA先抽取数据集合的多个样本,然后用PAM方法在抽取的样本中寻找最佳的k个中心点,返回最好的聚类结果作为输出。后来又出现了CLARNS(Cluster Larger Application based upon RANdomized

基于k—means聚类算法的试卷成绩分析研究

基于k—means聚类算法的试卷成绩分析研 究 第39卷第4期 2009年7月 河南大学(自然科学版) JournalofHenanUniversity(NaturalScience) V o1.39NO.4 Ju1.2009 基于k—means聚类算法的试卷成绩分析研究 谭庆' (洛阳师范学院信息技术学院,河南洛阳471022) 摘要:研究_rk-means聚类算法,并将此算法应用于高校学生试卷成绩分析中.首先对数据进行了预处理,然后 使用k-means算法,对学生试卷成绩进行分类评价.用所获得的结果指导学生的学习和今后的教学工作. 关键词:数据挖掘;聚类;k-means算法;试卷成绩 中圈分类号:TP311文献标志码:A文章编号:1003—4978(2009)04—0412—04 AnalysisandResearchofGradesofExaminationPaper BasedonK—meansClusteringAlgorithm TANQing (Acaderny.l,InformationTechnologY,LuoyangNormalUniversity,LuoyangHenan47102 2,China) Abstract:Thispaperresearcheslhekmeansclusteringalgorithmandappliesittotheanalysiso fthegradedataof examinationpaperofhighereducationschoolSstudents.Firstly,itpreprocessesthedatabefor eminingThen,it usesthek—

基于聚类分析的Kmeans算法研究及应用概要

第24卷第5期 2007年5月 计算机应用研究 Application Resea心h of Computers V01.24.No.5 Mav 2007 基于聚类分析的K—means算法研究及应用爿: 张建萍1,刘希玉2 (1.山东师范大学信息科学与工程学院,山东济南250014;2.山东师范大学管理学院,山东济南250014 摘要:通过对聚类分析及其算法的论述,从多个方面对这些算法性能进行比较,同时以儿童生长发育时期的数据为例通过聚类分析的软件和改进的K.means算法来进一步阐述聚类分析在数据挖掘中的实践应用。 关键词:数据挖掘;聚类分析;数据库;聚类算法 中图分类号:TP311文献标志码:A 文章编号:1001—3695(200705—0166-03 Application in Cluster’s Analysis Is Analyzed in Children DeVelopment Period ZHANG Jian—pin91,UU Xi—yu。 (1.coz比伊矿,咖mo砌n 5c掂Me&E蟛袱^增,|s胁础增Ⅳo丌mf‰洫瑙毋,五n 帆5^a蒯D昭250014,吼i胁;2.cozz学矿讹加舻删眦, s^0n幽凡g舳丌Mf‰i孵璐匆,^加n乩。砌。昭250014,傩iM Abstract: nis paper passed cluster’s analysis and its algorithm corTectly,compared

these algorithm perfbrnlances f}om a lot of respects,and explained that cluster analysis excavates the practice application of in datum further to come through software and impmved K—means aIgorithm,cIuster of analysis at the same time practise appIication. Key words:data mining; cluster analysis; database; cluster algorithm 随着计算机硬件和软件技术的飞速发展,尤其是数据库技 术的普及,人们面临着日益扩张的数据海洋,原来的数据分析工具已无法有效地为决策者提供决策支持所需要的相关知识, 从而形成一种独特的现象“丰富的数据,贫乏的知识”。数据挖掘…又称为数据库中知识发现(Knowledge Discovery from Database,KDD,它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。目的是在大量的数据中发现人们感兴趣的知识。 常用的数据挖掘技术包括关联分析、异类分析、分类与预测、聚类分析以及演化分析等。由于数据库中收集了大量的数据,聚类分析已经成为数据挖掘领域的重要技术之一。 1问题的提出 随着社会的发展和人们生活水平的提高,优育观念嵋一。逐渐渗透到每个家庭,小儿的生长发育越来越引起家长们的重视。中国每隔几年都要进行全国儿童营养调查,然而用手工计算的方法在大量的数据中分析出其中的特点和规律,显然是不现实的,也是不可行的。为了有效地解决这个问题,数据挖掘技术——聚类分析发挥了巨大的作用。 在数据挖掘领域,聚类算法经常遇到一些问题如聚类初始点的选择H J、模糊因子的确定‘5o等,大部分均已得到解决。现在的研究工作主要集中在为大型的数据库有效聚类分析寻找适当的方法、聚类算法对复杂分布数据和类别性数据聚类的有效性以及高维数据聚类技术等方面。本文通过对聚类分析算法的分析并重点

系统聚类分析方法

系统聚类分析方法 聚类分析是研究多要素事物分类问题的数量方法。基本原理是根据样本自身的属性,用数学方法按照某种相似性或差异性指标,定量地确定样本之间的亲疏关系,并按这种亲疏关系程度对样本进行聚类。 常见的聚类分析方法有系统聚类法、动态聚类法和模糊聚类法等。 1. 聚类要素的数据处理 假设有m 个聚类的对象,每一个聚类对象都有个要素构成。它们所对应的要素数据可用表3.4.1给出。(点击显示该表)在聚类分析中,常用的聚类要素的数据处理方法有如下几种。 ①总和标准化 ②标准差标准化

③极大值标准化 经过这种标准化所得的新数据,各要素的极大值为1,其余各数值小于1。 ④极差的标准化 经过这种标准化所得的新数据,各要素的极大值为1,极小值为0,其余的数值均在0与1之间。 2. 距离的计算 距离是事物之间差异性的测度,差异性越大,则相似性越小,所以距离是系统聚类分析的依据和基础。 ①绝对值距离

选择不同的距离,聚类结果会有所差异。在地理分区和分类研究中,往往采用几种距离进行计算、对比,选择一种较为合适的距离进行聚类。

例:表3.4.2给出了某地区九个农业区的七项指标,它们经过极差标准化处理后,如表3.4.3所示。 对于表3.4.3中的数据,用绝对值距离公式计算可得九个农业区之间的绝对值距离矩阵:

3. 直接聚类法 直接聚类法是根据距离矩阵的结构一次并类得到结果。 ▲ 基本步骤: ①把各个分类对象单独视为一类; ②根据距离最小的原则,依次选出一对分类对象,并成新类;③如果其中一个分类对象已归于一类,则把另一个也归入该类;如果一对分类对象正好属于已归的两类,则把这两类并为一类;每一次归并,都划去该对象所在的列与列序相同的行;④那么,经过m-1次就可以把全部分类对象归为一类,这样就可以根据归并的先后顺序作出聚类谱系图。 ★直接聚类法虽然简便,但在归并过程中是划去行和列的,因而难免有信息损失。因此,直接聚类法并不是最好的系统聚类方法。 [举例说明](点击打开新窗口,显示该内容) 例:已知九个农业区之间的绝对值距离矩阵,使用直接聚类法做聚类分析。 解: 根据上面的距离矩阵,用直接聚类法聚类分析:

软件学报 2008 聚类算法研究

ISSN 1000-9825, CODEN RUXUEW E-mail: jos@https://www.360docs.net/doc/fb2004870.html, Journal of Software, Vol.19, No.1, January 2008, pp.48?61 https://www.360docs.net/doc/fb2004870.html, DOI: 10.3724/SP.J.1001.2008.00048 Tel/Fax: +86-10-62562563 ? 2008 by Journal of Software. All rights reserved. ? 聚类算法研究 孙吉贵1,2, 刘杰1,2+, 赵连宇1,2 1(吉林大学计算机科学与技术学院,吉林长春 130012) 2(符号计算与知识工程教育部重点实验室,吉林长春 130012) Clustering Algorithms Research SUN Ji-Gui1,2, LIU Jie1,2+, ZHAO Lian-Yu1,2 1(College of Computer Science and Technology, Jilin University, Changchun 130012, China) 2(Key Laboratory of Symbolic Computation and Knowledge Engineering of the Ministry of Education, Changchun 130012, China) + Corresponding author: Phn: +86-431-85166478, E-mail: liu_jie@https://www.360docs.net/doc/fb2004870.html, Sun JG, Liu J, Zhao LY. Clustering algorithms research. Journal of Software, 2008,19(1):48?61. https://www.360docs.net/doc/fb2004870.html,/ 1000-9825/19/48.htm Abstract: The research actuality and new progress in clustering algorithm in recent years are summarized in this paper. First, the analysis and induction of some representative clustering algorithms have been made from several aspects, such as the ideas of algorithm, key technology, advantage and disadvantage. On the other hand, several typical clustering algorithms and known data sets are selected, simulation experiments are implemented from both sides of accuracy and running efficiency, and clustering condition of one algorithm with different data sets is analyzed by comparing with the same clustering of the data set under different algorithms. Finally, the research hotspot, difficulty, shortage of the data clustering and some pending problems are addressed by the integration of the aforementioned two aspects information. The above work can give a valuable reference for data clustering and data mining. Key words: clustering; algorithm; experiment 摘要: 对近年来聚类算法的研究现状与新进展进行归纳总结.一方面对近年来提出的较有代表性的聚类算法, 从算法思想、关键技术和优缺点等方面进行分析概括;另一方面选择一些典型的聚类算法和一些知名的数据集,主 要从正确率和运行效率两个方面进行模拟实验,并分别就同一种聚类算法、不同的数据集以及同一个数据集、不同 的聚类算法的聚类情况进行对比分析.最后通过综合上述两方面信息给出聚类分析的研究热点、难点、不足和有待 解决的一些问题.上述工作将为聚类分析和数据挖掘等研究提供有益的参考. 关键词: 聚类;算法;实验 中图法分类号: TP18文献标识码: A 聚类分析研究有很长的历史,几十年来,其重要性及与其他研究方向的交叉特性得到人们的肯定.聚类是数 ? Supported by the National Natural Science Foundation of China under Grant Nos.60473003, 60573073 (国家自然科学基金); the Major Research Program of National Natural Science Foundation of China under Grant No.60496321 (国家自然科学基金重大项目) Received 2007-04-24; Accepted 2007-08-03

聚类分析及算法研究

聚类分析及算法研究 公允价值计量属性的应用 ——以我国金融行业为例 赵婷 (重庆理工大学会计学院,重庆400054) 公允价值对金融行业的影响不容忽视。以我国金融行业A股上市公司2015年年报披露的信息为基础,分析了当前公允价值计量的应用意义;同时,阐述了金融行业运用公允价值计量的现状。结果表明,公允价值计量属性对金融行业资产的计量极其重要,可以帮助提高行业信息的相关性,有助于投资者了解金融市场动态。 标签:公允价值;金融行业;会计信息质量 1引言 随着经济的发展,国家在不断地修订会计准则,会计政策也随之产生巨大的变化,而会计政策的每一次变动,都对处于该经济背景下的企业产生了深远的影响。有学者认为,经济环境的变化将持续不断地影响着会计政策的选取,而如何在历次的变化中觉察会计政策变化的轨迹与特征,并利用其具有的特征和轨迹做出有利于企业经营管理的决策,应是我们重点关注的领域,而公允价值计量属性是会计政策的内容之一。 2公允价值计量属性的应用意义 公允价值计量属性对我国金融资产的计量影响深远。美国历史上著名的“储蓄与贷款危机”表明:企业若以公允价值对储蓄和贷款款项进行计量,能够及时的向大众传达企业已经资不抵债的现状,有助于减少投资者的损失,反之,企业若自欺欺人的认为自身资金实力雄厚,偿债能力较强,会误导外部投资者与政府监管部门而使企业和社会蒙受了巨大的损失。随着市场经济的发展,企业经营业务不断的扩张,越来越多的公司开展股票、债券等金融产品的交易,市场活跃程度加强,历史成本计量属性已不符合广大投资者的需求,急需“公允价值”入驻进行恰当的补充。 3金融行业公允价值计量属性应用现状 表12015年金融业A股上市公司年报披露公允价值变动损失最大的前十家公司及原因

数据挖掘层次聚类算法研究综述

数据挖掘层次聚类算法研究综述 摘要聚类问题是数据挖掘中的重要问题之一,是一种非监督的学习方法。分层聚类技 术在图像处理、入侵检测和生物信息学等方面有着极为重要的应用,是数据挖掘领域的研究热点之一。本文总结了分层聚类算法技术的研究现状,分析算法性能的主要差异,并指出其今后的发展趋势。 关键词层次聚类,数据挖掘,聚类算法 Review of hierarchical clustering algorithm in Data Mining Abstract Clustering problem of data mining is one of important issues, it is a kind of unsupervised learning methods. Stratified cluster technology in image processing, intrusion detection and bioinformatics has extremely important application and is data mining area of research one of the hotspots. This paper summarizes the layered clustering algorithm technology research, analyzes the main difference arithmetic performance, and pointed out the future development trend. Keywords Hierarchical clustering,Data mining,Clustering algorithm 1引言 随着计算机技术的发展,信息数据越来越多,如何从海量数据中提取对人们有价值的信息已经成为一个非常迫切的问题。由此产生了数据挖掘技术,它是一门新兴的交叉学科,汇集了来自机器学习、模式识别、数据库、统计学、人工智能等各领域的研究成果。聚类分析是数据挖掘中的一个重要研究领域。它在图像处理、入侵检测和生物信息学等方面有着极为重要的应用。数据挖掘是从大量数据中提取出可信、新颖、有效并能被人理解的模式的高级处理过程。其目标是从数据库中发现隐含的、有意义的知识。聚类分析作为一个独立的工具来获得数据分布的情况,是数据挖掘的一个重要研究分支。 在数据挖掘领域,研究工作己经集中在为大型数据库的有效和实际的聚类分析寻找适当的方法。活跃的主题集中在聚类方法的可伸缩性,方法对聚类复杂形状和类型的数据的有效性,高维聚类分析技术,以及针对大型数据库中混合数值和分类数据的聚类方法。迄今为止,人们己经提出了很多聚类算法,它们可以分为如下几类:划分方法、层次方法、基于密度的方法、基于网格的方法和基于模型的方法,这些算法对于不同的研究对象各有优缺点。在聚类算法当中,划分方法和层次方法是最常见的两类聚类技术,其中划分方法具有较高的执行效率,而层次方法在算法上比较符合数据的特性,所以相对于划分方法聚类的效果比较好。[1] 层次聚类算法和基于划分的K-Means聚类算法是实际应用中聚类分析的支柱,算法简单、快速而且能有效地处理大数据集。层次聚类方法是通过将数据组织为若干组并形成一个相应的树来进行聚类的。根据层是自底而上还是自顶而下形成。一个完全层次聚类的质量由于无法对己经做的合并或分解进行调整而受到影响。但是层次聚类算法没有使用准则函数,它所潜含的对数据结构的假设更少,所以它的通用性更强。 2 基于层次的聚类算法 2.1 凝聚的和分裂的层次聚类 层次聚类是聚类问题研究中一个重要的组成部分。分层聚类的基本原则可以表述为:如

基于文本的聚类算法研究本科毕设论文

摘要 聚类作为一种知识发现的重要方法,它广泛地与中文信息处理技术相结合,应用于网络信息处理中以满足用户快捷地从互联网获得自己需要的信息资源。文本聚类是聚类问题在文本挖掘中的有效应用,它根据文本数据的不同特征,按照文本间的相似性,将其分为不同的文本簇。其目的是要使同一类别的文本间的相似度尽可能大,而不同类别的文本间的相似度尽可能的小。整个聚类过程无需指导,事先对数据结构未知,是一种典型的无监督分类。 本文首先介绍了文本聚类的相关的技术,包括文本聚类的过程,文本表示模型,相似度计算及常见聚类算法。本文主要研究的聚类主要方法是k-均值和SOM 算法,介绍了两种算法的基本思想和实现步骤,并分析两种算法的聚类效果。同时介绍了两种算法的改进算法。 关键词:文本聚类聚类方法K-MEAN SOM

Abstract Clustering as an important knowledge discovery method, which extensively with Chinese information processing technology, used in network information processing to meet the users to quickly access from the Internet, the information resources they need. Text clustering is a clustering problem in the effective application of text mining, which according to the different characteristics of text data, according to the similarity between the text, the text will be divided into different clusters. The aim is to make the same class as large as possible the similarity between the text, and different types of text as small as possible the similarity between. The clustering process without guidance, prior to the data structure is unknown, is a typical unsupervised classification. This paper studies the effect of influencing factors that text clustering, text representation of the model such as the Boolean model, vector space model, probabilistic retrieval model and language model. Also studied the analysis of such text clustering algorithm: hierarchical clustering, agglomerative hierarchical clustering algorithm, hierarchical clustering algorithm to split and so on. Also studied the text clustering algorithm analysis and methods of improvement. Key words:Text clustering clustering method k-mean som

大数据聚类算法研究(汽车类的)

大数据聚类算法研究(汽车类的) 摘要:本文分析了汽车行业基于不同思想的各类大数据聚类算法,用户应该根 据实际应用中的具体问题具体分析,选择恰当的聚类算法。聚类算法具有非常广 泛的应用,改进聚类算法或者开发新的聚类算法是一件非常有意义工作,相信在 不久的将来,聚类算法将随着新技术的出现和应用的需求而在汽车行业得到蓬勃 的发展。 关键词:汽车;大数据;聚类算法;划分 就精确系数不算太严格的情况而言,汽车行业内对各种大型数据集,通过对 比各种聚类算法,提出了一种部分优先聚类算法。然后在此基础之上分析研究聚 类成员的产生过程与聚类融合方式,通过设计共识函数并利用加权方式确定类中心,在部分优先聚类算法的基础上进行聚类融合,从而使算法的计算准度加以提升。通过不断的实验,我们可以感受到优化之后算法的显著优势,这不仅体现在 其可靠性,同时在其稳定性以及扩展性、鲁棒性等方面都得到了很好的展现。 一、汽车行业在大数据时代有三个鲜明的特征 1、数据全面数字化,第一人的行为数字化,包括所有驾驶操作、每天所有的行为习惯,甚至是座椅的习惯等等都将形成相应的数字化。以车为中心物理事件 的数字化,车况、维修保养、交通、地理、信息等等都会形成数字化,全面数字 化就会形成庞大的汽车产业链,汽车的大数据生态圈。这是第一个特点。 由于大数据拥有分析和总结的核心优势,越来越多的品牌厂商和广告营销机 构都在大力发展以数据为基础的网络营销模式,这些变化也在不断地向传统的汽 车营销领域发起进攻。从前品牌做营销仅能凭主观想法和经验去预估,而现在大 数据的出现则可以帮助客户进行精准的客户群定位。 2、第二个特点是数据互联资源化。有一个领导人讲过:未来大数据会成为石油一样的资源。这说明大数据可以创造巨大的价值,甚至可能成为石油之外,更 为强大的自然资源。 大数据首先改变了传统调研的方式。通过观察Cookie等方式,广告从业者可 以通过直观的数据了解客观的需求。之前的汽车市场调研抽样的样本有限,而且 在问题设计和角度选取过程中,人为因素总是或多或少地介入,这就可能会影响 到市场调研的客观性。大数据分析不只会分析互联网行为,也会关注人生活的更 多纬度。数据可以更加丰富,比如了解到消费者的习惯和周期、兴趣爱好、对人 的理解会更加深刻。这些因素综合在一起就会形成一笔无形且珍贵的数据资源。 有了大数据的支持,便可以实现曾经很多只能“纸上谈兵”的理论。 3、第三个特点则是产生虚拟的汽车,人和汽车可以对话,更具有智慧的新兴产业。这个就是未来在大数据时代,汽车行业会呈现的特点。 在这个情况下,我们以人、车、社会形成汽车产业大数据的生态圈,现实生 活中每个有车一族所产生的数据都对整个生态圈有积极的影响。车辆上传的每一 组数据都带有位置信息和时间,并且很容易形成海量数据。如果说大数据的特征 是完整和混杂,那么车联网与车有关的大数据特征则是完整和精准。如某些与车 辆本身有关的数据,都有明确的一个用户,根据不同用户可以关联到相应的车主 信息,并且这些信息都是极其精准的,这样形成的数据才是有价值的数据。 二、汽车行业大数据下聚类算法的含义 汽车行业大数据是指以多元形式,由许多来源搜集而组成的庞大数据组。电 子商务网站、社交网站以及网页浏览记录等都可以成为大数据的数据来源。同时,

聚类算法的研究综述

聚类算法的研究综述 华东交通大学理工学院 Institute of Technology. East China Jiaotong University 毕业论文 Graduation Thesis (2009―7>2013年) 题目聚类算法的研究综述 分院:电子与信息工程分院 专业:信息管理与信息系统 班级:信管2009-2 学号: 20090210450221 学生姓名:于继伟 指导教师:葛菁 起讫日期: 2012-12――2013-05 华东交通大学理工学院 毕业设计(论文)原创性申明 本人郑重申明:所呈交的毕业设计(论文)是本人在导师指导下独立进行的研究工作所取得的研究成果。设计(论文)中引用他人的文献、数据、图件、资

料,均已在设计(论文)中特别加以标注引用,除此之外,本设计(论文)不含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究作出重要贡献的个人和集体,均已在文中以明确方式表明。本人完全意识到本申明的法律后果由本人承担。 毕业设计(论文)作者签名:日期:年月日毕业设计(论文)版权使用授权书 本毕业设计(论文)作者完全了解学院有关保留、使用毕业设计(论文)的规定,同意学校保留并向国家有关部门或机构送交设计(论文)的复印件和电子版,允许设计(论文)被查阅和借阅。本人授权华东交通大学理工学院可以将本设计(论文)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编毕业设计(论文)。 (保密的毕业设计(论文)在解密后适用本授权书) 毕业设计(论文)作者签名:指导教师签名: 签字日期:年月日签字日期:年月日 摘要 聚类算法的兴起,大大地改变了我们的生活和工作方式。这是计算机科学的发展和相关学科发展的必然结果。聚类算法作为数据挖掘中的一部分,我们不仅利用聚类算法进行我们的科研,而且我们的日常生活中聚类算法的应用也无处不在。可以说和我们的生活息息相关。目前这方面的专家也在致力于聚类算法的研究,在现有的聚类算法的基础上改进以及发掘出新的聚类算法。因为没有什么是一成不变的,聚类算法也有缺点,因此必须不断改进和创新。 例如我们的学校、政府单位、企业都需要用到聚类算法和聚类分析,

基于聚类分析的K-means算法研究及应用概要

基于聚类分析的K-means算法研究及应用 摘要:通过对聚类分析及其算法的论述,从多个方面对这些算法性能进行比较,同时以儿童生长发育时期的数据为例通过聚类分析的软件和改进的K-means算法来进一步阐述聚类分析在数据挖掘中的实践应用。 关键词:数据挖掘;聚类分析;数据库;聚类算法 随着计算机硬件和软件技术的飞速发展,尤其是数据库技术的普及,人们面临着日益扩张的数据海洋,原来的数据分析工具已无法有效地为决策者提供决策支持所需要的相关知识,从而形成一种独特的现象“丰富的数据,贫乏的知识”。数据挖掘[1]又称为数据库中知识发现(Knowledge Discovery from Database,KDD),它是一个从大量数据中抽取挖掘出未知的、有价值的模式或规律等知识的复杂过程。目的是在大量的数据中发现人们感兴趣的知识。 常用的数据挖掘技术包括关联分析、异类分析、分类与预测、聚类分析以及演化分析等。由于数据库中收集了大量的数据,聚类分析已经成为数据挖掘领域的重要技术之一。 1问题的提出 随着社会的发展和人们生活水平的提高,优育观念[2,3]逐渐渗透到每个家庭,小儿的生长发育越来越引起家长们的重视。中国每隔几年都要进行全国儿童营养调查,然而用手工计算的方法在大量的数据中分析出其中的特点和规律,显然是不现实的,也是不可行的。为了有效地解决这个问题,数据挖掘技术——聚类分析发挥了巨大的作用。 在数据挖掘领域,聚类算法经常遇到一些问题如聚类初始点的选择[4]、模糊因子的确定[5]等,大部分均已得到解决。现在的研究工作主要集中在为大型的数据库有效聚类分析寻找适当的方法、聚类算法对复杂分布数据和类别性数据聚类的有效性以及高维数据聚类技术等方面。本文通过对聚类分析算法的分析并重点从聚类分析的软件工具和改进的K-means算法两个方面来论证聚类分析在儿童生长发育时期中的应用。 2聚类算法分析 聚类[6]分析是直接比较各事物之间的性质,将性质相近的归为一类,将性质差别较大的归入不同的类。在医学实践中也经常需要做分类工作,如根据病人的一系列症状、体征和生化检查的结果,判断病人所患疾病的类型;或对一

相关文档
最新文档