文档库 最新最全的文档下载
当前位置:文档库 › 基于复合形的K_means优化聚类算法研究_赵凯

基于复合形的K_means优化聚类算法研究_赵凯

基于复合形的K_means优化聚类算法研究_赵凯
基于复合形的K_means优化聚类算法研究_赵凯

 第40卷第4期

郑州大学学报(理学版)V ol .40N o .4 2008年12月J .of Zheng zhou U niv .(Nat .Sci .Ed .)Dec .2008

收稿日期:20080526

作者简介:赵凯(1973-),女,博士研究生,主要从事机电控制与自动化、人工智能研究,E -mail :zhaozhangk @https://www.wendangku.net/doc/779830018.html, .

基于复合形的K -means 优化聚类算法研究

赵 凯1, 李声晋1, 赵 锋2

(1.西北工业大学机电学院 西安710072;2.西北工业大学航空学院 西安710072)

摘要:为了克服K -means 算法受初始点影响大、结果稳定性差的不足,提出了一种新的K -means 优化聚类算法.介

绍了复合形法的基本原理并将其做了一定修改以适用于K -means 优化聚类,推导了一系列用于计算的公式,给出

了具体的实现步骤与方法.通过算例说明,与其他几种方法相比,该方法结果稳定,计算效率较高,有着很好的推广

应用前景.

关键词:复合形;数据挖掘;K -means 聚类

中图分类号:T P 391 文章编号:1671-6841(2008)04-0044-04

0 引言

数据挖掘[1]是近年来有着广泛应用前景的新技术,通过数据挖掘,人们可以将新的研究成果应用于实际数据处理中,为科学决策提供支持.聚类分析[2]

作为数据挖掘的一个重要研究内容,已经成为一个非常活跃的研究课题.在各种聚类算法中,K -means 聚类算法[3]是应用最为广泛的聚类算法之一.K -means 算法,又称K -均值算法,1967年由M acQueen [4]首先提出,该算法是解决聚类问题的一种经典算法.它是在用户指定类别数的情况下对数据进行聚类,算法尝试找出使平方误差函数值最小的划分,通过反复递推计算出簇的中心,把对象指定到不同的簇中去.它具有算法简单、收敛速度快且能处理大数据库的优点,但是,也存在着很大的局限性:聚类效果受到初始时聚类中心的影响很大,该算法是采用梯度法求解极值,结果往往是局部最优,而得不到全局最优解,因此结果稳定性较差.Bandy opadhy ay [5]提出用遗传算法全局优化的特性来克服初始中心的随机选取,这种算法虽然在一定程度上克服了初始聚类中心选取的盲目性,结果比较稳定,然而其计算量大,在大量数据情况下,计算效率太低.复合形法是由BOX 在1965年首次提出,它基于最坏点进行迭代,是一种有效的随机搜索寻优方法,本文将其应用于K -means 优化聚类算法,结果具有遗传算法K -means 优化聚类算法的稳定性,效率又得到大幅提高.1 K -means 优化聚类算法

K -means 算法以k 为参数,把n 个对象分为C 个簇,以使簇内具有较高的相似度,而簇间的相似度较低.相似度的计算根据一个簇中对象的平均值(被看作簇的中心)来进行.其工作原理为:首先随机从数据集中选取C 个点作为初始聚类中心,然后对剩余的每个对象,根据其与各个簇中心的距离,将它赋予最近的簇,重新计算每个簇的平均值.这一过程不断重复,直到准则函数收敛.通常采用平方误差准则,其定义为

J c =

∑c j =1∑n

j k =1x (j )k -m j 2,其中,m j 是簇C i 中的均值,即m j =1n ∑n j j =1x j ,j =1,2,…,c ,m j 是C 个聚类中心,用以代表C 个类型.

K -means 优化聚类算法可以描述为在确定类的个数K 的情况下,选取聚类中心坐标为设计变量,以平方误差准则为目标函数的无约束优化问题,其中平方误差准则为聚类中心坐标的函数.该问题可表示为求

 第4期赵 凯等:基于复合形的K -means 优化聚类算法研究K 个聚类中心坐标

Y 1=(y 11,y 12,…,y 1n ),Y 2=(y 21,y 22,…,y 2n ),…,Y k =(y k 1,y k 2,…,y kn ),

使得

min J c =∑c j =1∑n j

k =1x (j )k -y kj 2,

其中,y kj 为聚类中心坐标向量,J 为平方误差和.该问题是一个只存在着边界约束,可行区域为凸集的优化问题.其中目标函数与设计变量之间不能写成一个显式表达式,这些都十分适合复合形法来解决.

2 复合形法用于K -means 优化聚类算法

2.1 复合形法简介

复合形法[5]是常见的一种直接搜索法,它突出的优点是在迭代计算中不必求目标函数的导数,也不用进行一维最优搜索,对目标函数和约束函数的可导性、连续性无特殊要求,尤其适用于目标函数很难求出显式导数的情形.复合形法的基本思想来源于单纯形法,是解决有约束条件时非线性优化问题的有效方法之一,其基本步骤是:首先在N 维设计空间中构成顶点数P 大于(N +1)的复合形,对复合形各顶点的目标函数数值逐一进行比较,丢掉最坏点(即目标函数值最大的点),代之以既能使目标函数值有所改善,又满足约束条件的新点.产生新点有一套规格化的方法,使复合形不断改变形状,因而可以在可行域内放大、缩小和拐弯,进而找到最优解.

2.2 本文方法实现步骤

由于K -means 优化聚类问题是一种无约束的优化问题,因此对复合形法进行一定的改进以方便处理问题(见图1),其具体实现步骤如下:

1)复合形法各参数反射系数、精度要求等的确定.

2)根据聚类问题确定类的个数K 和复合形初始顶点,一般来讲,针对具体的工程应用背景可以确定类的个数,复合形的初始顶点可以根据经验来选取.

3)计算数据库中每组数据与各个聚类中心的欧氏距离d (p )ik ,表示为数据库中第i 组数据与顶点坐标中

第p 个顶点(聚类中心)的欧氏距离,

d (p )ik =∑n

t =1(x ij -y (p )kj )2

,i =1,2,…,n ,j =1,2,…,m ,k =1,2,…,K ,其中,n 为数据库中数据的组数,m 为数据的维数,k 为数据的欲聚类数目,p 为复合形顶点序号

.

图1 复合形法用于聚类算法流程图

Fig .1 T he flow char t of comple x method to o ptimal clustering

4)根据就近原则确定数据库中每一组数据

的归属类别,d ip =min (d (p )ik ),i ∈C p ,其中,C p 为

以顶点p 为中心的簇集,d ip 为该簇集中第i 个数

据与中心点之间的欧氏距离.

5)计算复合形各个顶点的目标函数值

f (Y p

),f (Y p

)=∑P

p =1∑i ∈C p d ip ,p =1,2,…,P .

6)反射.在p 个顶点中找出最坏点Y R ,计算

中心点Y ,

f (Y R )=max f (Y p ),Y =1P ∑P p =1Y p -1P

Y R ,p =1,2,…,P .计算反射点Y N 及f (Y N ),Y N =Y +α(Y -Y R ),比较f (Y R )与f (Y N )的大小.如果f (Y N )

郑州大学学报(理学版)第40卷点构成新一轮复合形,继续步骤3),如果f (Y N )≥f (Y R )说明反射点相对最坏点没有改善,这时将反射点向中心点收缩一半,直到满足f (Y N )

7)终止迭代判据.根据复合形法原理,最终收敛时复合形各顶点的目标函数值应该相差不大,而且各顶点几何位置应十分接近,根据这个思想采用以下方法判断收敛:

a )计算f 与Y ,f =1P

∑P p =1f (Y p ), Y =1P ∑P p =1Y p .b )若

∑P

p =1[f (Y p )-f ]2≤ε, ∑P p =1Y p -Y 2≤δ,

则迭代终止,否则转向步骤3,其中,ε和δ均为一个很小的正数.

对于几个主要参数的选择,取α=1.4,P =2n 附近比较合适,对于越过上下界的点,可以使其相应的边界作为其坐标,为了补偿由于向中心点收缩而引起的复合形的变小,取α>1,而顶点数大于n 是为了避免搜索过程中降维到小于n ;设定变量的上下界是为了避免不必要的约束.

3 算例

为了验证本文所提方法,取Matlab7.0中自带的数据库K -meansda ta 为考题,分别用文献[6-11]中所提基本K -means 算法、使用遗传算法的K -means 聚类优化方法和本文所提方法对该数据库进行聚类.该数据库大小为560×4,采用K -means 进行K =4聚类,其最小欧氏距离和约为2209.在本文中采用复合形法所选取的参数为:n =16,P =30,α=1.4,ε=0.0001,δ=0.0001.

结果的稳定性是评价一种算法优劣的重要方面,如果一种算法的结果始终波动不大,说明该方法稳定性好,对初始值不敏感,所得结果可靠.分别采用以上三种方法进行聚类计算40次,所得收敛目标函数结果随试验次数变化如图2所示,平均计算一次所需要时间为:普通K -means =4.5,GA -K -means =320.2,Com -plex -K -means =30.4.由图2可以看出,基本K -means 聚类稳定性差,所得结果波动很大,可见其受初始值影响较大,容易陷入局部最优解.使用遗传算法的K -means 聚类优化方法虽然稳定性很好,但它是以较长的时间和较大计算量为代价的,对于大量的数据,缺点将十分明显.相对以上两种方法而言,本文所用复合形法的K -means 聚类优化方法虽然稳定性稍逊于使用遗传算法的K -means 聚类优化方法,但是基本上已经能满足实际工程需要,而且所消耗时间大大降低,因此是一种很好的聚类优化方法

.

图2 三种方法收敛值稳定性对比

Fig .2 T he robust o f the co nve rge nce value to the th ree alg orithms 46

47 第4期赵 凯等:基于复合形的K-means优化聚类算法研究

4 结论

对复合形法而言,其在工业机器人、航空工业优化领域有着非常广泛的应用,而在数据挖掘领域应用很少,本文将其应用到K-means优化聚类,取得了很好的效果.因此,重视与研究不同学科之间的交叉点,将是未来技术创新的一个重要手段.

参考文献:

[1] Q u Shouning,Wang Q in,Zo u Y an,et al.Intellig ent questio n answ ering sy stem based on data mining[J].Journal of Zheng-

zho u U niv ersity:N atural Science Editio n,2007,39(2):50-54.

[2] 华斌,陈玲.基于聚类的科研经费决策与分析模型[J].郑州大学学报:理学版,2007,39(3):55-58.

[3] 胡玉锁,陈宗海.基于混合遗传算法的聚类分析[J].模式识别与人工智能,2001,14(3):352-356.

[4] M acQ ueen J.Some methods fo r classification and analy sis of multi-variate obse rva tions[C]∥P roceeding s of the15th

Berkeley Sy mposium on M athematical Sta tistics a nd Pr obability.Berkeley:Univ ersity of Califor nia Pre ss,1967:281-297.

[5] Bandyo padhy ay S,M aulik U.A n evo lutio na ry technique based o n K-means alg o rithm for o ptional clustering in R N[J].I n-

fo rmatio n Science s,2002,146(1/2/3/4):221-237.

[6] 欧海龙,李向真.多层复形法在结构优化中的程序设计[J].世界地震工程,2000,16(4):113-117.

[7] 苏金明,阮沈勇,王永利.M A T L AB工程数学[M].北京:电子工业出版社,2005.

[8] 朱金钧,高凯,周万珍.遗传算法在数据挖掘中的应用[J].计算机工程与应用,2003,39(17):203-206.

[9] 屈建平,罗文坚,王煦法.基于K-均值聚类的改进非选择算法研究[J].计算机工程与应用,2005,41(28):29-32.

[10]K rishna K,M urty M N.Ge netic K-means algo rithm[J].IEEE T ransactions on Sy stems,M an and Cy ber netics-P art B:Cy-

be rne tics,1998,29(5):433-439.

[11]Selim S Z,Ismail M A.K-means-ty pe algo rithms:a generalized converg ence theorem and characteriza tion o f lo cal opti-

ma1ity[J].IEEE T r ans Pa tte rn Analy sis and M achine Inte lligence,1984(1):81-87.

K-means Optimal Clustering Algorithm Based on Complex

ZHAO Kai1, LI Sheng-jin1, ZHAO Feng2

(1.College o f Automation,Northwestern Poly technic University,X i'an710072,China;

2.College of Aeronautics,Northwestern Poly technic University,X i'an710072,China)

A bstract:A no vel K-means alg orithm is presented to overcome the w eakness of the result stabili-

zation and the effect of the initial point.First,the main principle of the complex metho d is intro-duced and an im pro ved one is used to K-means optimal cluste ring,a series o f formulation is educed in this paper and the realizatio n process of the algo rithm is given https://www.wendangku.net/doc/779830018.html, pared w ith other algo-rithms,this me thod has a stable result,an efficient calculation,so it has very goo d applica tion and dissem ination prospect.

Key words:complex method;data mining;K-means clustering

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 - M e a n s 聚 类 算 法

基于K-means聚类算法的入侵检测系统的设计 基于K-means聚类算法的入侵检测系统的设计 今天给大家讲述的是K-means聚类算法在入侵检测系统中的应用首先,介绍一下 聚类算法 将认识对象进行分类是人类认识世界的一种重要方法,比如有关世界的时间进程的研究,就形成了历史学,有关世界空间地域的研究,则形成了地理学。 又如在生物学中,为了研究生物的演变,需要对生物进行分类,生物学家根据各种生物的特征,将它们归属于不同的界、门、纲、目、科、属、种之中。 事实上,分门别类地对事物进行研究,要远比在一个混杂多变的集合中更清晰、明了和细致,这是因为同一类事物会具有更多的近似特性。 通常,人们可以凭经验和专业知识来实现分类。而聚类分析(cluster analysis)作为一种定量方法,将从数据分析的角度,给出一个更准确、细致的分类工具。 (聚类分析我们说得朴实一点叫做多元统计分析,说得时髦一点叫做数据挖掘算法,因为这个算法可以在一堆数据中获取很有用的信息,这就不就是数据挖掘吗,所以大家平时也不要被那些高大上的名词给吓到了,它背后的核心原理大多数我们都是可以略懂一二的,再

比如说现在AI这么火,如果大家还有印象的话,以前我们在大二上学习概率论的时候,我也和大家分享过自然语言处理的数学原理,就是如何让机器人理解我们人类的自然语言,比如说,苹果手机上的Siri系统,当时还让杨帆同学帮我在黑板上写了三句话,其实就是贝叶斯公式+隐含马尔可夫链。估计大家不记得了,扯得有点远了接下来还是回归我们的正题,今天要讨论的聚类算法。) K-Means是常用的聚类算法,与其他聚类算法相比,其时间复杂度低,结果稳定,聚类的效果也还不错, 相异度计算 在正式讨论聚类前,我们要先弄清楚一个问题:如何定量计算两个可比较元素间的相异度。用通俗的话说,相异度就是两个东西差别有多大,例如人类与章鱼的相异度明显大于人类与黑猩猩的相异度,这是能我们直观感受到的。但是,计算机没有这种直观感受能力,我们必须对相异度在数学上进行定量定义。 要用数量化的方法对事物进行分类,就必须用数量化的方法描述事物之间的相似程度。一个事物常常需要用多个特征变量来刻画,就比如说我们举一个例证,就有一项比较神奇的技术叫面部识别技术,其实听起来很高大上,它是如何做到的,提取一个人的面部特征,比如说嘴巴的长度,鼻梁的高度,眼睛中心到鼻子的距离,鼻子到嘴巴的距离,这些指标对应得数值可以组成一个向量作为每一个个体的一个标度变量(),或者说叫做每一个人的一个特征向量。 如果对于一群有待分类的样本点需用p 个特征变量值描述,则每

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

论文关键词:数据挖掘;聚类算法;聚类分析论文摘要:该文详细阐述了数据挖掘领域的常用聚类算法及改进算法,并比较分析了其优缺点,提出了数据挖掘对聚类的典型要求,指出各自的特点,以便于人们更快、更容易地选择一种聚类算法解决特定问题和对聚类算法作进一步的研究。并给出了相应的算法评价标准、改进建议和聚类分析研究的热点、难点。上述工作将为聚类分析和数据挖掘等研究提供有益的参考。 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)每个对

改进的K-means聚类算法及应用

改进的K-means聚类算法及应用 摘要:传统的k-means算法需要事先确定初始聚类中心,聚类精确程度不高。针对以上问题,本文结合熵值法和动态规划算法来对传统的k-means算法进行改进,提出了基于熵值法及动态规划的改进k-means算法。熵值法用来修订算法的距离计算公式,以提高算法的聚类精确程度, 动态规划算法用来确定算法的初始聚类中心。将改进算法应用于矿井监测传感器聚类中,结果显示较传统的k-means算法,改进算法效率有了明显提高,聚类精确程度有较大增强。 关键词:k-means;动态规划;熵值法;聚类精确度;矿井监测传感器 【abstract】the traditional k-means has sensitivity to the initial clustering centers, and its clustering accuracy is low. to against these short comings, an improved k-means algorithm based on the combination of dynamic programming algorithm and entropy method is proposed. the entropy method is used to amend the distance calculating formula to improve the clustering accuracy, and dynamic programming algorithm is used to define the initial cluster centers. the result of the simulation on the clustering in the mine monitoring sensors shows that the proposed algorithm has better

聚类算法总结

聚类算法的种类:

--------------------------------------------------------- 几种常用的聚类算法从可伸缩性、适合的数据类型、高维性(处理高维数据的能力)、异常数据的抗干扰度、聚类形状和算法效率6个方面进行了综合性能评价,评价结果如表1所示:

--------------------------------------------------------- 目前聚类分析研究的主要内容: 对聚类进行研究是数据挖掘中的一个热门方向,由于以上所介绍的聚类方法都 存在着某些缺点,因此近些年对于聚类分析的研究很多都专注于改进现有的聚 类方法或者是提出一种新的聚类方法。以下将对传统聚类方法中存在的问题以 及人们在这些问题上所做的努力做一个简单的总结: 1 从以上对传统的聚类分析方法所做的总结来看,不管是k-means方法,还是CURE方法,在进行聚类之前都需要用户事先确定要得到的聚类的数目。然而在 现实数据中,聚类的数目是未知的,通常要经过不断的实验来获得合适的聚类 数目,得到较好的聚类结果。 2 传统的聚类方法一般都是适合于某种情况的聚类,没有一种方法能够满足各 种情况下的聚类,比如BIRCH方法对于球状簇有很好的聚类性能,但是对于不 规则的聚类,则不能很好的工作;K-medoids方法不太受孤立点的影响,但是 其计算代价又很大。因此如何解决这个问题成为当前的一个研究热点,有学者 提出将不同的聚类思想进行融合以形成新的聚类算法,从而综合利用不同聚类 算法的优点,在一次聚类过程中综合利用多种聚类方法,能够有效的缓解这个 问题。 3 随着信息时代的到来,对大量的数据进行分析处理是一个很庞大的工作,这 就关系到一个计算效率的问题。有文献提出了一种基于最小生成树的聚类算法,该算法通过逐渐丢弃最长的边来实现聚类结果,当某条边的长度超过了某个阈值,那么更长边就不需要计算而直接丢弃,这样就极大地提高了计算效率,降 低了计算成本。 4 处理大规模数据和高维数据的能力有待于提高。目前许多聚类方法处理小规 模数据和低维数据时性能比较好,但是当数据规模增大,维度升高时,性能就 会急剧下降,比如k-medoids方法处理小规模数据时性能很好,但是随着数据 量增多,效率就逐渐下降,而现实生活中的数据大部分又都属于规模比较大、 维度比较高的数据集。有文献提出了一种在高维空间挖掘映射聚类的方法PCKA (Projected Clustering based on the K-Means Algorithm),它从多个维度中选择属性相关的维度,去除不相关的维度,沿着相关维度进行聚类,以此对 高维数据进行聚类。 5 目前的许多算法都只是理论上的,经常处于某种假设之下,比如聚类能很好 的被分离,没有突出的孤立点等,但是现实数据通常是很复杂的,噪声很大, 因此如何有效的消除噪声的影响,提高处理现实数据的能力还有待进一步的提高。

CLOPE-快速有效的聚类算法

CLOPE:针对交易的数据快速有效聚类算法 摘要 本文研究分类数据的聚类问题,特别针对多维和大型的交易数据。从增加聚簇直方图的高宽比的方法得到启发,我们开发了一种新的算法---CLOPE,这是一种非常快速、可伸缩,同时又非常有效的算法。我们展示了算法对两个现实数据集聚类的性能,并将CLOPE与现有的聚类算法进行了比较。 关键词 数据挖掘,聚类,分类数据,可伸缩性 1.简介 聚类是一种非常重要的数据挖掘技术,它的目的是将相似的交易[12, 14, 4, 1]分组在一起。最近,越来越多的注意力已经放到了分类数据[10,8,6,5,7,13]的聚类上,分类数据是由非数值项构成的数据。交易数据,例如购物篮数据和网络日志数据,可以被认为是一种特殊的拥有布尔型值的分类数据,它们将所有可能的项作为项。快速而精确地对交易数据进行聚类的技术在零售行业,电子商务智能化等方面有着很大的应用潜力。 但是,快速而有效聚类交易数据是非常困难的,因为这类的数据通常有着高维,稀疏和大容量的特征。基于距离的算法例如k-means[11]和CLARANS[12]都是对低维的数值型数据有效。但是对于高维分类数据的处理效果却通常不那么令人满意[7]。像ROCK这类的分层聚类算法在分类数据聚类中表现的非常有效,但是他们在处理大型数据库时表现出先天的无效。 LargeItem[13]算法通过迭代优化一个全局评估函数对分类数据进行聚类。这个评估函数是基于大项概念的,大项是在一个聚簇内出现概率比一个用户自定义的参数——最小支持度大的项。计算全局评估函数要远比计算局部评估函数快得多,局部评估函数是根据成对相似性定义的。这种全局方法使得LargeItem算法非常适合于聚类大型的分类数据库。 在这篇文章中,我们提出了一种新的全局评估函数,它试图通过增加聚簇直方图的高度与宽度之比来增加交易项在聚簇内的重叠性。此外,我们通过引用一个参数来控制聚簇紧密性的方法来泛化我们的想法,通过修改这个参数可以得到

(完整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),直到所有类最后合并成一类。

聚类分析算法解析

聚类分析算法解析 一、不相似矩阵计算 1.加载数据 data(iris) str(iris) 分类分析是无指导的分类,所以删除数据中的原分类变量。 iris$Species<-NULL 2. 不相似矩阵计算 不相似矩阵计算,也就是距离矩阵计算,在R中采用dist()函数,或者cluster包中的daisy()函数。dist()函数的基本形式是 dist(x, method = "euclidean", diag = FALSE, upper = FALSE, p = 2) 其中x是数据框(数据集),而方法可以指定为欧式距离"euclidean", 最大距离"maximum", 绝对值距离"manhattan", "canberra", 二进制距离非对称"binary" 和明氏距离"minkowski"。默认是计算欧式距离,所有的属性必须是相同的类型。比如都是连续类型,或者都是二值类型。 dd<-dist(iris) str(dd) 距离矩阵可以使用as.matrix()函数转化了矩阵的形式,方便显示。Iris数据共150例样本间距离矩阵为150行列的方阵。下面显示了1~5号样本间的欧式距离。 dd<-as.matrix(dd)

二、用hclust()进行谱系聚类法(层次聚类) 1.聚类函数 R中自带的聚类函数是hclust(),为谱系聚类法。基本的函数指令是 结果对象<- hclust(距离对象, method=方法) hclust()可以使用的类间距离计算方法包含离差法"ward",最短距离法"single",最大距离法"complete",平均距离法"average","mcquitty",中位数法"median" 和重心法"centroid"。下面采用平均距离法聚类。 hc <- hclust(dist(iris), method="ave") 2.聚类函数的结果 聚类结果对象包含很多聚类分析的结果,可以使用数据分量的方法列出相应的计算结果。 str(hc) 下面列出了聚类结果对象hc包含的merge和height结果值的前6个。其行编号表示聚类过程的步骤,X1,X2表示在该步合并的两类,该编号为负代表原始的样本序号,编号为正代表新合成的类;变量height表示合并时两类类间距离。比如第1步,合并的是样本102和143,其样本间距离是0.0,合并后的类则使用该步的步数编号代表,即样本-102和-143合并为1类。再如第6行表示样本11和49合并,该两个样本的类间距离是0.1,合并后的类称为6类。 head (hc$merge,hc$height)

(完整版)聚类算法总结

1.聚类定义 “聚类是把相似的对象通过静态分类的方法分成不同的组别或者更多的子集(subset),这样让在同一个子集中的成员对象都有一些相似的属性”——wikipedia “聚类分析指将物理或抽象对象的集合分组成为由类似的对象组成的多个类的分析过程。它是一种重要的人类行为。聚类是将数据分类到不同的类或者簇这样的一个过程,所以同一个簇中的对象有很大的相似性,而不同簇间的对象有很大的相异性。”——百度百科 说白了,聚类(clustering)是完全可以按字面意思来理解的——将相同、相似、相近、相关的对象实例聚成一类的过程。简单理解,如果一个数据集合包含N个实例,根据某种准则可以将这N 个实例划分为m个类别,每个类别中的实例都是相关的,而不同类别之间是区别的也就是不相关的,这个过程就叫聚类了。 2.聚类过程: 1) 数据准备:包括特征标准化和降维. 2) 特征选择:从最初的特征中选择最有效的特征,并将其存储于向量中. 3) 特征提取:通过对所选择的特征进行转换形成新的突出特征.

4) 聚类(或分组):首先选择合适特征类型的某种距离函数(或构造新的距离函数)进行接近程度的度量;而后执行聚类或分组. 5) 聚类结果评估:是指对聚类结果进行评估.评估主要有3 种:外部有效性评估、内部有效性评估和相关性测试评估. 3聚类算法的类别 没有任何一种聚类技术(聚类算法)可以普遍适用于揭示各种多维数据集所呈现出来的多种多样的结构,根据数据在聚类中的积聚规则以及应用这些规则的方法,有多种聚类算法.聚类算法有多种分类方法将聚类算法大致分成层次化聚类算法、划分式聚类算法、基于密度和网格的聚类算法和其他聚类算法,如图1 所示 的4 个类别.

基于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—

聚类分析K-means算法综述

聚类分析K-means算法综述 摘要:介绍K-means聚类算法的概念,初步了解算法的基本步骤,通过对算法缺点的分析,对算法已有的优化方法进行简单分析,以及对算法的应用领域、算法未来的研究方向及应用发展趋势作恰当的介绍。 关键词:K-means聚类算法基本步骤优化方法应用领域研究方向应用发展趋势 算法概述 K-means聚类算法是一种基于质心的划分方法,输入聚类个数k,以及包含n个数据对象的数据库,输出满足方差最小标准的k个聚类。 评定标准:同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”(引力中心)来进行计算。 解释:基于质心的划分方法就是将簇中的所有对象的平均值看做簇的质心,然后根据一个数据对象与簇质心的距离,再将该对象赋予最近的簇。 k-means 算法基本步骤 (1)从n个数据对象任意选择k 个对象作为初始聚类中心 (2)根据每个聚类对象的均值(中心对象),计算每个对象与这些中心对象的距离;并根据最小距离重新对相应对象进行划分 (3)重新计算每个(有变化)聚类的均值(中心对象) (4)计算标准测度函数,当满足一定条件,如函数收敛时,则算法终止;如果条件不满足则回到步骤(2) 形式化描述 输入:数据集D,划分簇的个数k 输出:k个簇的集合 (1)从数据集D中任意选择k个对象作为初始簇的中心; (2)Repeat (3)For数据集D中每个对象P do (4)计算对象P到k个簇中心的距离 (5)将对象P指派到与其最近(距离最短)的簇;

(6)End For (7)计算每个簇中对象的均值,作为新的簇的中心; (8)Until k个簇的簇中心不再发生变化 对算法已有优化方法的分析 (1)K-means算法中聚类个数K需要预先给定 这个K值的选定是非常难以估计的,很多时候,我们事先并不知道给定的数据集应该分成多少个类别才最合适,这也是K一means算法的一个不足"有的算法是通过类的自动合并和分裂得到较为合理的类型数目k,例如Is0DAIA算法"关于K一means算法中聚类数目K 值的确定,在文献中,根据了方差分析理论,应用混合F统计量来确定最佳分类数,并应用了模糊划分嫡来验证最佳分类数的正确性。在文献中,使用了一种结合全协方差矩阵RPCL算法,并逐步删除那些只包含少量训练数据的类。文献中针对“聚类的有效性问题”提出武汉理工大学硕士学位论文了一种新的有效性指标:V(k km) = Intra(k) + Inter(k) / Inter(k max),其中k max是可聚类的最大数目,目的是选择最佳聚类个数使得有效性指标达到最小。文献中使用的是一种称为次胜者受罚的竞争学习规则来自动决定类的适当数目"它的思想是:对每个输入而言不仅竞争获胜单元的权值被修正以适应输入值,而且对次胜单元采用惩罚的方法使之远离输入值。 (2)算法对初始值的选取依赖性极大以及算法常陷入局部极小解 不同的初始值,结果往往不同。K-means算法首先随机地选取k个点作为初始聚类种子,再利用迭代的重定位技术直到算法收敛。因此,初值的不同可能导致算法聚类效果的不稳定,并且,K-means算法常采用误差平方和准则函数作为聚类准则函数(目标函数)。目标函数往往存在很多个局部极小值,只有一个属于全局最小,由于算法每次开始选取的初始聚类中心落入非凸函数曲面的“位置”往往偏离全局最优解的搜索范围,因此通过迭代运算,目标函数常常达到局部最小,得不到全局最小。对于这个问题的解决,许多算法采用遗传算法(GA),例如文献中采用遗传算法GA进行初始化,以内部聚类准则作为评价指标。 (3)从K-means算法框架可以看出,该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大 所以需要对算法的时间复杂度进行分析,改进提高算法应用范围。在文献中从该算法的时间复杂度进行分析考虑,通过一定的相似性准则来去掉聚类中心的候选集,而在文献中,使用的K-meanS算法是对样本数据进行聚类。无论是初始点的选择还是一次迭代完成时对数据的调整,都是建立在随机选取的样本数据的基础之上,这样可以提高算法的收敛速度。

基于聚类分析的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等,大部分均已得到解决。现在的研究工作主要集中在为大型的数据库有效聚类分析寻找适当的方法、聚类算法对复杂分布数据和类别性数据聚类的有效性以及高维数据聚类技术等方面。本文通过对聚类分析算法的分析并重点

[改进的聚类算法在农业经济类型划分中的应用] kmeans聚类算法改进

[改进的聚类算法在农业经济类型划分中的应用] kmeans聚类算法改进 一、引言 吉林省各地自然、经济、社会条件各有差异,对农业经济的 影响很大。为了稳定提高粮食综合生产能力,促进农业经济结构 进一步优化。就需要准确地对省内各市县农业经济类型进行划 分,以期做到合理的资源优化配置。本文采用一种改进的k-均值 聚类分析技术对所采集的吉林省各县市农业生产的相关数据进行 分析,目的是对吉林省各地农业经济类型进行划分,揭示各地区 农业生产的特点和优势,为加快全省农业经济发展提供依据。 二、改进的聚类算法基本原理 改进的聚类算法的基本思想是:首先对数据集合进行系统聚 类分析,得到聚类树及相应的聚类中心矩阵;接着从聚类树中查 找较早形成的大类,并计算其聚类中心,这样我们就得到了较好 的聚类数k及比较具有代表性的初试聚类中心集合;最后通过k- 均值算法进行聚类分析。 虽然此改进算法需要我们人为的设定条件,但是这些条件都 是在进行系统聚类分析之后的数据基础上得来的,比经典的k-均 值算法的直接判断聚类数和随机抽取初始聚类中心要具有明显的 优势。根据本文待挖掘的数据量和系统聚类的结果,初始条件设

定如下:被判定为较早形成的大类聚类,其包含的数据对象应大于4,与下一次合并的聚类间距越小越好,且应小于所有聚类过程中的聚类间距均值。 三、改进的聚类算法在吉林农业经济类型划分中的应用 分类指标的选择 农业经济系统是一个多因素、多层次、结构复杂的系统,要正确地划分农业经济类型,首先必须选择一套能全面反映当前农业经济状况的指标体系。为此我们根据吉林农业的实际情况,选择对农业经济发展起主导作用的因子作为聚类指标,通过实地调查和对统计资料的综合分析,选定以下10个指标:X1 ,年平均降水量;X2 ,年平均温度;X3 ,农业人口;X4 ,每公顷粮食产量;X5 ,农业机械总动力;X6 ,粮食面积占耕地面积比例; X7 ,林业产值占农业总产值比例;X8 ,牧业产值占农业总产值比例;X9,渔业产值占农业总产值比例;X10 ,人均收入。 数据准备 根据以上10项指标,我们通过查阅xx年《吉林省统计年鉴》可以得到吉林省各地区农业经济各项指标的原始数据,如表1所示。 数据来源:根据xx年《吉林省统计年鉴》整理。 数据挖掘结果 首先对以上数据进行标准化转换,之后采用系统聚类分析法得到聚类树,分析聚类树及聚类间距我们可以得到初始聚类数为

聚类算法分析报告汇总

嵌入式方向工程设计实验报告 学院班级:130712 学生学号:13071219 学生姓名:杨阳 同作者:无 实验日期:2010年12月

聚类算法分析研究 1 实验环境以及所用到的主要软件 Windows Vista NetBeans6.5.1 Weka3.6 MATLAB R2009a 2 实验内容描述 聚类是对数据对象进行划分的一种过程,与分类不同的是,它所划分的类是未知的,故此,这是一个“无指导的学习” 过程,它倾向于数据的自然划分。其中聚类算法常见的有基于层次方法、基于划分方法、基于密度以及网格等方法。本文中对近年来聚类算法的研究现状与新进展进行归纳总结。一方面对近年来提出的较有代表性的聚类算法,从算法思想。关键技术和优缺点等方面进行分析概括;另一方面选择一些典型的聚类算法和一些知名的数据集,主要从正确率和运行效率两个方面进行模拟实验,并分别就同一种聚类算法、不同的数据集以及同一个数据集、不同的聚类算法的聚类情况进行对比分析。最后通过综合上述两方面信息给出聚类分析的研究热点、难点、不足和有待解决的一些问题等。 实验中主要选择了K 均值聚类算法、FCM 模糊聚类算法并以UCI Machine Learning Repository 网站下载的IRIS 和WINE 数据集为基础通过MATLAB 实现对上述算法的实验测试。然后以WINE 数据集在学习了解Weka 软件接口方面的基础后作聚类分析,使用最常见的K 均值(即K-means )聚类算法和FCM 模糊聚类算法。下面简单描述一下K 均值聚类的步骤。 K 均值算法首先随机的指定K 个类中心。然后: (1)将每个实例分配到距它最近的类中心,得到K 个类; (2)计分别计算各类中所有实例的均值,把它们作为各类新的类中心。 重复(1)和(2),直到K 个类中心的位置都固定,类的分配也固定。 在实验过程中通过利用Weka 软件中提供的simpleKmeans (也就是K 均值聚类算法对WINE 数据集进行聚类分析,更深刻的理解k 均值算法,并通过对实验结果进行观察分析,找出实验中所存在的问题。然后再在学习了解Weka 软件接口方面的基础上对Weka 软件进行一定的扩展以加入新的聚类算法来实现基于Weka 平台的聚类分析。 3 实验过程 3.1 K 均值聚类算法 3.1.1 K 均值聚类算法理论 K 均值算法是一种硬划分方法,简单流行但其也存在一些问题诸如其划分结果并不一定完全可信。K 均值算法的划分理论基础是 2 1 min i c k i k A i x v ∈=-∑∑ (1) 其中c 是划分的聚类数,i A 是已经属于第i 类的数据集i v 是相应的点到第i 类的平均距离,即

一种基于密度的快速聚类算法

第37卷第11期 2000年11月计算机研究与发展JOU RNAL O F COM PU T ER R ESEA RCH &D EV ELO PM EN T V o l 137,N o 111N ov .2000 原稿收到日期:1999209220;修改稿收到日期:1999212209.本课题得到国家自然科学基金项目(项目编号69743001)和国家教委博士点教育基金的资助.周水庚,男,1966年生,博士研究生,高级工程师,主要从事数据库、数据仓库和数据挖掘以及信息检索等的研究.周傲英,男,1965年生,教授,博士生导师,主要从事数据库、数据挖掘和W eb 信息管理等研究.曹晶,女,1976年生,硕士研究生,主要从事数据库、数据挖掘等研究.胡运发,男,1940年生,教授,博士生导师,主要从事知识工程、数字图书馆、信息检索等研究. 一种基于密度的快速聚类算法 周水庚 周傲英 曹 晶 胡运发 (复旦大学计算机科学系 上海 200433) 摘 要 聚类是数据挖掘领域中的一个重要研究方向.聚类技术在统计数据分析、模式识别、图像处理等领域有广泛应用.迄今为止人们提出了许多用于大规模数据库的聚类算法.基于密度的聚类算法DBSCAN 就是一个典型代表.以DBSCAN 为基础,提出了一种基于密度的快速聚类算法.新算法以核心对象邻域中所有对象的代表对象为种子对象来扩展类,从而减少区域查询次数,降低I O 开销,实现快速聚类.对二维空间数据测试表明:快速算法能够有效地对大规模数据库进行聚类,速度上数倍于已有DBSCAN 算法. 关键词 空间数据库,数据挖掘,聚类,密度,快速算法,代表对象 中图法分类号 T P 311.13;T P 391 A FAST D ENSIT Y -BASED CL USTER ING AL G OR ITH M ZHOU Shu i 2Geng ,ZHOU A o 2Y ing ,CAO J ing ,and HU Yun 2Fa (D ep a rt m en t of Co mp u ter S cience ,F ud an U n iversity ,S hang ha i 200433) Abstract C lu stering is a p rom ising app licati on area fo r m any fields including data m in ing ,statistical data analysis ,p attern recogn iti on ,i m age p rocessing ,etc .In th is paper ,a fast den sity 2based clu stering algo rithm is developed ,w h ich con siderab ly speeds up the o riginal DB SCAN algo rithm .U n like DB SCAN ,the new DB SCAN u ses on ly a s m all num ber of rep resen tative ob jects in a co re ob ject’s neighbo rhood as seeds to exp and the clu ster so that the execu ti on frequency of regi on query can be decreased ,and con sequen tly the I O co st is reduced .Experi m en tal resu lts show that the new algo rithm is effective and efficien t in clu stering large 2scale databases ,and it is faster than the o riginal DB SCAN by several ti m es . Key words spatial database ,data m in ing ,clu stering ,den sity ,fast algo rithm ,rep resen tative ob jects 1 概 述 近10多年来,数据挖掘逐渐成为数据库研究领域的一个热点[1].其中,聚类分析就是广为研究的问题之一.所谓聚类,就是将数据库中的数据进行分组,使得每一组内的数据尽可能相似而不同组内的数据尽可能不同.聚类技术在统计数据分析、模式识别、图像处理等领域都有广泛的应用前景.迄今为止,人们已经提出了许多聚类算法[2~7].所有这些算法都试图解决大规模数据的聚类问题.以基于密度的聚类算法DB SCAN [4]为基础,本文提出一种基于密度的快速聚类算法.通过选用核心对象附近区域包含的所有对象的代表对象作为种子对象来扩展类,快速算法减少了区域查询的次数,从而减低了聚类时间和I O 开销 .本文内容安排如下:首先在第2节中介绍基于密度的聚类算法DB SCAN 的基本思想,并分析它的局限

相关文档