聚类算法研究综述
- 格式:pdf
- 大小:61.51 KB
- 文档页数:2
电脑知识与技术
本栏目责任编辑:闻翔军
数据库及信息管理
1引言
数据挖掘是指从从大量无序的数据中提取隐含的、有效的、可理解的、对决策有潜在价值的知识和规则,为用户提供问题求解层次的决策支持能力。数据挖掘主要的算法有分类模式、关联规则、决策树、序列模式、聚类模式分析、神经网络算法等等。聚类算法是一种有效的非监督机器学习算法,是数据挖掘中的一个非常重要的研究课题。当人们使用数据挖掘工具对数据中的模型和关系进行辨识的时候,通常第一个步骤就是聚类,其目的就是将集中的数据人为地划分成若干类,使簇内相似度尽可能大、簇间相似度尽可能小,以揭示这些数据分布的真实情况。但任何聚类算法都对数据集本身有一定的预先假设,根据文献[1]的理论,如果数据集本身的分布并不符合预先的假设,则算法的结果将毫无意义。因此,面对特定的应用问题,如何选择合适的聚类算法是聚类分析研究中的一个重要课题。本文比较了数据挖掘中现有聚类算法的性能,分析了它们各自的优缺点,并指出了其今后的发展趋势。
2聚类算法分类研究
聚类的目的是把大量数据点的集合分成若干类,使得每个类中的数据之间最大程度地相似,而不同类中的数据最大程度地不同。通常聚类算法可以分为层次聚类、分割聚类、密度型聚类、网格型聚类和其他聚类等几种。
2.1层次聚类
层次聚类算法通过将数据组织成若干组并形成一个相应的树状图来进行聚类,它又可以分为两类,即自底向上的聚合层次聚类和自顶向下的分裂层次聚类。聚结型算法采用自底向上的策略,首先把每个对象单独作为一个聚类,然后根据一定的规则合并成为越来越大的聚类,直到最后所有的对象都归入到一个聚类中。大多数层次聚类算法都属于聚结型算法,它们之间的区别在于类间相似度的定义不同。与聚结型算法相反,分裂型算法采用自顶向下的方法,它先将所有的对象都看成一个聚类,然后将其不断分解直至每个对象都独自归入一个聚类。一般情况下不使用分裂型方法,因为在较高的层次很难进行正确的拆分。纯粹的层次聚类算法的缺点在于一旦进行合并或分裂之后,就无法再进行调整。现在的一些研究侧重于层次聚类算法与循环的重新分配方法的结合。
主要的层次聚类算法有BIRCH,CURE,ROCK,
CHAMELEON,AMOEBA,COBWEB,ClusteringwithRandomWalks算法等。CURE算法[2]不用单个中心或对象来代表一个聚
类,而是选择数据空间中固定数目的、
具有代表性的一些点共同来代表相应的类,这样就可以识别具有复杂形状和不同大小的聚类,从而能很好地过滤孤立点。ROCK算法[3]是对CURE的改进,除了具有CURE算法的一些优良特性之外,它还适用于类别属性的数据。CHAMELEON算法[4]是Karypis等人于1999年提出来的,它在聚合聚类的过程中利用了动态建模的技术。
2.2分割聚类
分割聚类算法是另外一种重要的聚类方法。它先将数据点集分为k个划分,每个划分作为一个聚类,然后从这k个初始划分开始,通过重复的控制策略,使某个准则最优化,而每个聚类由其质心来代表(k-means算法),或者由该聚类中最靠近中心的一
个对象来代表(k-medoids算法),以达到最终的结果。
分割聚类算法收敛速度快,缺点在于它倾向于识别凸形分布大小相近、密度相近的聚类,不能发现分布形状比较复杂的聚类,它要求类别数目k可以合理地估计,并且初始中心的选择和噪声会对聚类结果产生很大影响。这类方法又可分为基于密度的聚类、基于网格的聚类等。
很多算法中都使用距离来描述数据之间的相似性,但是,对于非凸数据集,只用距离来描述是不够的。对于这种情况,要用密度来取代相似性,这就是基于密度的聚类算法。基于密度的算法从数据对象的分布密度出发,把密度足够大的区域连接起来,从而可以发现任意形状的类。此类算法除了可以发现任意形状的类,还能够有效去除噪声。
基于网格的聚类算法,把空间量化为有限个单元(即长方体或超长方体),然后对量化后的空间进行聚类。此类算法具有很快的处理速度。缺点是只能发现边界是水平或垂直的聚类,而不能检测到斜边界。此类算法具有很快的处理速度。时间复杂度一般由网格单元的数目决定,而与数据集的大小无关。此外,聚类的精度取决于网格单元的大小。此类算法不适用于高维情况,因为网格单元的数目随着维数的增加而呈指数增长。所有基于网格的聚类算法都存在下列问题:一是如何选择合适的单元大小和数目;二是怎样对每个单元中对象的信息进行汇总。
主要的分割聚类算法有k-means,EM,k-medoids,
收稿日期:2007-06-10
作者简介:项冰冰(1980-),女,安徽合肥人,安徽大学助教,工学学士,研究方向:数据挖掘,人工智能;钱光超(1982-),男,安徽安徽无为人,安徽大学计算机科学与技术学院05级研究生,工学学士。
聚类算法研究综述
项冰冰1,钱光超2
(1.安徽大学数学与计算科学学院安徽合肥23039;2.安徽大学计算机科学与技术学院安徽合肥230039)
摘要:聚类是数据挖掘中用来发现数据分布和隐含模式的一项重要技术。阐述了聚类算法基本原理,总结了聚类算法的研究现状,按照聚类算法的分类,分析比较了几种典型聚类的性能差异和各自存在的优点及问题,并结合应用需求指出了其今后的发展趋势。
关键词:数据挖掘;聚类分析;聚类算法
中图分类号:TP301.6
文献标识码:A文章编号:1009-3044(2007)12-21500-02TheResearchofClusteringAlgorithms
XIANGBing-bing1,QIANGuang-chao2
(1.SchoolofMathematicsandComputationalScience,AnhuiUniversity,Hefei,AnhuiProvince230039,China;2.SchoolofComputerScience
andTechnology,AnhuiUniversity,Hefei,AnhuiProvince230039,China)
Abstract:Clusteringisanimportanttechniqueindatamining.It’
susedtodiscoverthedatadistributionandconcealedpatterns.Thepaperelucidatethebasicprincipleoftheclusteringalgorithmsandsumupthecontemporaryresearchoftheclusteringalgorithms.Italsoanalyzeafewrepresentativeclusteringalgorithmsandcomparetheirdifferences,advantagesanddisadvantages.Atlast,thepaperindicatethedevelopmenttrendofclusteringintegratingtheapplicationdemand.
Keyword:Datamining;ClusteringAnalysis;ClusteringAlgorithms
1500