文档库 最新最全的文档下载
当前位置:文档库 › 数据挖掘中的聚类算法综述

数据挖掘中的聚类算法综述

数据挖掘中的聚类算法综述
数据挖掘中的聚类算法综述

收稿日期:2006201204;修返日期:2006203219基金项目:国家自然科学基金资助项目(60473117)

数据挖掘中的聚类算法综述

3

贺 玲,吴玲达,蔡益朝

(国防科学技术大学信息系统与管理学院,湖南长沙410073)

摘 要:聚类是数据挖掘中用来发现数据分布和隐含模式的一项重要技术。全面总结了数据挖掘中聚类算法的研究现状,分析比较了它们的性能差异和各自存在的优点及问题,并结合多媒体领域的应用需求指出了其今后的发展趋势。

关键词:数据挖掘;聚类;聚类算法

中图法分类号:TP391 文献标识码:A 文章编号:100123695(2007)0120010204

Survey of Clustering A lgorith m s in Data M ining

HE L ing,WU L ing 2da,CA I Yi 2chao

(College of Infor m ation Syste m &M anage m ent,N ational U niversity of D efense Technology,Changsha Hunan 410073,China )

Abstract:Clustering is an i m portant technique in Data M ining (DM )f or the discovery of data distributi on and latent data

pattern .This paper p r ovides a detailed survey of current clustering algorith m s in DM at first,then it makes a comparis on a mong the m,illustrates the merits existing in the m,and identifies the p r oblem s t o be s olved and the ne w directi ons in the fu 2ture according t o the app licati on require ments in multi m edia domain .Key works:Data M ining;Clustering;Clustering A lgorith m

1 引言

随着信息技术和计算机技术的迅猛发展,人们面临着越来越多的文本、图像、视频以及音频数据,为帮助用户从这些大量数据中分析出其间所蕴涵的有价值的知识,数据挖掘(Data

M ining,DM )技术应运而生。所谓数据挖掘,就是从大量无序

的数据中发现隐含的、有效的、有价值的、可理解的模式,进而发现有用的知识,并得出时间的趋向和关联,为用户提供问题求解层次的决策支持能力。与此同时,聚类作为数据挖掘的主要方法之一,也越来越引起人们的关注。

本文比较了数据挖掘中现有聚类算法的性能,分析了它们各自的优缺点并指出了其今后的发展趋势。

2 DM 中现有的聚类算法

聚类是一种常见的数据分析工具,其目的是把大量数据点的集合分成若干类,使得每个类中的数据之间最大程度地相似,而不同类中的数据最大程度地不同。在多媒体信息检索及数据挖掘的过程中,聚类处理对于建立高效的数据库索引、实现快速准确的信息检索具有重要的理论和现实意义。

本文以聚类算法所采用的基本思想为依据将它们分为五类,即层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法以及用于高维数据的聚类算法,如图1所示。

聚类

层次聚类算法

聚合聚类:Single 2L ink,Comp lete 2L ink,Average 2L ink 分解聚类

分割聚类算法基于密度的聚类基于网格的聚类

基于图论的聚类

基于平方误差的迭代重分配聚类:概率聚类、最近邻

聚类、K 2medoids 、K 2means

基于约束的聚类算法

机器学习中的聚类算法

人工神经网络方法

基于进化理论的方法:模拟退火、遗传算法用于高维数据的聚类算法

子空间聚类

联合聚类

图1 聚类算法分类示意图

211 层次聚类算法

层次聚类算法通过将数据组织成若干组并形成一个相应的树状图来进行聚类,它又可以分为两类,即自底向上的聚合层次聚类和自顶向下的分解层次聚类。聚合聚类的策略是先将每个对象各自作为一个原子聚类,然后对这些原子聚类逐层进行聚合,直至满足一定的终止条件;后者则与前者相反,它先将所有的对象都看成一个聚类,然后将其不断分解直至满足终止条件。

对于聚合聚类算法来讲,根据度量两个子类的相似度时所依据的距离不同,又可将其分为基于Single 2L ink,Comp lete 2L ink 和Average 2L ink 的聚合聚类。Single 2L ink 在这三者中应用最为广泛,它根据两个聚类中相隔最近的两个点之间的距离来评价这两个类之间的相似程度,而后两者则分别依据两类中数据点之间的最远距离和平均距离来进行相似度评价。

CURE,ROCK 和CHAME LE ON 算法是聚合聚类中最具代

表性的三个方法。

Guha 等人在1998年提出了C URE 算法

[1]

。该方法不用

单个中心或对象来代表一个聚类,而是选择数据空间中固定数目的、具有代表性的一些点共同来代表相应的类,这样就可以

识别具有复杂形状和不同大小的聚类,从而能很好地过滤孤立点。ROCK算法[2]是对C URE的改进,除了具有CURE算法的一些优良特性之外,它还适用于类别属性的数据。CHAME2 LE ON算法[3]是Karyp is等人于1999年提出来的,它在聚合聚类的过程中利用了动态建模的技术。

212 分割聚类算法

分割聚类算法是另外一种重要的聚类方法。它先将数据点集分为k个划分,然后从这k个初始划分开始,通过重复的控制策略使某个准则最优化以达到最终的结果。这类方法又可分为基于密度的聚类、基于网格的聚类、基于图论的聚类和基于平方误差的迭代重分配聚类。

21211 基于密度的聚类

基于密度的聚类算法从数据对象的分布密度出发,将密度足够大的相邻区域连接起来,从而可以发现具有任意形状的聚类,并能有效处理异常数据。它主要用于对空间数据的聚类。

DBSCAN[4]是一个典型的基于密度的聚类方法,它将聚类定义为一组密度连接的点集,然后通过不断生长足够高密度的区域来进行聚类。DE NCLUE[5]则根据数据点在属性空间中的密度来进行聚类。从本质上讲,DE NC LUE是基于密度的聚类算法与基于网格的预处理的结合,它受目标数据的维度影响较小。此外,Ankerst等人提出的OPTI CS,Xu等人提出的DB2 C LAS D和马帅等人提出的CURD算法也采用了基于密度的聚类思想,它们均针对数据在空间中呈现的不同密度分布对DB2 SCAN作了相应的改进。

21212 基于网格的聚类

基于网格的聚类从对数据空间划分的角度出发,利用属性空间的多维网格数据结构,将空间划分为有限数目的单元以构成一个可以进行聚类分析的网格结构。该方法的主要特点是处理时间与数据对象的数目无关,但与每维空间所划分的单元数相关;而且,基于其间接的处理步骤(数据→网格数据→空间划分→数据划分),该方法还与数据的输入顺序无关。与基于密度的聚类只能处理数值属性的数据所不同的是,基于网格的聚类可以处理任意类型的数据,但以降低聚类的质量和准确性为代价。

STI N G[6]是一个基于网格多分辨率的聚类方法,它将空间划分为方形单元,不同层次的方形单元对应不同层次的分辨率。STI N G+[7]则对其进行了改进以用于处理动态进化的空间数据。CL I Q UE[8]也是一个基于网格的聚类算法,它结合了网格聚类与密度聚类的思想,对于处理大规模高维数据具有较好的效果。除这些算法以外,以信号处理思想为基础的W ave2 Cluster[9]算法也属基于网格聚类的范畴。

21213 基于图论的聚类

基于图论的方法是把聚类转换为一个组合优化问题,并利用图论和相关的启发式算法来解决该问题。其做法一般是先构造数据集的最小生成树(M ini m al Spanning Tree,MST),然后逐步删除M ST中具有最大长度的那些边,从而形成更多的聚类。基于超图的划分和基于光谱的图划分方法[10]是这类算法的两个主要应用形式。该方法的一个优点在于它不需要进行一些相似度的计算,就能把聚类问题映射为图论中的一个组合优化问题。21214 基于平方误差的迭代重分配聚类

基于平方误差的重分配聚类方法的主要思想是逐步对聚类结果进行优化、不断将目标数据集向各个聚类中心进行重新分配以获得最优解(判断是否是最优解的目标函数通常通过平方误差计算法得到)。此类方法又可进一步分为概率聚类算法、考虑了最近邻影响的最近邻聚类算法以及K2medoids算法和K2means算法。

(1)概率聚类算法的重要代表是M itchell等人于1997年提出的期望最大化算法(Expectati on Maxi m izati on,E M)[11]。它除了能处理异构数据之外,还具有另外几个重要的特性:①能处理具有复杂结构的记录;②能够连续处理成批的数据;③具有在线处理能力;④产生的聚类结果易于解释。

(2)最近邻距离的计算在聚类过程中起着基础性的作用,这也正是导致产生最近邻聚类算法的直接因素。共享最近邻算法(Shared Nearest Neighbor,S NN)[12]就是该类算法的典型代表之一,它把基于密度的方法与ROCK算法的思想结合起来,通过只保留数据点的K个最近邻居从而简化了相似矩阵,并且也保留了与每个数据点相连的最近邻居的个数,但是其时间复杂度也提高到了O(N2)(N为数据点个数)。

(3)K2medoids方法用类中的某个点来代表该聚类,这种方法能有效处理异常数据。它的两个最早版本是P AM和C LARA算法[13],此后又有CLARANS[14]及其一系列的扩展算法。这类方法具有两个优点:它能处理任意类型的属性;它对异常数据不敏感。

(4)K2means算法是目前为止应用最为广泛的一种聚类方法,其每个类别均用该类中所有数据的平均值(或加权平均)来表示,这个平均值即被称作聚类中心。该方法虽然不能用于类别属性的数据,但对于数值属性的数据,它能很好地体现聚类在几何和统计学上的意义。但是,原始K2means算法也存在如下缺陷:①聚类结果的好坏依赖于对初始聚类中心的选择;

②容易陷入局部最优解;③对K值的选择没有准则可依循;④对异常数据较为敏感;⑤只能处理数值属性的数据;⑥聚类结果可能不平衡。

为克服原始K2means算法存在的不足,研究者从各自不同的角度提出了一系列K2means的变体,如B radley和Fayyad等人从降低聚类结果对初始聚类中心的依赖程度入手对它作了改进,同时也使该算法能适用于大规模的数据集[15];Dhill on等人则通过调整迭代过程中重新计算聚类中心的方法使其性能得到了提高[16];Zhang等人利用权值对数据点进行软分配以调整其迭代优化过程[17];Pelleg等人提出了一个新的X2means算法来加速其迭代过程[18];Sarafis则将遗传算法应用于K2means 的目标函数构建中,并提出了一个新的聚类算法[19];为了得到平衡的聚类结果,文献[20]利用图论的划分思想对K2means 作了改进;文献[21]则将原始算法中的目标函数对应于一个各向同性的高斯混合模型;Berkhin等人[22]将K2means的应用扩展到了分布式聚类。

213 基于约束的聚类算法

真实世界中的聚类问题往往是具备多种约束条件的,然而由于在处理过程中不能准确表达相应的约束条件、不能很好地利用约束知识进行推理以及不能有效利用动态的约束条件,使

得这一方法无法得到广泛的推广和应用。这里的约束可以是对个体对象的约束,也可以是对聚类参数的约束,它们均来自相关领域的经验知识。该方法的一个重要应用在于对存在障碍数据的二维空间数据进行聚类。C OD(Clustering with Ob2 structed D istance)[23]就是处理这类问题的典型算法,其主要思想是用两点之间的障碍距离取代了一般的欧氏距离来计算其间的最小距离。更多关于这一聚类算法的总结可参考文献[24]。

214 机器学习中的聚类算法

机器学习中的聚类算法是指与机器学习相关、采用了某些机器学习理论的聚类方法,它主要包括人工神经网络方法以及基于进化理论的方法。

自组织映射(Self2O rganizing Map,S OM)[25]是利用人工神经网络进行聚类的较早尝试,它也是向量量化方法的典型代表之一。该方法具有两个主要特点:①它是一种递增的方法,即所有的数据点是逐一进行处理的;②它能将聚类中心点映射到一个二维的平面上,从而实现可视化。此外,文献[26]中提出的一种基于投影自适应谐振理论的人工神经网络聚类也具有很好的性能。

在基于进化理论的聚类方法中,模拟退火的应用较为广泛,SI N I CC算法[27]就是其中之一。在模拟退火中经常使用到微扰因子,其作用等同于把一个点从当前的聚类重新分配到一个随机选择的新类别中,这与K2means中采用的机制有些类似。遗传算法也可以用于聚类处理,它主要通过选择、交叉和变异这三种遗传算子的运算以不断优化可选方案从而得到最终的聚类结果。

利用进化理论进行聚类的缺陷在于它依赖于一些经验参数的选取,并且具有较高的计算复杂度。为了克服上述不足之处,有研究者尝试组合利用多种策略,如将遗传算法与K2means结合起来,并且使用变长基因编码,这样不仅能提高K2means算法的效率,还能运行多个K2means算法以确定合适的K值[28]。215 用于高维数据的聚类算法

高维数据聚类是目前多媒体数据挖掘领域面临的重大挑战之一。对高维数据聚类的困难主要来源于以下两个因素:①高维属性空间中那些无关属性的出现使得数据失去了聚类趋势;②高维使数据之间的区分界限变得模糊。除了降维这一最直接的方法之外,对高维数据的聚类处理还包括子空间聚类以及联合聚类技术等。

CACT US[29]采用了子空间聚类的思想,它基于对原始空间在二维平面上的一个投影处理。C L I Q UE也是用于数值属性数据的一个简单的子空间聚类方法,它不仅同时结合了基于密度和基于网格的聚类思想,还借鉴了Ap ri ori算法,并利用MDL (M ini m u m Descri p ti on Length)原理选择合适的子空间。

联合聚类对数据点和它们的属性同时进行聚类。以文本为例,文献[30]中提出了文本联合聚类中一种基于双向划分图及其最小分割的代数学方法,并揭示了联合聚类与图论划分之间的关系。

3 现有聚类算法的性能比较

从上面的分析介绍不难看出,这些现有的聚类算法在不同的应用领域中均表现出了不同的性能,也就是说,很少有一种算法能同时适用于若干个不同的应用背景。

总体来说,分割聚类算法的应用最为广泛,其收敛速度快,且能够扩展以用于大规模的数据集;缺点在于它倾向于识别凸形分布、大小相近、密度相近的聚类,而不能发现形状比较复杂的聚类,并且初始聚类中心的选择和噪声数据会对聚类结果产生较大的影响。层次聚类方法不仅适用于任意属性和任意形状的数据集,还可以灵活控制不同层次的聚类粒度,因此具有较强的聚类能力,但它大大延长了算法的执行时间;此外,对层次聚类算法中已经形成的聚类结构不能进行回溯处理。基于约束的聚类通常只用于处理某些特定应用领域中的特定需求。机器学习中的人工神经网络和模拟退火等方法虽然能利用相应的启发式算法获得较高质量的聚类结果,但其计算复杂度往往较高,同时其聚类结果的好坏也依赖于对某些经验参数的选取。在针对高维数据的子空间聚类和联合聚类等算法中,虽然通过在聚类过程中选维、逐维聚类和降维从一定程度上减少了高维度带来的影响,但它们均不可避免地带来了原始数据信息的损失和相应的聚类准确性的降低,因此,寻求这类算法在聚类质量和算法时间复杂度之间的折中也是一个重要的问题。

本文选取聚类算法所处理的目标数据的属性(数值型N/类别型C)、算法的时间复杂度、能否处理大规模数据集、能否处理异常数据(噪声数据)、能否处理高维数据、能否发现复杂的聚类形状、是否受初始聚类中心影响以及是否受数据输入顺序影响这八个参数,总结比较了一些有代表性的算法的性能,如表1所示。

表1 部分聚类算法性能总结与比较

聚类算法

目标数

据属性

时间

复杂度

能否

处理

大数

据集

能否

处理

异常

能否

处理

高维

数据

能否发

现复杂

形状的

聚类

是否受

初始聚

类中心

的影响

是否受数据

输入顺序的

影响CURE N O(n2sa mp le)能能否能否否

DBS CAN N O(n l og n)能能否能是是

W ave2

Cluster

N或C O(n)能能能能否否

Hy per2

graphic

N或C O(n)能能能否否否

C LARANS N或C O(n2)能能否能否否

K2means N O(n)能否否否是是

S NN N或C O(n2)否能能能否否

G A N

与适应度

函数相关

能能否能是是

表1中,算法的时间复杂度都是针对低维数据而言的,K2 means和G A也均为原始的标准算法;n为目标数据的数目,对于CURE算法来讲,由于它的执行依赖于对样本集(Sa mp le)的选择,所以其时间复杂度由样本集的数据数目来决定。

从表1中反映出来的一个最突出的问题在于,这些算法绝大多数不适用于高维数据,而那些少数可以用于高维数据的算法,其时间复杂度也往往会随着维度的升高而显著增高。

总之,虽然一些算法相对其他方法在某些方面的性能有了一定程度的提高,但它不可能在任何应用背景下均具有很好的结果,即几乎没有一个算法能同时在表1中所示的八个方面都具有优良的性能。因此对于它们的改进还有一个相当大的空间。

4 总结与展望

聚类算法的研究具有广泛的应用前景,其今后的发展也面

临着越来越多的挑战。以其在多媒体领域中的应用为例,鉴于多媒体特征数据本身所具备的高维性、复杂性、动态性以及容易达到大规模的特性,对多媒体数据聚类算法的设计还应该更多地考虑以下几个方面的内容:

(1)融合不同的聚类思想形成新的聚类算法,从而综合利用不同聚类算法的优点。

(2)处理大规模数据和高维数据的能力,这是多媒体数据挖掘中聚类算法必须解决的关键问题。

(3)对聚类的结果进行准确评价,以判断是否达到最优解,这也自然要求聚类结果具有可解释性。

(4)选取合适的聚类类别数,这是一个重要的参数。它的确定应更多地依赖于相关的经验知识以及对目标数据集所进行的必要的预处理。

(5)对数据进行合理的预处理。该过程包括对高维数据以及对大规模数据建立索引等,它不仅是实现(4)的前提之一,也为获得更准确的聚类结果提供了一个重要的手段。

(6)在聚类过程中使用合适的相似计算公式及评价准则。

作用。

(7)将领域知识引入聚类过程。领域知识的引入不仅有助于选择合适的模式表达机制、选择合适的聚类算法,还能使以上很多方面的问题都能得到合理的解决,从而提高相应的聚类算法的性能。

在多媒体数据聚类的应用中,对原始数据如图像等进行特征提取,并用这些特征数据代替原始数据进行聚类,均体现了领域知识的融合。

参考文献:

[1]Guha S,Rast ogi R,Shi m K.CURE:An Efficient Clustering A lgo2

rithm f or Large Databases[C].Seattle:Pr oceedings of the AC M SI G2 MOD Conference,1998.73284.

[2]Guha S,Rast ogi R,Shi m K.ROCK:A Robust Clustering A lgorithm

for Categorical A ttributes[C].Sydney:Pr oceedings of the15th I C2 DE,1999.5122521.

[3]Karyp is G,Han E2H,Kumar V.CHAMELEON:A H ierarchical

Clustering A lgorithm U sing Dyna m ic Modeling[J].I EEE Computer,

1999,32(8):68275.

[4]EsterM,Kriegel H2P,Sander J,et al.A Density2based A lgorithm

for D iscovering Clusters in Large Spatial Databases with Noise[C].

Portland:Pr oceedings of the2nd AC M SI GK DD,1996.2262231. [5]H inneburg A,Kei m D.An Efficient App r oach t o Clustering Large

Multi m edia Databases with Noise[C].New York:Pr oceedings of the

4th AC M SI GK DD,1998.58265.

[6]W ang W,Yang J,Muntz R.STI N G:A Statistical I nfor mati on Grid

App r oach t o Spatial Data M ining[C].A thens:Pr oceedings of the

23rd Conference on VLDB,1997.1862195.

[7]W ang W,Yang J,Muntz R R.STI N G+:An App r oach t o Active

Spatial Data M ining[C].Sydney:Pr oceedings of the15th I CDE,

1999.1162125.

[8]Agrawal R,Gehrke J,Gunopul os D,et al.Aut omatic Subs pace

Clustering of H igh D i m ensi onal Data for Data M ining App licati ons

[C].Seattle:Pr oceedings of the AC M SI G MOD Conference,1998.

942105.

[9]Sheikholesla m i G,Chatterjee S,Zhang A.W aveCluster:A Multires o2

luti on Clustering App r oach f or Very Large Spatial Databases[C].

Ne w York:Pr oceedings of the24th Conference on VLDB,1998.4282

439.

[10]Chris D ing.A Tut orial on Spectral Clustering[C].I C ML,2004.

[11]M itchell T.Machine Learning[M].Ne w York:McGra w2H ill,1997.

[12]Ert oz L,Steinbach M,Kumar V.Finding Clusters of D ifferent Sizes,

Shapes,and Densities in Noisy,H igh D i m ensi onal Data[R].

M inneapolis:University of M innes ota,2002.

[13]Kauf man L,Rousseeuw P.Finding Gr oup s in Data:An I ntr oducti on

t o Cluster Analysis[M].New York:John W iley and Sons,1990. [14]Ng R,Han J.Efficient and Effective Clustering Methods f or Spatial

Data M ining[C].Santiago:Pr oceedings of the20th Conference on VLDB,1994.1442155.

[15]B radley P,Fayyad U.Refining I nitial Points for K2means Clustering

[C].Madis on:Pr oceedings of the15th I C ML,1998.91299.

[16]Dhill on I,Guan Y,Kogan J.Refining Clusters in H igh D i m ensi onal

Data[C].A rlingt on:The2nd SI A M I CDM,Workshop on Clustering

H igh D i m ensi onal Data,2002.

[17]Zhang B.Generalized K2har monic Means:Dynam ic W eighting of Da2

ta in Unsupervised Learning[C].Chicago:Pr oceedings of the1st SI2 AM I CDM,2001.

[18]Pelleg D,Moore A.X2means:Extending K2means with Efficient Esti2

mati on of the Number of the Clusters[C].Pr oceedings of the17th I C2 ML,2000.

[19]Sarafis I,Zalzala A M S,Trinder P W.A Genetic Rule2based Data

Clustering Toolkit[C].Honolulu:Congress on Evoluti onary Compu2 tati on(CEC),2002.

[20]Strehl A,Ghosh J.A Scalable App r oach t o Balanced,H igh2di m en2

si onal Clustering of Market Baskets[C].Pr oceedings of the17th I n2 ternati onal Conference on H igh Perfor mance Computing,Bangal ore:

Sp ringer LNCS,2000.5252536.

[21]Banerjee A,Ghosh J.On Scaling up Balanced Clustering A lgorithm s

[C].A rlingt on:Pr oceedings of the2nd SI A M I CDM,2002.

[22]Berkhin P,Becher J.Learning Si m p le Relati ons:Theory and App lica2

ti ons[C].A rlingt on:Pr oceedings of the2nd SI A M I CDM,2002.3332 349.

[23]Tung A K H,Hou J,Han J.Spatial Clustering in the Presence of Ob2

stacles[C].Heidelberg:Pr oceedings of the17th I CDE,2001.3592 367.

[24]Han J,KamberM,Tung A K H.Spatial ClusteringMethods in Data

M ining:A Survey[C].Geographic Data M ining and Knowledge D is2 covery,2001.

[25]Kohonen T.Self2O rganizing Map s[M].Sp ringer Series in I nf or ma2

ti on Sciences,2001.30.

[26]Yongqiang Cao,J ianhongW u.Dyna m ics of Pr ojective Adap tive Res o2

nance Theory Model:The Foundati on of P ART A lgorithm[J].I EEE Transacti ons on Neural Net w ork,2004,15(2):2452260.

[27]B r own D,Huntley C.A Practical App licati on of Si m ulated Annealing

t o Clustering[R].University of V irginia,1991.

[28]Crist ofor D,Si m ovici D A.An I nfor mati on2theoretical App r oach t o

Clustering Categorical Databases U sing Genetic A lgorithm s[C].A r2 lingt on:The2nd SI A M I CDM,Workshop on Clustering H igh D i m en2 si onal Data,2002.

[29]Ganti V,Gehrke J,Ra makrishna R.CACT US2Clustering Categorical

Data U sing Summaries[C].San D iego:Pr oceedings of the5th AC M

SI GK DD,1999.73283.

[30]Dhill on I.Co2clustering Documents and Words U sing B i partite Spec2

tral Graph Partiti oning[C].San Francis o:Pr oceedings of the7th AC M SI GK DD,2001.2692274.

作者简介:

贺玲(19762),女,博士研究生,主要研究方向为多媒体信息系统、多媒体数据挖掘;吴玲达,女,教授,博导,主要研究方向为多媒体信息系统与虚拟现实技术;蔡益朝(19762),主要研究方向为智能决策。

数据挖掘中的聚类分析方法

计算机工程应用技术本栏目责任编辑:贾薇薇 数据挖掘中的聚类分析方法 黄利文 (泉州师范学院理工学院,福建泉州362000) 摘要:聚类分析是多元统计分析的重要方法之一,该方法在许多领域都有广泛的应用。本文首先对聚类的分类做简要的介绍,然后给出了常用的聚类分析方法的基本思想和优缺点,并对常用的聚类方法作比较分析,以便人们根据实际的问题选择合适的聚类方法。 关键词:聚类分析;数据挖掘 中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)12-20564-02 ClusterAnlaysisMethodsofDataMining HUANGLi-wen (SchoolofScience,QuanzhouNormalUniversity,Quanzhou362000,China) Abstract:Clusteranalysisisoneoftheimportantmethodsofmultivariatestatisticalanalysis,andthismethodhasawiderangeofapplica-tionsinmanyfields.Inthispaper,theclassificationoftheclusterisintroducedbriefly,andthengivessomecommonmethodsofclusteranalysisandtheadvantagesanddisadvantagesofthesemethods,andtheseclusteringmethodwerecomparedandanslyzedsothatpeoplecanchosesuitableclusteringmethodsaccordingtotheactualissues. Keywords:ClusterAnalysis;DataMining 1引言 聚类分析是数据挖掘中的重要方法之一,它把一个没有类别标记的样本集按某种准则划分成若干个子类,使相似的样品尽可能归为一类,而不相似的样品尽量划分到不同的类中。目前,该方法已经被广泛地应用于生物、气候学、经济学和遥感等许多领域,其目的在于区别不同事物并认识事物间的相似性。因此,聚类分析的研究具有重要的意义。 本文主要介绍常用的一些聚类方法,并从聚类的可伸缩性、类的形状识别、抗“噪声”能力、处理高维能力和算法效率五个方面对其进行比较分析,以便人们根据实际的问题选择合适的聚类方法。 2聚类的分类 聚类分析给人们提供了丰富多彩的分类方法,这些方法大致可归纳为以下几种[1,2,3,4]:划分方法、层次方法、基于密度的聚类方法、基于网格的聚类方法和基于模型的聚类方法。 2.1划分法(partitiongingmethods) 给定一个含有n个对象(或元组)的数据库,采用一个划分方法构建数据的k个划分,每个划分表示一个聚簇,且k≤n。在聚类的过程中,需预先给定划分的数目k,并初始化k个划分,然后采用迭代的方法进行改进划分,使得在同一类中的对象之间尽可能地相似,而不同类的中的对象之间尽可能地相异。这种聚类方法适用于中小数据集,对大规模的数据集进行聚类时需要作进一步的改进。 2.2层次法(hietarchicalmethods) 层次法对给定数据对象集合按层次进行分解,分解的结果形成一颗以数据子集为节点的聚类树,它表明类与类之间的相互关系。根据层次分解是自低向上还是自顶向下,可分为凝聚聚类法和分解聚类法:凝聚聚类法的主要思想是将每个对象作为一个单独的一个类,然后相继地合并相近的对象和类,直到所有的类合并为一个,或者符合预先给定的终止条件;分裂聚类法的主要思想是将所有的对象置于一个簇中,在迭代的每一步中,一个簇被分裂为更小的簇,直到最终每个对象在单独的一个簇中,或者符合预先给定的终止条件。在层次聚类法中,当数据对象集很大,且划分的类别数较少时,其速度较快,但是,该方法常常有这样的缺点:一个步骤(合并或分裂)完成,它就不能被取消,也就是说,开始错分的对象,以后无法再改变,从而使错分的对象不断增加,影响聚类的精度,此外,其抗“噪声”的能力也较弱,但是若把层次聚类和其他的聚类技术集成,形成多阶段聚类,聚类的效果有很大的提高。2.3基于密度的方法(density-basedmethods) 该方法的主要思想是只要临近区域的密度(对象或数据点的数目)超过某个阈值,就继续聚类。也就是说,对于给定的每个数据点,在一个给定范围的区域中必须至少包含某个数目的点。这样的方法就可以用来滤处"噪声"孤立点数据,发现任意形状的簇。2.4基于网格的方法(grid-basedmethods) 这种方法是把对象空间量化为有限数目的单元,形成一个网格结构。所有的聚类操作都在这个网格结构上进行。用这种方法进行聚类处理速度很快,其处理时间独立于数据对象的数目,只与量化空间中每一维的单元数目有关。 2.5基于模型的方法(model-basedmethod) 基于模型的方法为每个簇假定一个模型,寻找数据对给定模型的最佳拟合。该方法经常基于这样的假设:数据是根据潜在的概 收稿日期:2008-02-17 作者简介:黄利文(1979-),男,助教。

聚类分析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算法是对样本数据进行聚类。无论是初始点的选择还是一次迭代完成时对数据的调整,都是建立在随机选取的样本数据的基础之上,这样可以提高算法的收敛速度。

数据挖掘聚类算法课程设计报告

数据挖掘聚类问题(Plants Data Set)实验报告 1.数据源描述 1.1数据特征 本实验用到的是关于植物信息的数据集,其中包含了每一种植物(种类和科属)以及它们生长的地区。数据集中总共有68个地区,主要分布在美国和加拿大。一条数据(对应于文件中的一行)包含一种植物(或者某一科属)及其在上述68个地区中的分布情况。可以这样理解,该数据集中每一条数据包含两部分内容,如下图所示。 图1 数据格式 例如一条数据:abronia fragrans,az,co,ks,mt,ne,nm,nd,ok,sd,tx,ut,wa,wy。其中abronia fragrans是植物名称(abronia是科属,fragrans是名称),从az一直到wy 是该植物的分布区域,采用缩写形式表示,如az代表的是美国Arizona州。植物名称和分布地区用逗号隔开,各地区之间也用逗号隔开。 1.2任务要求 聚类。采用聚类算法根据某种特征对所给数据集进行聚类分析,对于聚类形成的簇要使得簇内数据对象之间的差异尽可能小,簇之间的差距尽可能大。 2.数据预处理 2.1数据清理 所给数据集中包含一些对聚类过程无用的冗余数据。数据集中全部数据的组织结构是:先给出某一科属的植物及其所有分布地区,然后给出该科属下的具体植物及其分布地区。例如: ①abelmoschus,ct,dc,fl,hi,il,ky,la,md,mi,ms,nc,sc,va,pr,vi ②abelmoschus esculentus,ct,dc,fl,il,ky,la,md,mi,ms,nc,sc,va,pr,vi ③abelmoschus moschatus,hi,pr 上述数据中第①行给出了所有属于abelmoschus这一科属的植物的分布地区,接下来的②③两行分别列出了属于abelmoschus科属的两种具体植物及其分布地区。从中可以看出后两行给出的所有地区的并集正是第一行给出的地区集

数据挖掘考试题目——聚类

数据挖掘考试题目——聚类 一、填空题 1、密度的基于中心的方法使得我们可以将点分类为:__________、________ 、_________。 2、DBSCAN算法在最坏的情况下,时间复杂度是__________、空间复杂度是__________。 3、DBSCAN算法的优点是_______、__________________________。 4、DBSCAN算法的缺点是处理_________________、_____________的数据效果不好。 5、DBSCAN算法的参数有:___________、____________。 6、簇的有效性的非监督度量常常可以分为两类:__________、__________,它常采用的指标为__________。 7、簇的有效性的监督度量通常称为___________,它度量簇标号与外部提供的标号的匹配程度主要借助____________。 8、在相似度矩阵评价的聚类中,如果有明显分离的簇,则相似度矩阵应当粗略地是__________。 9、DBSCAN算法的参数确定的基本方法是观察____________________的特性。 10、不引用附加的信息,评估聚类分析结果对数据拟合情况属于__________技术。 答案: 1、核心点边界点噪声点 2、O(n2) O(n) 3、耐噪声能够处理任意大小和形状的簇 4、高维数据变密度的 5、EPS MinPts 6、簇的凝聚性簇的分离性均方差(SSE) 7、外部指标监督指标的熵 8、块对角的 9、点到它的第K个最近邻的距离(K-距离) 10、非监督

二、选择题 1、DBSCAN算法的过程是(B)。 ①删除噪声点。 ②每组连通的核心点形成一个簇。 ③将所有点标记为核心点、边界点和噪声点。 ④将每个边界点指派到一个与之关联的核心点的簇中。 ⑤为距离在Eps之内的所有核心点之间赋予一条边。 A:①②④⑤③ B:③①⑤②④ C:③①②④⑤ D:①④⑤②③ 2、如果有m个点,DBSCAN在最坏的情况下的时间复杂度度为(C)。 A O(m) B O(mlogm) C O(m2) D O(logm) 3、在基本DBSCAN的参数选择方法中,点到它的K个最近邻的距离中的K选作为哪一个参数(B)。 A Eps B MinPts C 质心 D 边界 4、当采用K-距离的方法选择DBSCAN的Eps和MinPts参数时,如果设置的K的值太大,则小簇(尺寸小于K的簇)可能会被标记为(A)。 A 噪声 B 核心簇 C 边界簇D以上都不对 5、如果处理以下形状的数据时,适宜采用DBSCAN的是(B) A 球形 B SS形 C 椭球形 D 方形 6、DBSCAN之所以难以有效处理高维数据,其主要原因是(D)

数据挖掘算法综述

数据挖掘方法综述 [摘要]数据挖掘(DM,DataMining)又被称为数据库知识发现(KDD,Knowledge Discovery in Databases),它的主要挖掘方法有分类、聚类、关联规则挖掘和序列模式挖掘等。 [关键词]数据挖掘分类聚类关联规则序列模式 1、数据挖掘的基本概念 数据挖掘从技术上说是从大量的、不完全的、有噪声的、模糊的、随机的数据中提取隐含在其中的、人们事先不知道的、但又是潜在的有用的信息和知识的过程。这个定义包括好几层含义: 数据源必须是真实的、大量的、含噪声的、发现的是用户感兴趣的知识, 发现的知识要可接受、可理解、可运用, 并不要求发现放之四海皆准的知识, 仅支持特定的发现问题, 数据挖掘技术能从中自动分析数据进行归纳性推理从中发掘出潜在的数据模式或进行预测, 建立新的业务模型帮助决策者调整策略做出正确的决策。数据挖掘是是运用统计学、人工智能、机器学习、数据库技术等方法发现数据的模型和结构、发现有价值的关系或知识的一门交叉学科。数据挖掘的主要方法有分类、聚类和关联规则挖掘等 2、分类 分类(Classification)又称监督学习(Supervised Learning)。监

督学习的定义是:给出一个数据集D,监督学习的目标是产生一个联系属性值集合A和类标(一个类属性值称为一个类标)集合C的分类/预测函数,这个函数可以用于预测新的属性集合(数据实例)的类标。这个函数就被称为分类模型(Classification Model),或者是分类器(Classifier)。分类的主要算法有:决策树算法、规则推理、朴素贝叶斯分类、支持向量机等算法。 决策树算法的核心是Divide-and-Conquer的策略,即采用自顶向下的递归方式构造决策树。在每一步中,决策树评估所有的属性然后选择一个属性把数据分为m个不相交的子集,其中m是被选中的属性的不同值的数目。一棵决策树可以被转化成一个规则集,规则集用来分类。 规则推理算法则直接产生规则集合,规则推理算法的核心是Separate-and-Conquer的策略,它评估所有的属性-值对(条件),然后选择一个。因此,在一步中,Divide-and-Conquer策略产生m条规则,而Separate-and-Conquer策略只产生1条规则,效率比决策树要高得多,但就基本的思想而言,两者是相同的。 朴素贝叶斯分类的基本思想是:分类的任务可以被看作是给定一个测试样例d后估计它的后验概率,即Pr(C=c j︱d),然后我们考察哪个类c j对应概率最大,便将那个类别赋予样例d。构造朴素贝叶斯分类器所需要的概率值可以经过一次扫描数据得到,所以算法相对训练样本的数量是线性的,效率很高,就分类的准确性而言,尽管算法做出了很强的条件独立假设,但经过实际检验证明,分类的效果还是

蚁群聚类算法综述

计算机工程与应用2006.16 引言 聚类分析是数据挖掘领域中的一个重要分支[1],是人们认 和探索事物之间内在联系的有效手段,它既可以用作独立的 据挖掘工具,来发现数据库中数据分布的一些深入信息,也 以作为其他数据挖掘算法的预处理步骤。所谓聚类(clus- ring)就是将数据对象分组成为多个类或簇(cluster),在同一 簇中的对象之间具有较高的相似度,而不同簇中的对象差别大。传统的聚类算法主要分为四类[2,3]:划分方法,层次方法, 于密度方法和基于网格方法。 受生物进化机理的启发,科学家提出许多用以解决复杂优 问题的新方法,如遗传算法、进化策略等。1991年意大利学A.Dorigo等提出蚁群算法,它是一种新型的优化方法[4]。该算不依赖于具体问题的数学描述,具有全局优化能力。随后他 其他学者[5~7]提出一系列有关蚁群的算法并应用于复杂的组优化问题的求解中,如旅行商问题(TSP)、调度问题等,取得 著的成效。后来其他科学家根据自然界真实蚂蚁群堆积尸体分工行为,提出基于蚂蚁的聚类算法[8,9],利用简单的智能体 仿蚂蚁在给定的环境中随意移动。这些算法的基本原理简单懂[10],已经应用到电路设计、文本挖掘等领域。本文详细地讨现有蚁群聚类算法的基本原理与性能,在归纳总结的基础上 出需要完善的地方,以推动蚁群聚类算法在更广阔的领域内 到应用。 2聚类概念及蚁群聚类算法 一个簇是一组数据对象的集合,在同一个簇中的对象彼此 类似,而不同簇中的对象彼此相异。将一组物理或抽象对象分组为类似对象组成的多个簇的过程被称为聚类。它根据数据的内在特性将数据对象划分到不同组(或簇)中。聚类的质量是基于对象相异度来评估的,相异度是根据描述对象的属性值来计算的,距离是经常采用的度量方式。聚类可用数学形式化描述为:设给定数据集X={x 1 ,x 2 ,…,x n },!i∈{1,2,…,n},x i ={x i1 ,x i2 , …,x

大数据时代的空间数据挖掘综述

第37卷第7期测绘与空间地理信息 GEOMATICS &SPATIAL INFORMATION TECHNOLOGY Vol.37,No.7收稿日期:2014-01-22 作者简介:马宏斌(1982-),男,甘肃天水人,作战环境学专业博士研究生,主要研究方向为地理空间信息服务。 大数据时代的空间数据挖掘综述 马宏斌1 ,王 柯1,马团学 2(1.信息工程大学地理空间信息学院,河南郑州450000;2.空降兵研究所,湖北孝感432000) 摘 要:随着大数据时代的到来,数据挖掘技术再度受到人们关注。本文回顾了传统空间数据挖掘面临的问题, 介绍了国内外研究中利用大数据处理工具和云计算技术,在空间数据的存储、管理和挖掘算法等方面的做法,并指出了该类研究存在的不足。最后,探讨了空间数据挖掘的发展趋势。关键词:大数据;空间数据挖掘;云计算中图分类号:P208 文献标识码:B 文章编号:1672-5867(2014)07-0019-04 Spatial Data Mining Big Data Era Review MA Hong -bin 1,WANG Ke 1,MA Tuan -xue 2 (1.Geospatial Information Institute ,Information Engineering University ,Zhengzhou 450000,China ; 2.Airborne Institute ,Xiaogan 432000,China ) Abstract :In the era of Big Data ,more and more researchers begin to show interest in data mining techniques again.The paper review most unresolved problems left by traditional spatial data mining at first.And ,some progress made by researches using Big Data and Cloud Computing technology is introduced.Also ,their drawbacks are mentioned.Finally ,future trend of spatial data mining is dis-cussed. Key words :big data ;spatial data mining ;cloud computing 0引言 随着地理空间信息技术的飞速发展,获取数据的手 段和途径都得到极大丰富,传感器的精度得到提高和时空覆盖范围得以扩大,数据量也随之激增。用于采集空间数据的可能是雷达、红外、光电、卫星、多光谱仪、数码相机、成像光谱仪、全站仪、天文望远镜、电视摄像、电子 显微镜、CT 成像等各种宏观与微观传感器或设备,也可能是常规的野外测量、人口普查、土地资源调查、地图扫描、 地图数字化、统计图表等空间数据获取手段,还可能是来自计算机、 网络、GPS ,RS 和GIS 等技术应用和分析空间数据。特别是近些年来,个人使用的、携带的各种传感器(重力感应器、电子罗盘、三轴陀螺仪、光线距离感应器、温度传感器、红外线传感器等),具备定位功能电子设备的普及,如智能手机、平板电脑、可穿戴设备(GOOGLE GLASS 和智能手表等),使人们在日常生活中产生了大量具有位置信息的数据。随着志愿者地理信息(Volunteer Geographic Information )的出现,使这些普通民众也加入到了提供数据者的行列。 以上各种获取手段和途径的汇集,就使每天获取的 数据增长量达到GB 级、 TB 级乃至PB 级。如中国遥感卫星地面站现在保存的对地观测卫星数据资料达260TB ,并以每年15TB 的数据量增长。比如2011年退役的Landsat5卫星在其29年的在轨工作期间,平均每年获取8.6万景影像,每天获取67GB 的观测数据。而2012年发射的资源三号(ZY3)卫星,每天的观测数据获取量可以达到10TB 以上。类似的传感器现在已经大量部署在卫 星、 飞机等飞行平台上,未来10年,全球天空、地空间部署的百万计传感器每天获取的观测数据将超过10PB 。这预示着一个时代的到来,那就是大数据时代。大数据具有 “4V ”特性,即数据体量大(Volume )、数据来源和类型繁多(Variety )、数据的真实性难以保证(Veracity )、数据增加和变化的速度快(Velocity )。对地观测的系统如图1所示。 在这些数据中,与空间位置相关的数据占了绝大多数。传统的空间知识发现的科研模式在大数据情境下已经不再适用,原因是传统的科研模型不具有普适性且支持的数据量受限, 受到数据传输、存储及时效性需求的制约等。为了从存储在分布方式、虚拟化的数据中心获取信息或知识,这就需要利用强有力的数据分析工具来将

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

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

数据挖掘考试题精编版

数据挖掘考试题 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI-

数据挖掘考试题 一.选择题 1. 当不知道数据所带标签时,可以使用哪种技术促使带同类标签的数据与带其他标签的数据相分离( ) A.分类 B.聚类 C.关联分析 D.主成分分析 2. ( )将两个簇的邻近度定义为不同簇的所有点对邻近度的平均值,它是一种凝聚层次聚类技术。 A.MIN(单链) B.MAX(全链) C.组平均 D.Ward方法 3.数据挖掘的经典案例“啤酒与尿布试验”最主要是应用了( )数据挖掘方法。 A 分类 B 预测 C关联规则分析 D聚类 4.关于K均值和DBSCAN的比较,以下说法不正确的是( ) A.K均值丢弃被它识别为噪声的对象,而DBSCAN一般聚类所有对象。 B.K均值使用簇的基于原型的概念,DBSCAN使用基于密度的概念。 C.K均值很难处理非球形的簇和不同大小的簇,DBSCAN可以处理不同大小和不同形状的簇 D.K均值可以发现不是明显分离的簇,即便簇有重叠也可以发现,但是DBSCAN 会合并有重叠的簇 5.下列关于Ward’s Method说法错误的是:( ) A.对噪声点和离群点敏感度比较小 B.擅长处理球状的簇

C.对于Ward方法,两个簇的邻近度定义为两个簇合并时导致的平方误差 D.当两个点之间的邻近度取它们之间距离的平方时,Ward方法与组平均非常相似 6.下列关于层次聚类存在的问题说法正确的是:( ) A.具有全局优化目标函数 B.Group Average擅长处理球状的簇 C.可以处理不同大小簇的能力 D.Max对噪声点和离群点很敏感 7.下列关于凝聚层次聚类的说法中,说法错误的事:( ) A.一旦两个簇合并,该操作就不能撤销 B.算法的终止条件是仅剩下一个簇 C.空间复杂度为()2m O D.具有全局优化目标函数 8.规则{牛奶,尿布}→{啤酒}的支持度和置信度分别为:( ) 9.下列( )是属于分裂层次聚类的方法。 A.Min B.Max C.Group Average D.MST 10.对下图数据进行凝聚聚类操作,簇间相似度使用MAX计算,第二步是哪两个簇合并:( ) A.在{3}和{l,2}合并 B.{3}和{4,5}合并 C.{2,3}和{4,5}合并

聚类分析、数据挖掘、关联规则这几个概念的关系

聚类分析和关联规则属于数据挖掘这个大概念中的两类挖掘问题, 聚类分析是无监督的发现数据间的聚簇效应。 关联规则是从统计上发现数据间的潜在联系。 细分就是 聚类分析与关联规则是数据挖掘中的核心技术; 从统计学的观点看,聚类分析是通过数据建模简化数据的一种方法。传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。采用k-均值、k-中心点等算法的聚类分析工具已被加入到许多著名的统计分析软件包中,如SPSS、SAS等。 从机器学习的角度讲,簇相当于隐藏模式。聚类是搜索簇的无监督学习过程。与分类不同,无监督学习不依赖预先定义的类或带类标记的训练实例,需要由聚类学习算法自动确定标记,而分类学习的实例或数据对象有类别标记。聚类是观察式学习,而不是示例式的学习。 聚类分析是一种探索性的分析,在分类的过程中,人们不必事先给出一个分类的标准,聚类分析能够从样本数据出发,自动进行分类。聚类分析所使用方法的不同,常常会得到不同的结论。不同研究者对于同一组数据进行聚类分析,所得到的聚类数未必一致。 从实际应用的角度看,聚类分析是数据挖掘的主要任务之一。而且聚类能够作为一个独立的工具获得数据的分布状况,观察每一簇数据的特征,集中对特定的聚簇集合作进一步地分析。聚类分析还可以作为其他算法(如分类和定性归纳算法)的预处理步骤。 关联规则挖掘过程主要包含两个阶段:第一阶段必须先从资料集合中找出所有的高频项目组(FrequentItemsets),第二阶段再由这些高频项目组中产生关联规则(AssociationRules)。 关联规则挖掘的第一阶段必须从原始资料集合中,找出所有高频项目组(LargeItemsets)。高频的意思是指某一项目组出现的频率相对于所有记录而言,必须达到某一水平。 关联规则挖掘的第二阶段是要产生关联规则(AssociationRules)。从高频项目组产生关联规则,是利用前一步骤的高频k-项目组来产生规则,在最小信赖度(MinimumConfidence)的条件门槛下,若一规则所求得的信赖度满足最小信赖度,称此规则为关联规则。

K-means-聚类算法研究综述

K-means聚类算法研究综述 摘要:总结评述了K-means聚类算法的研究现状,指出K-means聚类算法是一个NP难优化问题,无法获得全局最优。介绍了K-means聚类算法的目标函数,算法流程,并列举了一个实例,指出了数据子集的数目K,初始聚类中心选取,相似性度量和距离矩阵为K-means聚类算法的3个基本参数。总结了K-means聚类算法存在的问题及其改进算法,指出了K-means 聚类的进一步研究方向。 关键词:K-means聚类算法;NP难优化问题;数据子集的数目K;初始聚类中心选取;相似性度量和距离矩阵 Review of K-means clustering algorithm Abstract: K-means clustering algorithm is reviewed. K-means clustering algorithm is a NP hard optimal problem and global optimal result cannot be reached. The goal,main steps and example of K-means clustering algorithm are introduced. K-means algorithm requires three user-specified parameters: number of clusters K,cluster initialization,and distance metric. Problems and improvement of K-means clustering algorithm are summarized then. Further study directions of K-means clustering algorithm are pointed at last. Key words: K-means clustering algorithm; NP hard optimal problem; number of clusters K; cluster initialization; distance metric K-means聚类算法是由Steinhaus1955年、Lloyed1957年、Ball & Hall1965年、McQueen1967年分别在各自的不同的科学研究领域独立的提出。K-means聚类算法被提出来后,在不同的学科领域被广泛研究和应用,并发展出大量不同的改进算法。虽然K-means聚类算法被提出已经超过50年了,但目前仍然是应用最广泛的划分聚类算法之一[1]。容易实施、简单、高效、成功的应用案例和经验是其仍然流行的主要原因。 文中总结评述了K-means聚类算法的研究现状,指出K-means聚类算法是一个NP难优化问题,无法获得全局最优。介绍了K-means聚类算法的目标函数、算法流程,并列举了一个实例,指出了数据子集的数目K、初始聚类中心选取、相似性度量和距离矩阵为K-means聚类算法的3个基本参数。总结了K-means聚类算法存在的问题及其改进算法,指出了K-means聚类的进一步研究方向。 1经典K-means聚类算法简介 1.1K-means聚类算法的目标函数 对于给定的一个包含n个d维数据点的数据集 12 {x,x,,x,,x} i n X=??????,其中d i x R ∈,以及要生成的数据子集的数目K,K-means聚类算法将数据对象组织为 K个划分{c,i1,2,} k C K ==???。每个划分代表一个类c k,每个类c k有一个类别中心iμ。选取欧氏距离作为相似性和 距离判断准则,计算该类内各点到聚类中心 i μ的距离平方和 2 (c) i i k i k x C J xμ ∈ =- ∑(1) 聚类目标是使各类总的距离平方和 1 (C)(c) K k k J J = =∑最小。 22 1111 (C)(c) i i K K K n k i k ki i k k k x C k i J J x d x μμ ==∈== ==-=- ∑∑∑∑∑ (2)其中, 1 i i ki i i x c d x c ∈ ? =? ? ? 若 若 ,显然,根据最小二乘 法和拉格朗日原理,聚类中心 k μ应该取为类别 k c类各数据点的平均值。 K-means聚类算法从一个初始的K类别划分开始,然

数据挖掘聚类算法课程设计报告范本

数据挖掘聚类算法课程设计报告

数据挖掘聚类问题(Plants Data Set)实验报告 1.数据源描述 1.1数据特征 本实验用到的是关于植物信息的数据集,其中包含了每一种植物(种类和科属)以及它们生长的地区。数据集中总共有68个地区,主要分布在美国和加拿大。一条数据(对应于文件中的一行)包含一种植物(或者某一科属)及其在上述68个地区中的分布情况。能够这样理解,该数据集中每一条数据包含两部分内容,如下图所示。 图1 数据格式 例如一条数据:abronia fragrans,az,co,ks,mt,ne,nm,nd,ok,sd,tx,ut,wa,wy。其中abronia fragrans是植物名称(abronia是科属,fragrans是名称),从az一直到wy是该植物的分布区域,采用缩写形式表示,如az代表的是美国Arizona州。植物名称和分布地区用逗号隔开,各地区之间也用逗号隔开。 1.2任务要求 聚类。采用聚类算法根据某种特征对所给数据集进行聚类分析,对于聚类形成的簇要使得簇内数据对象之间的差异尽可能小,簇之间的差距尽可能大。 2.数据预处理

2.1数据清理 所给数据集中包含一些对聚类过程无用的冗余数据。数据集中全部数据的组织结构是:先给出某一科属的植物及其所有分布地区,然后给出该科属下的具体植物及其分布地区。例如:abelmoschus,ct,dc,fl,hi,il,ky,la,md,mi,ms,nc,sc,va,pr,vi abelmoschus esculentus,ct,dc,fl,il,ky,la,md,mi,ms,nc,sc,va,pr,vi abelmoschus moschatus,hi,pr 上述数据中第行给出了所有属于abelmoschus这一科属的植物的分布地区,接下来的两行分别列出了属于abelmoschus 科属的两种具体植物及其分布地区。从中能够看出后两行给出的所有地区的并集正是第一行给出的地区集合。在聚类过程中第行数据是无用的,因此要对其进行清理。 2.2数据变换 本实验是依据植物的分布区域进行聚类,所给数据集中的分布区域是字符串形式,不适合进行聚类,因此将其变换成适合聚类的数值形式。具体思想如下: 数据集中总共包含68个区域,每一种植物的分布区域是这68个区域中的一部分。本实验中将68个区域看成是数据对象的68个属性,这68个属性是二元类型的变量,其值只能去0或者1。步骤如下: 1.把68个区域按一定顺序存放在字符串数组(记为str)中(顺序能够自己定,确定后不能改变)。

数据挖掘主要算法

朴素贝叶斯: 有以下几个地方需要注意: 1. 如果给出的特征向量长度可能不同,这是需要归一化为通长度的向量(这里以文本分类为例),比如说是句子单词的话,则长度为整个词汇量的长度,对应位置是该单词出现的次数。 2. 计算公式如下: 其中一项条件概率可以通过朴素贝叶斯条件独立展开。要注意一点就是的计算方法,而由朴素贝叶斯的前提假设可知, = ,因此一般有两种,一种是在类别为ci的那些样本集中,找到wj出现次数的总和,然后除以该样本的总和;第二种方法是类别为ci的那些样本集中,找到wj出现次数的总和,然后除以该样本中所有特征出现次数的总和。 3. 如果中的某一项为0,则其联合概率的乘积也可能为0,即2中公式的分子为0,为了避免这种现象出现,一般情况下会将这一项初始化为1,当然为了保证概率相等,分母应对应初始化为2(这里因为是2类,所以加2,如果是k类就需要加k,术语上叫做laplace 光滑, 分母加k的原因是使之满足全概率公式)。 朴素贝叶斯的优点: 对小规模的数据表现很好,适合多分类任务,适合增量式训练。 缺点: 对输入数据的表达形式很敏感。 决策树: 决策树中很重要的一点就是选择一个属性进行分枝,因此要注意一下信息增益的计算公式,并深入理解它。 信息熵的计算公式如下:

其中的n代表有n个分类类别(比如假设是2类问题,那么n=2)。分别计算这2类样本在总样本中出现的概率p1和p2,这样就可以计算出未选中属性分枝前的信息熵。 现在选中一个属性xi用来进行分枝,此时分枝规则是:如果xi=vx的话,将样本分到树的一个分支;如果不相等则进入另一个分支。很显然,分支中的样本很有可能包括2个类别,分别计算这2个分支的熵H1和H2,计算出分枝后的总信息熵H’=p1*H1+p2*H2.,则此时的信息增益ΔH=H-H’。以信息增益为原则,把所有的属性都测试一边,选择一个使增益最大的属性作为本次分枝属性。 决策树的优点: 计算量简单,可解释性强,比较适合处理有缺失属性值的样本,能够处理不相关的特征; 缺点: 容易过拟合(后续出现了随机森林,减小了过拟合现象); Logistic回归: Logistic是用来分类的,是一种线性分类器,需要注意的地方有: 1. logistic函数表达式为: 其导数形式为: 2. logsitc回归方法主要是用最大似然估计来学习的,所以单个样本的后验概率为: 到整个样本的后验概率:

各种聚类算法的比较

各种聚类算法的比较 聚类的目标是使同一类对象的相似度尽可能地小;不同类对象之间的相似度尽可能地大。目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类算法。摘自数据挖掘中的聚类分析研究综述这篇论文。 1、层次聚类算法 1.1聚合聚类 1.1.1相似度依据距离不同:Single-Link:最近距离、Complete-Link:最远距离、Average-Link:平均距离 1.1.2最具代表性算法 1)CURE算法 特点:固定数目有代表性的点共同代表类 优点:识别形状复杂,大小不一的聚类,过滤孤立点 2)ROCK算法 特点:对CURE算法的改进 优点:同上,并适用于类别属性的数据 3)CHAMELEON算法 特点:利用了动态建模技术 1.2分解聚类 1.3优缺点 优点:适用于任意形状和任意属性的数据集;灵活控制不同层次的聚类粒度,强聚类能力 缺点:大大延长了算法的执行时间,不能回溯处理 2、分割聚类算法 2.1基于密度的聚类 2.1.1特点 将密度足够大的相邻区域连接,能有效处理异常数据,主要用于对空间数据的聚类

1)DBSCAN:不断生长足够高密度的区域 2)DENCLUE:根据数据点在属性空间中的密度进行聚类,密度和网格与处理的结合 3)OPTICS、DBCLASD、CURD:均针对数据在空间中呈现的不同密度分不对DBSCAN作了改进 2.2基于网格的聚类 2.2.1特点 利用属性空间的多维网格数据结构,将空间划分为有限数目的单元以构成网格结构; 1)优点:处理时间与数据对象的数目无关,与数据的输入顺序无关,可以处理任意类型的数据 2)缺点:处理时间与每维空间所划分的单元数相关,一定程度上降低了聚类的质量和准确性 2.2.2典型算法 1)STING:基于网格多分辨率,将空间划分为方形单元,对应不同分辨率2)STING+:改进STING,用于处理动态进化的空间数据 3)CLIQUE:结合网格和密度聚类的思想,能处理大规模高维度数据4)WaveCluster:以信号处理思想为基础 2.3基于图论的聚类 2.3.1特点 转换为组合优化问题,并利用图论和相关启发式算法来解决,构造数据集的最小生成数,再逐步删除最长边 1)优点:不需要进行相似度的计算 2.3.2两个主要的应用形式 1)基于超图的划分 2)基于光谱的图划分 2.4基于平方误差的迭代重分配聚类 2.4.1思想 逐步对聚类结果进行优化、不断将目标数据集向各个聚类中心进行重新分配以获最优解

相关文档