・4 ・ Computer Era No.8 2010 改进的聚类分析算法及其性能分析 郭书杰,吴小欣,黄杰 (91550指控中心,辽宁大连1 16023) 摘要:提出了一种改进的聚类分析算法,该算法采用类似中间聚类与最终聚类分布的思想,先对密集区域进行聚类, 形成了K个聚类,然后再对相对分散的自由数据进行K—means聚类,使聚类分析在迭代过程中始终沿着最优的方向进行, 减小了迭代次数,提高了收敛速度。该算法融合了网格聚类与K一均值聚类的优点,并且引入了一种新的划分网格的算法 和新的计算密度阀值的函数。理论分析以及实验证明,改进算法的聚类过程达到了令人满意的效果。 关键词:聚类分析;K一均值算法;网格聚类;融合聚类 Improved Clustering Analysis Algorithm and Its Performance Analysis GUO Shu-jie,WU Xiao-xin,HUANG Jie (Command and Control Center of Army 91550,Dalian,Liaoning 116023,China) Abstract:An improved clustering analysis algorithm is proposed.Using the idea similar to half-finished clustering and final clustering distribution,the algorithm firstly clusters concentrated regions to get K clusters,and then clusters relatively scattered free data in K—means,which makes clustering analysis always follow optimal direction in iterative process,reduces iteration times and improves convergence speed.The algorithm integrates the advantages of grid—based clustering and K means clustering,and introduces a new algorithm of partitioning grid and new function of computing density threshold.The theoretical analysis and experiments prove that the clustering process of the improved algorithm achieves satisfactory results. Key words:clustering analysis;K—means algorithm;grid—based clustering;fusion clustering 0引言 聚类问题的经典算法,然而K_均值具有人为确定k值、过分依 I.,:lI.+(卜惦,1.+j 6.J,j=1 2”,P (1) K一均值是目前应用最为广泛的聚类分析算法之一,是解决 得出。 定义2网格单元密度:网格单元C。的密度Den(C,)定义为 赖k初始聚类中心点的缺点,而且运算量大,效率不高。目前对 该网格单元中的数据点的个数。 于K一均值算法的改进也有很多种,比如基于遗传算法的K一均 定义3密集单元与自由数据:设定密度阀值为Minpts,将 值…、引入惩罚因子的K一均值 、PBKP算法 等。 密度大于密度阀值Minpts的网格定义为密集单元,将密度小于 网格聚类算法的效率非常高,而且可以发现任意形状的 密度阀值的单元中的数据称为自由数据。 簇,但是网格聚类也存在种种的缺陷,比如依赖于密度阀值 定义4聚类重心:给定簇l(j=(tjJ,tl 一,L ),则其均值即聚类 的选择等。目前对于网格聚类的改进算法也有很多,比如二分 重心定义为 网格聚类n 、自适应网格聚类 、GCHL 等。 本文针对上述算法的缺点,结合他们的优点提出一种改进 的聚类分析算法——融合聚类分析算法。 其中nl为簇I(j中对象的个数,x,y为簇 中的两两不同的对象。 定义5中间聚类:对样本空间进行划分,定义单元网格集, 1融合聚类分析算法 1.1算法的基本概念 z.= 设A=(D ,D ,…,D )是n个有界定义域,S=D ×Dz×…×D 是一个n维空间,我们将D ,D ,…,Dn看成是s的维。算法的输 入则是一个n维空间的点集,设为V={v ,v。,…,v ),其中VI={V 计算网格单元的密度,将密度密集的单元进行网格聚类,这一 过程叫中间聚类。中间聚类只包含分布比较密集的点,并不包 含全部的聚集对象,中间聚类生成的簇叫中间聚类簇。 定义6后聚类:中间聚类结束后,计算每个中间聚类簇的 v …,v 1代表第i个点,v Dj表示第i个点的第j维的分量。 定义1网格单元:不妨设第i维上的分布点取值在区间[11’ hi)中, l 2一,n,将每一维分成P个不相交的左闭右开的等长区 问,这些区间就称为网格单元。这样,数据空问被分割成P 个 ,h;一1;、 中心作为初始中心点,然后对剩余的自由数据进行k—means聚 类,这一过程叫做后聚类,所产生的簇叫做后聚类簇。 1.2算法的基本思想 首先基于网格聚类分析的思想,对样本空间进行划分定义 网格单元集,将对象映射到相应的网格单元中,计算网格单元 的数据,由邻近的密集单元合并形成“中间聚类簇”(中间聚 网格单元,网格单元在第i维上的长度为8i: p ,第i维上的 的密度,标记密度大于密度阀值t的单元和密度小于密度l酬直 第j个区间段可由式(1) 计算机时代2010年第8期 ・ 5 ・ 类簇并不包含比较离散的自由数据);计算中间聚类簇的重心 个数。在本算法中,由于已经对数据集进行了基于密度和网格 使得中间聚类中心与最终聚类中心分布类 作为初始聚类中心点,计算自由数据到每个聚类中心的距离, 的中间聚类处理,将自由数据分配到最近的中间聚类中,形成“后聚类簇”;重新 似,这样对于自由数据进行K一均值聚类,需要的迭代次数就会 计算每个后聚类的初始聚类中心,若无变化则算法终止,若有 很小,相对的时间也会大大缩短。从以上的分析来看融合算法 变化则重新进行聚类,直到满足条件完成聚类。 网格定义本身就是一个难题,网格大小与放置对于聚类的 总的时间复杂度最大时为0(n)+O(2 X m’)+0(k X t×n),整个聚 类过程所需要的时问与数据集中的数据点数成线性关系,与维 2.2试验结果对比 结果具有很大的影响,如何划分网格对于算法非常重要。在融 数成指数关系,总体来阱融合聚类在时间上是高效的。合算法中,引入了一种新的函数用于网格的划分: O=一 实验的样本数据使用了著名的鸢尾花(Iris)数据集,该数据 式中,l。为第i分量的长度, 1,2,…,n。 “ 同时,基于网格的聚类非常依赖于密度阀值一r的选择, 过大或者过小都会影响算法的性能。在融合算法中,对于密度 阀值的确定,提出了一种新的算法: l Den(C.) l— Minpts= 式中Den(C ),i=l,2,…,N为密度最高的N个密集单元的密度 值,N的值视具体的数据而定。一般情况下将Den(C )降序排 列,如果Den(C.)与Den(C )发生明显跳变,则N=i。 1.3算法的步骤 根据】.2节算法基本思想的描述,算法的基本步骤如下。 step l:将数据空间划分为m个不相交、等长的网格单元, 定义网格单元集; step 2:将对象指派到合适的单元中; step 3:计算每个单元的密度; step 4:将密度大于密度阀值Minpts的网格标记为“密集单 元”,将密度小于密度阀值的单元中的数据标记为“自由数据”; step 5:反复任选一未被聚类的密集单元,将其和与之相邻 的密集单元合并为一簇,直至所有密集单元均被聚类,形成K 个“中问聚类”; step 6:计算这K个中间聚类的重心z.【l“,作为初始聚类 中心; step 7:反复任选一自由数据对象,计算其与k个初始聚类 中心的距离dis(x,C ),其中x为自由数据对象,C 为第i个类,若 dis(x,C.)最小,则X C。,直至不再存在自由数据,形成“后聚类”; step 8:重新计算后聚类的重心Zl{l’,若lZ。 ’Z, ”l 0 聚类结束,否则继续进行K一均值聚类,直到fZ,“ ’Z ’ ls完 成聚类。 2融合聚类算法的性能检验与分析 2.1时间复杂度分析 在本算法中,定义网格、将数据的对象映射到网格中并且 计算刚格密度,这一过程的时『日】复杂度为O(n),n为点的个数; 对于每个密集单元,检查所有与它相关联的密集单元生成簇, 假设密集单元的总个数为m’,与一个密集单元相关联的单元数 最大值为2 ,则这个过程的时间复杂度为0(2“×m’)。后聚类的 时间复杂度为O(k×t×n ),其中t是迭代次数,n’是自由数据的 集可以从加州大学欧文分校的机器学习数据库中得到。该数 据集包括3类花的4个特性:萼片宽度、萼片长度、花瓣宽度、花 瓣长度,共150条纪录。 首先,对比融合算法与网格聚类算法的聚类结果。使用 GB算法对数据进行聚类,得到的结果如图1所示。 图1 GB的聚类结果 从 1我们可以看出,网格聚类的结果丢失了很多点,聚类 结果不能令人满意。这是由于基于 格的聚类只处理高密度 区域,低密度区域会被丢弃,造成簇的丢失。但是使用融合聚 类得到的结果(如图2所示)要比网格聚类的结果好很多。 图2融合的聚类结果 接下来,对比融合聚类算法的聚类结果与K一均值聚类算 法的聚类结果。利用融合聚类算法进行多次试验,聚类的过程 经历了中间聚类、后聚类、1次迭代后便结束聚类,共得到3 类。每个类的初始中心在每个聚类阶段的值如表l所示。 ・ 6 ・ Computer Era No.8 2010 表1融合聚类结果 中间聚类 类0 6.633333333 3 l66666667 5 479 p9955 找更优的初始聚类中心,总是不断变化着聚类中心,使得算法 最终聚类 6.85 3.073684 5.742105 后聚类 6.840541 3.078378 5.751351 不能很陕收敛,算法的迭代次数也明显增加到1 1次。 2.23 I99978 2.113513 2.071053 类1 4.981818188 3.386363647 l 474999997 0.24545455 5.oo7843 3.4 1.494118 O 26I)784 5.o06 3.418 1.464 0.244 类2 6.273333327 2.693333356 4.533333365 L4()6666644 5.935484 2.754839 4.432258 1.424194 5.901613 2.748387 4.393548 1.433871 图4 K—means的初始聚类中心 综上所述,我们可以看出,基于凝聚度和分离度的簇的性 图3给出了该次聚类过程中聚类中心变化的折线图。图中 能评估,融合算法要优于K-means算法。每个类的聚类中心在每个阶段变化都不大,且迅速地收敛,这 3结束语 说明融合聚类算法得出的密集单元很好地模拟了数据集合中 本文所提出的融合聚类分析算法,取得了很好的实验结 密集区域的分布,很快地确定了K个初始聚类中心点,然后又 果。但算法仍然存在着不足之处,比如合适的密度阀值的选择 利用K一均值聚类将自由数据重新聚类,可以快速有效地完成 比较困难等,这些因素会影响到算法的性能,这也是今后需要 聚类。 我们继续研究和改进的地方。 参考文献: 【1】王敞,陈增强,袁著祉.基于遗传算法的K~均值聚娄分析【J】计算机科 学,2003 30(2):163—164 f2J王红睿,赵黎明,裴剑.均衡化的改琏均值聚类法[JJ.吉林大学学报(信 息科学版),2006.24(2):171~176 【3】Yanjun Li,Soon M.Chung.Parallel bisecting k-means with prediction clustering algorithm[J].Journal of Grid Computing, 2007.39:19-37 【4】岳士弘,王正友.二分网格聚粪方法及有效性【J】.计算机研究与发展, 2005.42(9):1505-1510 图3融合的初始聚类中心 15】曾蒙福,马亨冰.一种自适应网格聚类算法的研究【J】.福建电脑, 2006.3:105~106 利用K_均值聚类对Iris数据进行多次实验得到的结果,从 初始聚类中心到最终聚类中心变化都很大。如图4所示,在该 次聚类过程中,K-均值算法很随机地抽取了3个点作为初始聚 类中心,由于不能很好地捕获自然聚类的中心,算法不断地寻 【61 Pilevar,A.H.Sukumar.A grid—clustering algorithm for high-dimen— sional very large spatial data bases[J1.M Pattern Recognition Letters,2005.26(7):999~1011 (上接第3页) 以保证数据的一致眭,是数据库系统可靠性的基石。数据库的 一代混合型数据引擎的工作上,取得了令人欣慰的进展,并推 0混合数据管理产品。 增删改都会通过事务方式来完成。在混合引擎中,应很好地将 出了CGRS6. 事务机制与倒排列表的修改融合起来,使得对文本倒排索引的 参考文献: Navin Kabra,Raghu Ramakrishnan,Vuk Ercegovac.The QUIQ 修改是可控的且结构化数据保持一致。对于关键任务的应用 [1j来说,容错与I炙复也是很重要的特性。这也对IR中倒排索引的 更新与修改提出了更高的要求。事务失败,索引状态应回滚到 Engine:A Hybrid IRDB System[R].科技报告.TR一1449.美国成斯 康辛州麦迪逊:威斯康星一麦迪逊大学,2002 【21 Justin Zobe1.An Efficient Indexing Technique for Fu1l—text 前一个与数据一致的状态。事务提交,查询用户才能检索到索 引的当前状态。 Database Systems[AJ.第18次VLDB会议论文集fq.加拿大不列颠 哥伦比亚省温哥华,1992. 【3】Chun Zhang,Jerey F.Naughton,David J.DeWitt,Qiong Luo,Guy M.Lohman.,On supporting containment queries in relational 4结束语 虽然内核级融合的方案存在着一些必须克服的技术困难, 但这应该是面对结构化数据和文本混合应用难题时最值得探 索和实践的方向。浙江天宇信息技术有限公司,已经在研究新 database management systems[A].ACM SIGMOD会议论文集【C】. 美国加州圣巴巴拉,2001・ 潮