1、数据挖掘中聚类算法比较研究张红云 刘向东2 段晓东2 苗夺谦, 马 垣, (同济大学电子与信息工程学院 上海 2田的2) 2 (大连民族学院计算机系 大连 116日xl)3 (鞍山科技大学计算机科学与工程学院 鞍山 n 闷加2)摘 要 聚类算法是数据挖掘的核心技术,本文综合提出了评价聚类算法好坏的5个标准, 基于这 5 个标准, 对数据挖掘中常用聚类算法作了比较分析, 以便于人们更容易、更快捷地找到一种适用于特定问题的聚类算法。关键词 数据挖掘 平衡迭代削减聚类算法 代表点聚类算法 基于密度的聚类算法T H E OO MP AR IS O N OF C LUS r l犯侧四G MlEl ,H
2、O D S 刃N D A T A 倒田盯N GZh an g Hon 卿, Mi ao Du中an , Li u Xi an gdo n才 Du an l aod on 扩 M a yu 耐, (。止伙罗 of 及笼Zro 刀众: and lof 刀们目名如n 肠刁乡于记盯堵 , 几刀爵 Un itr 乃沪口沪妙口1 2。久刀2 )2(踌即法水叫 of 肠呷咖理灿2油乙Nat 如叨2沁 幼正汕”匆, 历乙必刀 1 6反义, )J (s认佣l 矿肠刀切以 S 是否能应付不同的数据类型 , 能否处理符号属性; 是否能发现不同类型的聚类; 是否能应付脏数据或异常数据; 是否对数据的输人顺序不敏感。下
3、面将在该框架下对各聚类算法作分析比较。3 数据挖掘常用聚类算法比较分析2 数据挖掘聚类算法研究及比较框架聚类算法一般分为分割和分层两种。 分割聚类算法通过优化评价函数把数据集分割为 K个部分, 它需要 K作为输人参数。 典型的分割聚类算法有 K- m e。算法、 K - m以】。ids 算法CLAR人NS算法。 分层聚类由不同层次的分割聚类组成, 层次之间的分割具有嵌套的关系。 它不需要输人参数, 这是它优于分割聚类算法的一个明显的优点 , 其缺点是终止条件必须具体指定。 典型的分层聚类算法有 BIR CH 算法、 D BS CAN 算法和3 . 1 BIB C H 算法BIR CH 算法即平
4、衡迭代削减聚类法 , 其核心是用一个聚类特征 3 元组表示一个簇的有关信息, 从而使一簇点的表示可用对应的聚类特征, 而不必用具体的一组点来表示。 它通过构造满足分支因子和簇直径限制的聚类特征树来求聚类。 BIRC H算法通过聚类特征可以方便地进行中心、半径、直径及类内、类间距离的运算。 算法的聚类特征树是一个具有两个参数分枝收稿日期: 2加1 一的一 12 。 本课题得到国家博士后科研基金与辽宁省博士启动基金项目资助(2 (】叉X】145 12) 。 张红云, 博士生 , 主研领域:数据库与知识系统。. 5因子 B 和类直径 T 的高度平衡树。 分枝因子规定了树的每个节点子女的最多个数, 而
5、类直径体现了对一类点的直径大小的限制, 即这些点在多大范围内可以聚为一类, 非叶子结点为它的子女的最大关键字, 可以根据这些关键字进行插人索引 , 它总结了其子女的信息。聚类特征树可以动态构造, 因此不要求所有数据读人内存, 而可以在外存上逐个读人。 新的数据项总是插人到树中与该数据距离最近的叶子中。 如果插人后使得该叶子的直径大于类直径 T , 则把该叶子节点分裂。 其它叶子结点也需要检查是否超过分枝因子来判断其分裂与否 , 直至该数据插入到叶子中, 并且满足不超过类直径, 而每个非叶子节点的子女个数不大于分枝因子。 算法还可以通过改变类直径修改特征树大小,控制其占内存容量。BD飞CH 算法
6、通过一次扫描就可以进行较好的聚类, 由此可见, 该算法适合于大数据量。 对于给定的 M兆内存空间 , 其空间复杂度为。( M) , 时、复杂度为。( 答) , 其中 d 为维数, N 为节点数, P 为内存页的大小, B 为由P 决定的分枝因子。F O 花费与数据量成线性关系。 BIR CH 算法只适用于类的分布呈凸悉及球形的旗况, 并且由于 因田C H 算法需提供正确的聚类个数和簇直径限制, 对不可视的高维数据不可行。3 . 2 Ct )R E 算法CIJRE 算法即使用代表点的聚类方法。 该算法先把每个数据点看成一类, 然后合并距离最近的类直至类个数为所要求的个数为止。 C切视算法将传统对
7、类的表示方法进行了改进, 回进了用所有点或用中心和半径来表示一个类, 而是从每一个类中抽取固定数量、分布较好的点作为描述此类的代表点, 并将这些点乘以一个适当的收缩因子 , 使它们更靠近类的中心点。将一个类用代表点表示 , 使得类的外延可以向非球形的形状扩展 , 从而可调整类的形状以表达那些非球形的类。 另外, 收缩因子的使用减小了噪音对聚类的影响。 C班IE 算法采用随机抽样与分割相结合的办法来提高算法的空间和时间效率, 并且在算法中用了堆和 K 一 d 树结构来提高算法效率。3 . 3 D BSC A N 算法D攻犯AN 算法即基于密度的聚类算法。 该算法利用类的密度连通性可以快速发现任意
8、形状的类。 其基本思想是: 对于一个类中的每个对象, 在其给定半径的领域中包含的对象不能少于某一给定的最小数目。 在 DBS( 拼入算祛中, 发现一个类的过程是基于这样的事实:一个类能够被其中的任意一个核心对象所确定。 为了发现一个类, DB义AN 先从对象集D 中找到任意一对象 P , 并查找 D 中关于关径 Eps 和最小对象数随nP ts 的从 P密度可达的所有对象。 如果 P 是核心对象, 即半径为 Eps 的 P的邻域中包含的对象不少于陇nPts , 则根据算法 , 可以找到一个关于参数助和 Mi nP ts 的类。 如果 P 是一个边界点, 则半径为伽的P 邻域包含的对象少于 Ml
9、n P怕, P 被暂时标注为噪声点。然后,钊治口以处理 D 中的下一个对象。街度可达对象的获取是通过不断执行区域查询来实现的。, 个尽雄意询瀑凤指定区城中的所有对象。 为了有效地执行区城查询旧比0 山算法使用了空间查询 R 一树结构。 在进行来类煎, 牵匆建立针对所有数据的 R 一 树。 另外, D理义, 入要求用户指定一个全局参数Ed a (为了减少计算量 ,预先确定参数禅i晌)o 为了确定孙值, D珑心训计算任惫对象与它的第 k, 性 .个最临近的对象之间的距离。 然后 , 根据求得的距离由小到大排序, 并绘出排序后的图, 称做 k 一 di at 图。 k 一 di st 图中的横坐标表
10、示数据对象与它的第k 个最近的对象间的距离;纵坐标为对应于某一 k 一 di st 距离值的数据对象的个数。 R 一 树的建立和k 一 dis t 图的绘制非常消耗时间。 此外, 为了得到较好的聚类结果, 用户必须根据 k 一 山at 图, 通过试探选定一个比较合适的E声值。 D且义沪入算法不进行任何的预处理而直接对整个数据集进行聚类操作。 当数据量非常大时, 就必须有大内存量支持, F o 消耗也非常大。 其时间复杂度为 0 (MO gN ) (N 为数据量) , 聚类过程的大部分时间用在区域查询操作上。 D代义沪入算法对参数助及珑n Pts 非常敏感, 且这两个参数很难确定。3 . 4 K
11、 一训勿勿p留算法K 一 卯协诊呷s 算法结合了 K 一 方法和根据 K 一方法改进的能够处理符号属性的 K 一 m司es 方法 , 同 K 一 Ine ans方法相比, K 一 卯句叭祀s 算法能够处理符号属性。3 . 5 C曰肠叭入S 算法CD妊以入S 算法即随机搜索聚类算法 , 是一种分割聚类方法。 它首先随机选择一个点作为当前点, 然后随机检查它周围不超过参数 M i剥刃r 个的一些邻接点, 假如找到一个比它更好的邻接点, 则把它移人该邻接点, 否则把该点作为局部最小量。 然后再随机选择一个点来寻找另一个局部最小量 , 直至所找到的局部最小量数目达到用户要求为止。 该算法要求聚类的对象
12、必须都预先调人内存, 并且需多次扫描数据集, 这对大数据量而言, 无论时间复杂度还是空间复杂度都相当大。 虽通过引人 R “ 一 树结构对其性能进行改善, 使之能够处理基于磁盘的大型数据库, 但R 一树的构造和维护代价太大。 该算法对脏数据和异常数据不敏感, 但对数据输人顺序异常敏感, 且只能处理凸形或球形边界聚类。3 . 6 CL IQUE 算法CIJ QUE 算法即自动子空间聚类算法。 该算法利用自顶向上方法求出各个子空间的聚类单元。 c u QLJE 算法主要用于找出在高维数据空间中存在的低维聚类。 为了求出 d 维空间聚类, 必须组合给出所有 d 一 1 维子空间的聚类, 导致其算法的
13、空间和时间效率都较低, 而且要求用户输人两个参数:数据取值空间等间隔距离和密度闽值。 这2 个参数与样本数据紧密相关, 用户一般难以确定。 Cu QtIE 算法对数据输人顺序不敏感。4 总 结基于上述分析, 我们得到各聚类算法的比较结果, 结论如表1所示。表 1 聚类算法比较结果表算法效率适合的数据类型发现的聚类类型对脏数据或异常数据BI RCHD B以二人刊CUI班K甲创脾C l消RA五SCU QUE高 数值一般 数值较高 数值一般数值和符号较低 数值较低 数值凸形或球形任意形状任意形状凸形或球形凸形或球形凸形或球形的敏感性不敏感敏感不敏感敏感不敏感一般对数据输人顺序的敏感性不太敏感敏感不太
14、敏感一般非常敏感不敏感(下转第7 页)强等因素, 使生成的图像可用不同颜色表示不同的物质, 增加了深度感。 同时, 计算时间仅为传统空域算法的 1/ 103 混合绘制算法硬件和加速算法就更加有价值。 目前, 已有很多体绘制加速算法和加速硬件被开发出来 , 它们主要是在计算速度方而对原有算法做改进。 但是要满足大数据量物体三维可视化交互时的实时性 , 仍需做进一步的努力。面绘制与体绘制技术各有优缺点, 在某些情况下结合使用会取得更好的效果。 文献【1的绘制策略就是利用表面模型进行物体内部的导航 , 在观察到特殊部位时 , 再利用体绘制的高精度结果给用户一个满意的视野观察。以体绘制为主的混合绘制方
15、法la这种方法墓于体元模型 , 与体绘制的RC 法类似, 只是结合了面绘制的特点, 在三维重建以前对需重建的体数据集进行数据分类, 减少重建过程中所需处理的体元数量。 该算法效果逼真, 速度较快。以面绘制为主的混合绘制方法4 1该方法以面绘制为主 , 实现医学图像从二维到三维的重构, 在需要同时显示多边形和体数据的混合场景中, 引人体绘制的基本原理进行显示。 这种混合绘制的方法在绘制速度和显示质量的综合评定上有所改进。参 考 文 献4 总 结面绘制方法绘制速度较快, 便于交互控制。 但是面绘制方法通常在等值面绘制中要生成大量曲面图元, 这会带来一些问题, 目前主要通过应用面片精简技术和各种加速
16、算法来解决。面绘制方法另一个缺点是构造的可视化图像不能反映整个原始数据场中的全貌及细节。直接体绘制方法能够显示出非常丰富的信息, 甚至连数据场中细微的特征都不会丢失。 但是体绘制的致命缺陷也源于此, 大量计算带来了令用户无法忍受的等待时间。 因此需要应用动态精简技术和各种软硬件加速算法使体绘制方法实用化。直接体绘制方法在显示效果方面有着面绘制方法所不可比拟的优势。 当计算速度不再成为障碍时 , 体绘制方法比起面绘制方法来有着更广阔的应用前景。 因此, 研究体绘制的加速【l 张惠等 , “交互式虚拟内窥镜系统【J” , 中国图像图形学报,2(X犯, 7 (A )(l ) : 3 6 一 43 .
17、【2 薛强等, “ M助山i鸣氏栩:一个多梢度等值面抽取算法【J弓” , 计算机辅助设计与图形学学报, 1卯8 , 10 (1 ) : 7 一 14.【3 。m g JUn 物i et 日. 以or o ig旧l班, t词h 灿旧脚。抽叩in g in fi r 以担en e yvol 卿d翻ng of 3一D d川a set 仁AJ 加众目j呼of 跑i6c G r即11 ics ,9 5C , K o Tea : w闭d 阮i即断c , 19火5. 240 一 25 2 .【4 宛铭等, “改进的以杭di ng C l lb昭 算法及其并行实现【J ” , 计算机学报, 19 8 , Zx
18、 (3) : 25 2 一 2印.【5 李冠峰等, “体可视化的快速光线投射算法仁J” , 工程图学学报,2 (XX) . (3 ) :97 一 102.【6 唐泽圣 , 三维数据场可视化M, 北京: 清华大学出版社 , l, ).【7 陈寅秋等, “一个新的基于 3D 纹理映射及 sh 。 节旧甲变换的快速体绘制方法【J” , (计算机工程, 1卯8 , 24 (8) : 14 一 巧 . 67.【8 车武军等. “一种体数据面绘制算法J ” , 计算机辅助设计与图形学学报, 2印1 , l 3( 8) : 757 一 76 1 .【9 唐泽圣等, “用图像空间为序的体绘制技术显示三维数据场
19、【J” .(什算机学报) , l望砰, 一7( 11) : 8() l 一姗.【10 周勇等, “通过子区域投影方法直接绘制三维数据场J ” , 计算机学报, 翎. 17 , No . l , No v l望抖 , p : 823 一 834 .【11宛铭等, “基于微机环境的三维数据场多等值面快速显示算法【J ” , 软件学报, 1姚. 7 (9) : 5 13 一 520.12 诸葛婴等, “一种三维数据场多表面显示方法J ” , 电子学报,2的1 , 29 ( 1) : 140 一 142 .【13 王旭等, “基于体素模型的体绘制算法J3” , 西北工业大学学报,2(XX) . 18
20、(l ) : 7 8 一 82.14 石绘等, “医学人体数据三维可视化方法的研究与实现【J” , 华中科技大学学报, 2 (X) l , 29 ( L2) : l 一 11 .(上接第6 页)由于每个方法都有其特点和不同的适用领域, 在数据挖掘中, 用户应该根据实际需要选择恰当的聚类算法。参 考 文 献1 Han g T . BI Rc H . n 。压e ien t d刊比 e lu st 晰n g m e th记 for y时城罗 da ta -b叹. In :氏犯 Of the A CM SIGMOD In te m如朋司 Co nf . 阅 Man 火笋m e n t ofDa ta
21、 Mon t r即二A C M p . 19 肠, 83 一 94 .【2 Ud iPto Cu ha , Ras t匆 R , shi m K . CURE : A clu s te对ng 目脚thm for la 叹笋da t曲哎忱 . 1eC俪司州卯d , 氏U肠奴此t耐e8 , M uc 哪伟U, l卯7 , 67 一 78 ,l卯8 , 7 3 一 84 .3 M创n Est er , Han s 一 Pet er “e ge l , Jo花 San der , xi xu.A d函ty -1业阂 习咖山川 for 肠 e 叮日u 叭e . in l哪e 红犯ti目 dat 助朋袱t
22、h n oi se .In P n祀 . or Zth In te 竹切山倪坦】O用屁两ce 印如。司曰邵 即皿巴守in 压ta -b a脚田日 Dat 珑ni n g , R 叭加司, 压铭加 , Au 脚t , 1望艘1.【4 G日uk e J . 长尸词 R .咖吻刘o6 D , 凡咖van P . Au l时i。 s 山, 比 a us -teri 鸣J 伟沙压 i1司】、坦 for l、ta Min ng A即11咖二. A C M SI C -MOD , 19 8 , 7 2(2 ) :叫一 105 .【5 伪“st 叩址r J . , 晰lip K . , Sy s t for
23、际ow一吨e 川sc o v恻 i。 压扭h 培图.IE EE T田妞 伪Kn ow 曰罗 an d la tu En 百neri n g . 19 3 , 5(6 ) :姗一 91 3. 6 o咫Rs KI K . , Han J. ,A南k呵J . , Min in g 肠耐司罗 in g曰嗯触Ih i。 由-ta , In G Jm . A CM , 1卯7.7 F a”ad U一 I玩姗lo n , , Min in g 反ien ti 6 e Dat , 。 u ni e at ion J th eACM , 1(巧巧 , 39(一1 ) . 8 b m朋 w . , B飞山n g
24、山。 D田a w are h二se . B, ton : QE n 饭俪司 内b一i由-i飞 C拟Jp , l卯2 , 163 一 312 .【9 HOr 匆un 切. 场明hi Mo t以坛, HUan 饰, KD D门议卜川甲es an d AP pl ica -ti m.1卯7 , 3 一 12 .20闭d o , R丽ds , 伪扭 Mi范n g 词肠。初。妙场sc o v e ry : Th eo ry 门切18 ,耐丁即坛扣1呵. R仪. 妇in , 试sPI E . l , 2(X刀, 25 9 一 2麟.【川 K几”耐J . a , , w it祝肠幻: , RD w . 鲡n i明ki , Dat a Mi ni ng Meth -司: for Kn 耐司罗 压 e ry . L”d即 , ( u weT Aed丽c . 1卯8 , l 一 20 .7 7