数据挖掘中聚类算法比较研究张红云,刘向东2段晓东2苗夺谦,马垣360刃,(同济大学电子与信息工程学院上海200092) r(大连民族学院计算机系大连11r(鞍山科技大学计算机科学与工程学院鞍山11 4002)万p3 P摘要羊锐词亲类算法是数据挖掘的核心技术,本文综合提出了评价聚类算法好坏的5个标准,基于这5个标准,对数据挖掘中常用教据挖拥平衡迭代削减聚类算法代表点聚类算法荃于密度的聚类算法聚类算法作了比较分析,以便于人们更容易、更快捷地找到一种适用于特定问题的聚类算法。THE COMPARISON OF CLUSTERING ETHODS MN DATA IMININGZhang Hongyurt Miao Duqi耐Liu Xiangdon犷Duan Xiaodong' Ma Yuan'r (Colege of Ele}ik aid 1} tiwt Engai” mg, Twoi Unirershy, .Shanghai 200092)z(及y}了Cwr pi"esr' Dalian Natiwmiiires U-为,Dahon 116607)' (Shwl of Carlanrer S&E, Aruhmt U 'ecn姆qf Si.- & Terhmlogy , Aiulam 114002)Abstract Clusteirng method is the tote of data mining technology. In this paper, ifve standards weepr ut forward which ate used to evaluate theseclusteirng methods.These clusteirng methods were compared and analyzed according to阮standards so that people tan easi污and quick妙find a clus-teirng method that suit a special problem.Keywords Data Mining BIRCH DBSCAN CURE1引言 把数据库中的对象分类是数据挖拇的基本操作,其准则是使属于同一类的个体间距离尽可能小,而不同类个体间距离尽可能大,为了找到效率高、通用性强的聚类方法人们从不同角度提出了近百种聚类方法,典型的有K - means方法、K - me-doids方法、CLARANS方法,BIRCH方法等,这些算法适用于特定的问题及用户。本文综合提出了评价聚类算法好坏的5个标准,基于这5个标准,对数据挖掘中常用聚类方法作了比较分析,以便于人们更容易、更快捷地找到一种适用于特定问题及用户的聚类算法。CURE算法等。木文对各聚类算法的比较研究基于以下5个标准: ①是否适用于大数据量, 算法的效率是否满足大数据量高复杂性的要求;②是否能应付不同的数据类型, 能否处理符号属性;③是否能发现不同类型的聚类; ④是否能应付脏数据或异常数据; ⑤是否对数据的输人顺序不敏感。 下面将在该框架下对各聚类算法作分析比较。 3数据挖掘常用聚类算法比较分析3.1 BIRCH算法 BIRCH算法即平衡迭代削减聚类法,其核心是用一个聚类特征3元组表示一个簇的有关信息,从而使一簇点的表示可用对应的聚类特征,而不必用具体的一组点来表示。它通过构造满足分支因子和簇直径限制的聚类特征树来求聚类。BIRCH算法通过聚类特征可以方便地进行中心、半径、直径及类内、类间距离的运算。算法的聚类特征树是一个具有两个参数分枝收稿日期2 001一09一12。本课颐得到困家博十后科研基金与辽宁省博士启动基金项目资助(2000014512)。张红云,博士生,主研领城:数据库与知识系统。2数据挖掘聚类算法研究及比较框架聚类算法一般分为分割和分层两种。分割聚类算法通过 优化评价函数把数据集分割为K个部分,它需要K作为输人参数。典型的分割聚类算法有K--算法, K一。edoids算法、CLARANS算法。分层聚类由不同层次的分割聚类组成,层次之间的分割具有嵌套的关系。它不需要输入参数,这是它优于分割聚类算法的一个明显的优点,其缺点是终止条件必须具体指定。典型的分层聚类算法有BIRCH算法,DBSCAN算法和5 万方数据因子B和类直径T的高度平衡树。分枝因子规定了树的每个节点子女的最多个数,而类直径体现了对一类点的直径大小的限制即这些点在多大范围内可以聚为一类,非叶子结点为它的子女的最大关键字,可以根据这些关键字进行插人索引,它总结了其子女的信息。 聚类特征树可以动态构造,因此不要求所有数据读人内存,而可以在外存上逐个读人。新的数据项总是插人到树中与该数据距离最近的叶子中。如果插人后使得该叶子的直径大于类直径T,则把该叶子节点分裂。其它叶子结点也需要检查是否超过分枝因子来判断其分裂与否,直至该数据插入到叶子中,并且满足不超过类直径,而每个非叶子节点的子女个数不大于分枝因子。算法还可以通过改变类直径修改特征树大小,控制其占内存容量。BI RCH算法通过一次扫描就可以进行较好的聚类,由此可见,该算法适合于大数据量。对于给定的M兆内存空间,其空间复杂度为。(、),日寸间复杂度为0 (dNBInB等).其中d为维数,N为节点数,P为内存页的大小,B为由P决定的分枝因子。v0花费与数据量成线性关系。BIRCH算法只适用于类的分布呈凸形及球形的情况,并且由于BIRCH算法需提供正确的聚类个数和簇直径限制,对不可视的高维数据不可行。3.2 CURE算法 CURE算法即使用代表点的聚类方法。该算法先把每个数据点看成一类,然后合并距离最近的类直至类个数为所要求的个数为止。CURE算法将传统对类的表示方法进行了改进,回避了用所有点或用中心和半径来表示一个类,而是从每一个类中抽取固定数量、分布较好的点作为描述此类的代表点,并将这些点乘以一个适当的收缩因子,使它们更靠近类的中心点。将一个类用代表点表示,使得类的外延可以向非球形的形状扩展,从而可调整类的形状以表达那些非球形的类。另外,收缩因子的使用减小了嗓音对聚类的影响。CURE算法采用随机抽样与分割相结合的办法来提高算法的空间和时间效率,并且在算法中用了堆和K一d树结构来提高算法效率。3.3 DBSCAN算法 DBSCAN算法即基于密度的聚类算法。该算法利用类的密度连通性可以快速发现任意形状的类。其基本思想是:对于一个类中的每个对象,在其给定半径的领域中包含的对象不能少于某一给定的最小数目。在DBSCAN算法中,发现一个类的过程是基于这样的事实:一个类能够被其中的任意一个核心对象所确定。为了发现一个类,DBSCAN先从对象集D中找到任意一刘象P,并查找D中关于关径伞和最小对象数Minpts的从P密度可达的所有对象。如果P是核心对象,即半径为Eps的P的邻域中包含的对象不少于Minpts,则根据算法,可以找到一个关于参数Eps和Minpts的类。如果P是一个边界点,则半径为Epe的P邻域包含的对象少于Minpts, P被暂时标注为噪声点。然后,DBSCAN处理D中的下一个对象。密度可达对象的获取是通过不断执行区域查询来实现的。 一个区域查询返回指定区域中的所有对象。为了有效地执行区域查询,DBSCAN算法使用了空间查询R一树结构。在进行聚类前,必须建立针对所有数据的R'一树。另外,DBSCAN要求用户指定一个全局参数Eds(为了减少计算量,预先确定参数Minpts)。为了确定取值,DBSCAN计算任意对象与它的第k万方数据个最临近的对象之间的距离。然后,根据求得的距离由小到大排序,并绘出排序后的图,称做k - dirt图。k - diet图中的横坐标表示数据对象与它的第k个最近的对象间的距离;纵坐标为对应于某一k- diet距离值的数据对象的个数o R'一树的建立和k - diet图的绘制非常消耗时间。此外,为了得到较好的聚类结果,用户必须根据k- diet图,通过试探选定一个比较合适的Ep.值。DBSCAN算法不进行任何的预处理而直接对整个数据集进行聚类操作。当数据量非常大时,就必须有大内存量支持,vo消耗也非常大。其时间复杂度为0(NIogN)(N为数据量),聚类过程的大部分时间用在区域查询操作上。DBSCAN算法对参数伞及Minpts非常敏感,且这两个参数很难确定。3.4 K一pootI3'P-算法 K- pototypas算法结合了K - =-方法和根据K--方法改进的能够处理符号属性的K一modes方法,同K一means方法相比,K一psepy-to算法能够处理符号属性。3.5 CLARANS算法CLARANS算法即随机搜索聚类算法,是一种分割聚类方 法。它首先随机选择一个点作为当前点,然后随机检查它周围不超过参数Mamei沙bm个的一些邻接点,假如找到一个比它更好的邻接点,则把它移人该邻接点,否则把该点作为局部最小量。然后再随机选择一个点来寻找另一个局部最小量,直至所找到的局部最小量数目达到用户要求为止。该算法要求聚类的对象必须都预先调人内存,并且需多次扫描数据集,这对大数据量而言,无论时间复杂度还是空间复杂度都相当大。虽通过引人R一树结构对其性能进行改善,使之能够处理基于磁盘的大型数据库,但R'-树的构造和维护代价太大。该算法对脏数据和异常数据不敏感,但对数据物人顺序异常敏感,且只能处理凸形或球形边界聚类。3.6 CLIQUE算法 CLIQUE 9法即自动子空间聚类算法。该算法利用自顶向上方法求出各个子空间的聚类单元。CUQUE算法主要用于找出在高维数据空间中存在的低维聚类。为了求出d维空间聚类,必须组合给出所有d-1维子空间的聚类,导致其算法的空间和时间效率都较低,而且要求用户轴人两个参数:数据取值空间等间隔距离和密度阔值。这2个参数与样木数据紧密相关,用户一般难以确定。CLIQUE算法对数据输人顺序不敏感。4总结基于上述分析,我们得到各聚类算法的比较结果, 结论如表I所示。表1取类蕊法比较结果衰 瑟墓适合的对掀据输人盈据发现的对脏数据或异常数据顺序的 类型浪类类型的敏绒性傲感性 BIRCH 高 数值凸形或球形不峨感不太敬感DBS1二J气P刁一般致值任意形状 饭感 教感 CURE 较高数位任意形状 不敏感不太敏感K一p材Im一般数值和符号凸形或球形敏感 一般 CI.ARANS较低数值凸形或球形不敏慈3卜常敏感CUQUE较低数值凸形或球形一般不峨感(下转第77页)强等因素,使生成的图像可用不同颜色表示不同的物质,增加了深度感。同时,汁算时间仅为传统空域算法的11100硬件和加速算法就更加有价值。目前,已有很多体绘制加速算法和加速硬件被开发出来,它们主要是在计算速度方面对原有算法做改进。但是要满足大数据量物体兰维可视化交互时的实时性,仍需做进一步的努力。3混合绘制算法 面绘制与体绘制技术各有优缺点,在某些情况下结合使用会取得更好的效果。文献til的绘制策略就是利用表面模型进行物体内部的导航,在观察到特殊部位时,再利用体绘制的高精度结果给用户一个满意的视野观察参考文献1]张感等,’ ‘交互式虚拟内鹿镜系统[J]",《中国图像图形学报》卜2002, 7(4)(1):36一43.以体绘制为主的混合绘制方法I t31这种方法基于体元模型, 与体绘制的RC法类似,只是结合{2〕薛强等,"Macrhing Boxes:一个多栩度等值面抽取算法【J ]",《计算机楠助设计与图形学学报), 1998,10(l):7一14.了面绘制的特点,在三维重建以前对需重建的体数据集进行数据分类,减少重建过程中所需处理的体元数量。该算法效果通真,速度较快。以面绘制为主的混合绘制方法Ua l该方法以而绘制为主,实现医学图像从二维到三维的重 [3]Dmg Jun Hi d al. Color assignment词boundary ehurlrmg in ifrequency-l - rendering of 3-D data二试A]. 4-6-P of Paciifc Gralrhice'95[ C 1, K.-: World lfcievtific,1996.24)一252.[4〕宛铭等,.‘改进的Dividing Cubes算法及其并行实现( J)",《计算机学报), 1998,21(3):752一260.【5]李冠峰等.“体可视化的快速光线投射算法DI",《工程图学学报》2 000,(3):97一102构,在需要同时显示多边形和体数据的混合场景中,引人体绘制的基本原理进行显示。这种混合绘制的方法在绘制速度和显示质量的综合评定上有所改进。[6〕唐泽圣,三维数据场可视化〔Ml,北京清华大学出版社1999〔7]陈寅秋等,“一个新的墓于3D纹理映射及Shearwsq变换的快速4总结体绘制方法[ J]"《计算机工程),1998,24(8):14 - 15,67.[8l车武军等,“一种体数据面绘制算法[Jl".《计算机相助设计与图形学学报), 2001,13(8):757一761. 面绘制方法绘制速度较快,便于交互控制。但是而绘制方法通常在等值面绘制中要生成大量曲面图元,这会带来一些问题,目前主要通过应用面片精简技术和各种加速算法来解决面绘制方法另一个缺点是构造的可视化图像不能反映整个原始数据场中的全貌及细节。[9]唐泽圣等,“用图像空间为序的体绘制技术显示三维数据场[J]",《计算机学报》, 1994,17(11):80卜808.[10]周勇等,“通过子区域投影方祛直接绘制三维数据场[J]",《计算机学报), V.I.17, No. 11, Now 1994, p:823一834【川宛铭等,“基于微机环境的三维致据场多等值面快速显示算法直接体绘制方法能够显示出非常丰富的信息,甚至连数据 场中细微的特征都不会丢失。但是体绘制的致命缺陷也源于[ J]".《软件学报》,1996,7(9):513一520.[121堵葛奥等,“一种三维数据场多表面显示方法[J1".M子学报),2001, 29(1):140-142此.大量计算带来了令用户无法忍受的等待时间。因此需要应用动态精简技术和各种软硬件加速算法使体绘制方法实用化。直接体绘制方法在显示效果方面有着面绘制方法所不可 比拟的优势。当计算速度不再成为障碍时,体绘制方法比起面绘制方法来有着更广阔的应用前景。因此,研究体绘制的加速[131王旭等,“墓于体索棋型的休绘制算法[J]",《西北工业大学学报),2 000,18(1):78一82[14」石绘等,“医学人体数据三维可视化方法的研究与实现[J]".(华中科特女学学拐、2001. 29自月"I一II升片}}i粉}}片i啥1}升月升粉片H升T}料荟争歼升升村升科片月片粉粉片片奋升洲十片H片升歼升粉争歼刹十片升1-}料什岭片升i扦片升升升科I"}}粉Hill;i升衬十降(上接第6页) 由于每个方法都有其特点和不同的适用领域,在数据挖掘中,用户应该根据实际需要选择恰当的聚类算法。t edrg of Hi沙Dim--l Data far Data Mining为钊icatioos. ACM SIG-MOD, 1998,72(2):94一105.[5」Christopher 1. , Philip K. , Systems f Knowledge Discvoeyir n Databasse.I EEE Trans. 0. Knowledge and Data F gineering.1993,5(6):903一913.t s.加C-.ACM,1997.参考文献 145 ) OPERSKI K. , H- J. , AdhdkayJ-, r Mining Knowledge in ge,guphic da-[1}Hang T. BIRCH. An efcimt data clustering method f veylr arge data-ha se.In: Pros of the ACM SICMOD Inten,utiunal Cod. on Msung ant ofDun, Monteral: ACM perss, 1996,93一94[7〕Fsyyad D. , Haussler D. , Mining Scientific Data, C:ommunieation fth eACM, 19%,39(t幻【2 1 Udipto Cuha, Rsstngi R, Shim K. CURE: A clusteirng algorithm for largedaubn旧 旧Tec .hnica] repotr,Bellleboratories,MocmyFiD,1997,67-78.1 998,73一94【8]Iruna, W. . Building the DaaWat rshmse. Boston: QED'rxhnical Publish-i ng Group, 1992,163一312f,〕Hangjun I,. Hiroshi Motoda, Hues IJu, KDD: Techniques and -seilpAt in.1o卯7卜3 - 12.〔3」Martin Ester, H,一Peter Kriegel.Jorg Surd- Xiaowei Xu.A desiyt-b ased algroithm fw Discoveycr lusters in large spatial detahse .dth noise.I n Proc.以2d, International Confemme.knowledge Discovery in Data-[101 Orlando, Florida, Win Mining end Knowledge Discoveyr:1he yr, Tools, madTec hnology. Proceedings of SPIE.11, 2000, 259一264.ba ses and DaaMit ning, Pmdand, Oregon, August, 1996.[ 111 KaysztfeJ. Coso, WiWd Pehya, Rome., W. Swiniarski, Data Mining Meth-ad s f+ Knowledge Discavey. rIn rduu, Kluwer Acdenuc, I99S, I一2077[4]Gehdce 1, Agrswal R. GunopulsD, o Behgaven P. Automatic Subspace Clus-万方数据