文档库 最新最全的文档下载
当前位置:文档库 › 一种有效的基于K_means聚类中心的选取方法

一种有效的基于K_means聚类中心的选取方法

一种有效的基于K_means聚类中心的选取方法

作者:李双双

摘要:针对传统k-means聚类算法中对初始聚类中心随意选取和人为指定的缺陷,提出一种改进的初始聚类中心的选取方法,利用差异矩阵将新的聚类初始中心计算方法用在传统的k-means算法思想中,对传统的k-means算法进行改进。降低k-means算法的复杂度和对异常点的敏感度,提高算法的可伸缩性。

关键词:K—means;聚类算法;初始聚类中心;动态聚类

1.引言

聚类分析是数据挖掘领域一个重要的研究课题。聚类就是将物理或抽象对象的集合分成相似的对象类的过程,同一个簇中的对象之间具有较高的相似度,而不同簇中的对象差别较大。通过自动聚类能够识别对象空间中稠密和稀疏区域,从而发现全局分布模式和数据属性之间的有趣的相关。同时聚类分析可以作为其他算法(例如特征化、属性子集选择以及分类)的预处理步骤。K-means 即 K 均值是一种基于划分的聚类算法,它以误差平方和 SSE(sum of the squared error)作为度量聚类质量的目标函数。传统的 K-means 算法随机选取初始聚类中心,算法容易陷入局部最优。如何选取一组合理的初始聚类中心,在降低聚类结果波动性的同时,又能得到较高的聚类准确率具有较高的意义。

为了克服 K 均值算法的一些缺陷,很多学者都试图从不同的角度对 K 均值算法进行改进。总体上初始聚类中心的选择可以分为 3 种:随机抽样、距离优化和密度估计。文献[1]运用距离代价函数作为聚类有效性检验函数,当距离代价函数达到最小值时,空间聚类结果为最优。文献[2]提出基于最大最小距离法寻找初始聚类中心,算法能够找到最佳的聚类数目 K 以及合理的初始聚类中心。文献[3-4]根据聚类对象分布密度来确定初始聚类中心。文献[5]用密度函数法求得样本数据空间的多个聚类中心,并结合小类合并运算,能很好的避免局部最小。文献[6]提出了半监督 K-means 的 K 值全局寻优算法,利用少量数据来指导和规划大量无监督数据。文献[7]提出利用图论知识迭代得到稳定的聚类结果。文献[8]提出了一种基于密度估计选取初始聚类中心的方法 KNN(k-nearest neighborhood),算法迭代寻找 K个数据作为初始聚类中心。文献[9]提出了初始化 K-means 的谱算法。文献[10]提出了一种密度敏感的相似性度量,将其引入谱聚类得到密度敏感的谱聚类算法。Leng 等人在文献[11]中提出了一种基于影响因子的 K-means 算法。本文提出了基于最小生成树以及树的剪枝的方法将数据点划分为 K 个初始的聚类簇,并计算出初始的聚类中心。实验表明,改进的聚类算法得到了稳定的聚类结果,降低了聚类过程中迭代的次数,并取得了较高的准确率。2.传统的 k-means算法

k-means算法作为划分聚类算法的典型代表,有计算速度快、资源消耗少、几何意义直观、对大数据集处理等特点,该算法有

相对可伸缩和高效率的特点。它的复杂度是0(nkt),其中 k是聚类的个数,t是迭代次数,n是所有样本的个数。然而,传统的k-means算法对于初始聚类中心的选择是随机的,或者是由用户主观指定的。k-means 算法对初始聚类中心的依赖性很强,初始聚类中心选取的不同往往导致聚类结果相当不稳定,同时也会使迭代的次数大幅度增加;其次,k-means是基于目标函数的聚类方法,一般都用梯度法求极值。由于梯度法的搜索方向是沿着减小的方向进行,算法由于初值的不当可能会陷人局部极小点,所以,要谨慎的选择初始聚类中心。k—means 算法还有一个缺点就是对异常点非常敏感,使得 k-means没有足够的稳定性。传统的k-means算法具体过程如下所述。

算法:

输入:

k-means是一种迭代的聚类算法,迭代过程中不断地移动聚类集中的成员直到理想的类集为止。k—means算法的基本思想是:从 n个数据对象中随机选择 k个对象作为初始的聚类中心,通过迭代不断地更新聚类中心,把数据划分到不同的类中。对于上述传统的 k-means算法分析如下:对于一个有 n个元组的数据集,每个元组有d个属性,即每个元组是 d维的,指定该数据集可以分为类集的个数为 k,算法首先将每一个数据对象归到离它最近的聚类中心的聚类中,然后计算新的聚类中心,最后计算聚类准则函数。算法的时间复杂度为 0(ndk)。

在上述算法中可以看到,在传统的k-means算法对于初始聚类中心的选择是随机的,或者是由用户指定的。这样某些聚类中的数据可能没被选到,而有的择中多个,这样会对产生聚类的结果有一定影响,同时也会增加迭代的次数,增加了划分聚类的时间。还有人使用多组随机挑选初始中心来聚类,将最好的聚类结果作为最终结果。该方法减少了随机方式带来的偏差,但是不适用于 k值较大时,同时它也增加了计算量。而且由于 k-means对于异常点是较为敏感的,如果选到中心点为异常点,将得不到理想的结果。用户指定初始聚类中心则会带有主观性,随意性,同时给用户增加了负担。

所以,传统的 k-means算法对不同的 k 值可能会导致不同的聚类结果,该算法不能发现非凸面的类,不能发现大小差别很大的类,还有就是上面分析的k-means算法对“噪声”和孤立点很敏感,少量的孤立点能对平均值产生极大的影响。

3.新的初始中心选取方法

从上面的分析得知初始中心的选取对整个聚类过程的影响,为了减少随机性的初始中心选择对聚类产生的影响,以下针对k-means算法初始聚类中心的选择和孤立点对 k-means算法的影响作出改进。主要的思想是多次选取训练集,在选取训练集初始中心的基础上来估计整个数据集合的初始中心。用反证法的思想,假设已经知道数据集合的分布情况,则一个聚类中心应该满足下面条件:它能很好地代表该类;在一定的相

似度内中心覆盖的数据元组

应该是最多的。

图 1说明聚类中心更具有代表性,使得聚类内的相似度和最小。图2中大圆中是半径相同的两个圆,半径代表相似度范围,该图说明同样的相似度内以聚类中心O1为中心的“子”聚类中心和以02:为“子”聚类中心的子聚类覆盖的数据元组占据较大的比例,所以易得,要以0 为聚类中心。同样如果有1O个元组,那么有靠近聚类中心的相似度之和越高(半径越小,密度大),越远离聚类中心的元组它们之间的相似度之和越低(半径大,密度小)。

本文的中心思想也是以上述的思想为基础,从训练集中计算出聚类的初始化中心,从而避免随机选取初始化聚类中心给k-means带来的影响,由于训练集的有限性也可以降低算法时间复杂度,增加算法的可伸缩性。

对数据的划分的最终目的就是使一个聚类中的对象是相似的,不同的聚类中的对象是不相似的。如果用欧几里德距离度量相似度的话,每个聚类内的距离之和是小的,误差平方和是小的则可以说明是一个聚类中的元组。

聚类分析中的差异度矩阵

其中,d(i,j)表示元组 i和元组 j之间的相似度。本文用两个元组的欧几里德距离

来描述向量元组 j=(t …,tjk)和 t;=(t.1,…,tik)的差异度。

定义

来度量同样的覆盖度那几个元组相似度更高。

改进的算法:

(1)从原始的数据中随机抽出 n个样本集 T1;

(2)假设集合有k个类;

(3)每次取m个最相似元组的元组,并分到一个类中;

(4)取这m个元组的中心Oi作为类的中心;

(5)从n个样本集中去除这 m个元组;

(6)重复执行 (3)、(4)直到每个类都有m个元素。

为了避免异常点对预测的初始聚类中心产生影响,笔者多次选择训练集,再次对每个训练集的每个类中心Oi(f)进行选取类中心作为最终的初始类中心。

在上述算法的第 (3)步中相似元组的选取方法依据下列理论:

从训练集中的差异矩阵中依次选

出m个元组所在行和列组成单个聚类内的差

异矩阵

,只有

最小时,把训练集的m个元组归为一个聚类中。在算法的第 (4)步中的聚类中心的选取方法如下:能覆盖所有元组的最小圆的圆心0i;作为聚类中心。在一定的范围内密度最大的中心。

4.实验与分析

4.1实验描述

为了验证本文改进的选取初始聚类中心算法的有效性,选取UCI数据库的Iris 和Wine作为实验数据集。其中: Iris数据集包含150个数据对象,每个对象有4个属性,共有3个聚类,每个类包含50个对象;Wine数据集包含178个数据对象,每个对象有13个属性,共有3个聚类,分别包含59、71、48个对象选择同本文基于密度分布思想类似的两个改进算法文献[5]和文献[10]的算法,从初始聚类中心迭代次

数和准确率三个方面进行对比,以说明本文算法选择初始聚类中心的有效性; 同时利用随机选择初始聚类中心的传统K-means 算法和本文改进算法对两组数据集分别进行了10次测试。

4.2实验结果与分析

为了说明初始中心选取的有效性,采用Iris数据集,它的实际聚类中心为(5.01,3.43,1.46,0.25)、(5.94,2.77,4.26,1.33)、(6.59,2.97,5.55,2.03)。文献[10]算法得到的初始聚类中心为(5.007,

3.416,1.461,0.238)、(5.895,2.728,

4.276,1.352)、(7.025,3.14,

5.826,2.18),误差平方和为0.32; 本文算法得到的初始聚类中心为(5.1,3.5,1.4,0.2)、(5.7,2.9,4.2,1.3)、(

6.8,3,5.5,2.1),误差平方和为0.15 。

可以看出,与实际聚类中心最接近的数据点是本文算法所得到的初始聚类中心,而文献[10]算法初始聚类中心的误差平方和比本文算法大,与实际初始聚类中心也较远’本文算法选择的初始聚类中心更接近实际聚类中心,能有效代表聚类的实际分布。

文献[5]算法在Iris与Wine上的准确率分别为89.33%和70.22%,与本文算法相同; 它在Iris上的迭代次数为5,本文算法在Iris上的迭代次数为2,小于文献[5],两者在Wine

上的迭代次数均为7 。实际上,无论何种改进算法,聚类迭代次数不可能少于2次,即迭代次数最小为2,这是因为,必须经过第1次迭代的计算,才能得到新的聚类中心,在第2次迭代时,通过比较新聚类中心与原聚类中心,判断聚类是否满足结束条件。

传统K-means算法初始聚类中心是随机选取的,从表1可以看出,传统K-means算法聚类准确率的差别明显,聚类结果不稳定,而且迭代次数变化剧烈。而本文算法的聚类准确率稳定,针对Iris和Wine数据集分别是89.33%和70.22%,迭代次数则分别是2和7.这是因为改进的算法依据数据点的k-dist曲线确定的初始聚类中心是唯一的,能够代表数据的分布特征,达到较高的准确率,获得稳定的聚类结果,并且有效减少迭代次数。

对比实验表明,本文的改进算法选择主要密度水平曲线上k-dist值最小的点作为初始聚类中心,能够反映数据的实际分布,选取的初始聚类中心唯一,聚类结果稳定,聚类准确率高,迭代次数少。

从图2、3可以看出,由于NAFS算法中增加了小生境算法,其计算时间比AFS聚类算法要长一些,但是考虑到其求解精度上要优于AFS聚类算法,所以这种时间上的开销还是值得的。而对比K-means算法可以看出,在数据量较小或聚簇数目较小时,该算法的运算时间要比K-means算法稍高,但是随着数据量的增大和聚簇数目的增加,由于群智能算法特有的启发式搜索机制,其运算时间增长速率明显小于K-means算法。

5.结束语

由上可见, K_means算法因为对初始中心依赖性而导致聚类结果可能陷入局部极小,而采用密度函数法的多中心聚类并结合小类合并运算的聚类结果明显优于K_means

的聚类结果,算法的每一次迭代都是倾向于发现超球面簇,尤其对于二维平面中延伸状的不规则簇具有良好的聚类能力。对于样本数据空间为高维数据时,还需修改初始化模型,其相关问题还须进一步研究。

致谢:

在此,向对本文的工作给予很多帮助的文献资料,还有向本课程老师金冉老师表示感谢。

6.参考文献

[1] 杨善林,李永森湖笑旋,等.K-means 算法中的k值优化问题研究[J].系统工程理论与实践,2006(2):97.101.

[2] 冯超 .K-means 聚类算法的研究 [D].大连:大连理工大学,2007:25-29.

[3] LAI Yuxia, LIU Jianping. Optimization study on initial center of K-means algorithm[J]. Computer Engineering and Application,2008,44(10):147-149

[4] 汪中,刘贵全,陈恩红.一种优化初始中心点的K-means算法[J].模式识别与人工智能,2009,22(2):299-304.

[5]CHAUD HURID, CHAUD HURIBB. A novel multi_seed no nhierarchical data clustering technique [J] .IEEE Transactio ns on Systems , Man and Cybernetics :Part B , 1997 , 27(5): 871-877.

[6] 裴继红,范九伦,谢维信.聚类中心的初始化方法[J] .电子科学学刊, 1999 ,5 (3) :320- 325.

[7] 汪军,王传玉,周呜争.半监督的改进K-均值聚类算法[J].计算机工程与应用,2009,45(28):137-139.

[8] YANG Shu-zhong,LUO Si-Wei. a novel algorithm for initializing cluster[J].Proceeding of the Fourth International Conference on Machine Learning and Cybernetics,2005:5579-5583.

[9] 钱线,黄萱菁,吴立德.初始化K-means 谱算法[J].自动化学报,2007,33(4):342-346. [10] 王玲,薄列峰,焦李成. 密度敏感的谱聚类[J].电子学报,2007,35(8):1577-1581.

[11] Leng MingWei, Tang Haitao, Chen Xiaoyun. An efficient initialization scheme for K-means clustering[J].Eighth ACIS International Conference on Software Engineering, Artificial Intelligence, Networking,and Parallel/Distributed Computing,2007:815-820.

[12] Treshansky A , McGraw R.An overview of clustering algorithms[A] . Proceedings of SPIE , The International Society for Optical Engineering

[C] .2001(4367) :41 - 51.

[13] Clausi D A. K2means Iterative Fisher ( KIF) unsupervised clustering algorithm applied to image texture segmentation[J] .Pattern Recognition , 2002 , 35 :1959 - 1972.

[14] Bezdek J C , Pal N R. Some new indexes of cluster validity[J ] .IEEE Transactions on Systems , Man , and Cybernetics Part B :Cybernetics , 1998 ,28(3) :301 - 315.

[15] Ramze R M, Lelieveldt B P F , Reiber J H C. A new cluster validity indexes for the fuzzy c2mean[J] . Pattern Recognition Letters , 1998 ,19 :237 - 246.

[16] 孙即祥,姚伟,腾书华.模式识别[M].北京:国防工业出版社.2009.[17] CAO FY,LIANGJY,JIANG G.Aninitializationmethodfor theK-meansalgorithm usingneighborhoodmodel[J].Con-puters &MathematicswithApplications,2009,58(3):474—483.

[18] 张琳,陈燕,汲业,等.一种基于密度的K—means算法研究 [J].计算机应用研究,2011,28(11):4071—4073.[19] 张琼,张莹,白清源,等.基于Leader 的K均值改进算法[J].福州大学学报,2008,

36(4):493-496.

[20] 黄韬,刘胜辉,谭艳娜.基于K-means 聚类算法的研究[J].计算机技术与发展,2011,21(7):54—57.

SPSS软件聚类分析过程的图文解释及结果的全面分析

SPSS聚类分析过程 聚类的主要过程一般可分为如下四个步骤: 1.数据预处理(标准化) 2.构造关系矩阵(亲疏关系的描述) 3.聚类(根据不同方法进行分类) 4.确定最佳分类(类别数) SPSS软件聚类步骤 1. 数据预处理(标准化) →Analyze →Classify →Hierachical Cluster Analysis →Method 然后从对话框中进行如下选择从Transform Values框中点击向下箭头,此为标准化方法,将出现如下可选项,从中选一即可: 标准化方法解释:None:不进行标准化,这是系统默认值;Z Scores:标准化变换;Range –1 to 1:极差标准化变换(作用:变换后的数据均值为0,极差为1,且|x ij*|<1,消去了量纲的影响;在以后的分析计算中可以减少误差的产生。);Range 0 to 1(极差正规化变换/ 规格化变换); 2. 构造关系矩阵 在SPSS中如何选择测度(相似性统计量): →Analyze →Classify →Hierachical Cluster Analysis →Method 然后从对话框中进行如下选择常用测度(选项说明):Euclidean distance:欧氏距离(二阶Minkowski距离),用途:聚类分析中用得最广泛的距离;Squared Eucidean distance:平方欧氏距离;Cosine:夹角余弦(相似性测度;Pearson correlation:皮尔逊相关系数; 3. 选择聚类方法 SPSS中如何选择系统聚类法 常用系统聚类方法 a)Between-groups linkage 组间平均距离连接法 方法简述:合并两类的结果使所有的两两项对之间的平均距离最小。(项对的两成员分属不同类)特点:非最大距离,也非最小距离 b)Within-groups linkage 组内平均连接法 方法简述:两类合并为一类后,合并后的类中所有项之间的平均距离最小 C)Nearest neighbor 最近邻法(最短距离法) 方法简述:用两类之间最远点的距离代表两类之间的距离,也称之为完全连接法

k-means聚类算法的研究全解

k-means聚类算法的研究 1.k-means算法简介 1.1 k-means算法描述 给定n个对象的数据集D和要生成的簇数目k,划分算法将对象组织划分为k个簇(k<=n),这些簇的形成旨在优化一个目标准则。例如,基于距离的差异性函数,使得根据数据集的属性,在同一个簇中的对象是“相似的”,而不同簇中的对象是“相异的”。划分聚类算法需要预先指定簇数目或簇中心,通过反复迭代运算,逐步降低目标函数的误差值,当目标函数收敛时,得到最终聚类结果。这类方法分为基于质心的(Centroid-based)划分方法和基于中心的(Medoid-based)划分方法,而基于质心的划分方法是研究最多的算法,其中k-means算法是最具代表和知名的。 k-means算法是1967年由MacQueen首次提出的一种经典算法,经常用于数据挖掘和模式识别中,是一种无监督式的学习算法,其使用目的是对几何进行等价类的划分,即对一组具有相同数据结构的记录按某种分类准则进行分类,以获取若干个同类记录集。k-means聚类是近年来数据挖掘学科的一个研究热点和重点,这主要是因为它广泛应用于地球科学、信息技术、决策科学、医学、行为学和商业智能等领域。迄今为止,很多聚类任务都选择该算法。k-means算法是应用最为广泛的聚类算法。该算法以类中各样本的加权均值(成为质心)代表该类,只用于数字属性数据的聚类,算法有很清晰的几何和统计意义,但抗干扰性较差。通常以各种样本与其质心欧几里德距离总和作为目标函数,也可将目标函数修改为各类中任意两点间欧几里德距离总和,这样既考虑了类的分散度也考虑了类的紧致度。k-means算法是聚类分析中基于原型的划分聚类的应用算法。如果将目标函数看成分布归一化混合模型的似然率对数,k-means算法就可以看成概率模型算法的推广。 k-means算法基本思想: (1)随机的选K个点作为聚类中心; (2)划分剩余的点; (3)迭代过程需要一个收敛准则,此次采用平均误差准则。 (4)求质心(作为中心); (5)不断求质心,直到不再发生变化时,就得到最终的聚类结果。 k-means聚类算法是一种广泛应用的聚类算法,计算速度快,资源消耗少,但是k-means算法与初始选择有关系,初始聚类中心选择的随机性决定了算法的有效性和聚

(完整word版)各种聚类算法介绍及对比

一、层次聚类 1、层次聚类的原理及分类 1)层次法(Hierarchical methods)先计算样本之间的距离。每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。比如最短距离法,将类与类的距离定义为类与类之间样本的最短距离。 层次聚类算法根据层次分解的顺序分为:自下底向上和自上向下,即凝聚的层次聚类算法和分裂的层次聚类算法(agglomerative和divisive),也可以理解为自下而上法(bottom-up)和自上而下法(top-down)。自下而上法就是一开始每个个体(object)都是一个 类,然后根据linkage寻找同类,最后形成一个“类”。自上而下法就是反过来,一开始所有个体都属于一个“类”,然后根据linkage排除异己,最后每个个体都成为一个“类”。这两种路方法没有孰优孰劣之分,只是在实际应用的时候要根据数据特点以及你想要的“类”的个数,来考虑是自上而下更快还是自下而上更快。至于根据Linkage判断“类” 的方法就是最短距离法、最长距离法、中间距离法、类平均法等等(其中类平均法往往被认为是最常用也最好用的方法,一方面因为其良好的单调性,另一方面因为其空间扩张/浓缩的程度适中)。为弥补分解与合并的不足,层次合并经常要与其它聚类方法相结合,如循环定位。 2)Hierarchical methods中比较新的算法有BIRCH(Balanced Iterative Reducing and Clustering Using Hierarchies利用层次方法的平衡迭代规约和聚类)主要是在数据量很大的时候使用,而且数据类型是numerical。首先利用树的结构对对象集进行划分,然后再利用其它聚类方法对这些聚类进行优化;ROCK(A Hierarchical Clustering Algorithm for Categorical Attributes)主要用在categorical的数据类型上;Chameleon(A Hierarchical Clustering Algorithm Using Dynamic Modeling)里用到的linkage是kNN(k-nearest-neighbor)算法,并以此构建一个graph,Chameleon的聚类效果被认为非常强大,比BIRCH好用,但运算复杂度很高,O(n^2)。 2、层次聚类的流程 凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。这里给出采用最小距离的凝聚层次聚类算法流程: (1) 将每个对象看作一类,计算两两之间的最小距离; (2) 将距离最小的两个类合并成一个新类; (3) 重新计算新类与所有类之间的距离; (4) 重复(2)、(3),直到所有类最后合并成一类。

聚类分析方法

聚类分析方法 方法介绍 聚类分析 (Clauster Analysis) 数值分类法的一种,在社会应用中称类型学。 Robert Tryon于1939年提出的一种心理学研究方法。 目的:用数量关系对事物进行分类。 对于可以用某些数量描述的事物,采用样本间的距离来将性质接近的事物归为一类,从而达到对事物的分析和评价。 聚类分析作分类时各类群乃至类群数事先未知,而是根据数据的特征确定的,又称为无师可循的分类。 一般分为逐步聚类、系统聚类和其它方法。 16种饮料的热量、咖啡因、钠及价格四种变量 数据示例 聚类分析(cluster analysis) 对于一个数据,人们既可以对变量(指标)进行分类(相当于对数据中的列分类),也可以对观测值(事件、样品)来分类(相当于对数据中的行分类)。 比如学生成绩数据就可以对学生按照理科或文科成绩(或者综合考虑各科成绩)分类。 当然,并不一定事先假定有多少类,完全可以按照数据本身的规律来分类。 如何度量远近, 如果想要对100个学生进行分类,如果仅仅知道他们的数学成绩,则只好按照数学成绩来分类;这些成绩在直线上形成100个点。这样就可以把接近的点放到一类。

如果还知道他们的物理成绩,这样数学和物理成绩就形成二维平面上的100 个点,也可以按照距离远近来分类。 三维或者更高维的情况也是类似;只不过三维以上的图形无法直观地画出来而已。在饮料数据中,每种饮料都有四个变量值。这就是四维空间点的问题了。 如果以n个数值型变量(n维空间)来描述某一类事物,则一个事物就是n维空间中是一个点。 Y X Z 1>. . . . . . . . . . . . . .

各种聚类算法的比较

各种聚类算法的比较 聚类的目标是使同一类对象的相似度尽可能地小;不同类对象之间的相似度尽可能地大。目前聚类的方法很多,根据基本思想的不同,大致可以将聚类算法分为五大类:层次聚类算法、分割聚类算法、基于约束的聚类算法、机器学习中的聚类算法和用于高维度的聚类算法。摘自数据挖掘中的聚类分析研究综述这篇论文。 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思想 逐步对聚类结果进行优化、不断将目标数据集向各个聚类中心进行重新分配以获最优解

系统聚类分析

聚类分析 聚类分析是研究“物以类聚”的一种多元统计方法。国内有人称它为群分析、点群分析、簇群分析等。 聚类分析的基本概念 聚类分析是研究对样品或指标进行分类的一种多元统计方法,是依据研究对象的个体的特征进行分类的方法。它把分类对象按一定规则分成若干类,这些类非事先给定的,而是根据数据特征确定的。在同一类中这些对象在某种意义上趋向于彼此相似,而在不同类中趋向于不相似。它职能是建立一种能按照样品或变量的相似程度进行分类的方法。 聚类分析的基本思想是认为我们所研究的样本或指标(变量)之间存在着程度不同的相似性(亲疏关系)。于是根据一批样本的多个观测指标,具体找出一些彼此之间相似程度较大的样本(或指标)聚合为一类,把另外一些彼此之间相似程度较大的样本(或指标)又聚合为另一类,关系密切的聚合到一个小的分类单位,关系疏远的聚合到一个大的分类单位,直到把所有样本(或指标)都聚合完毕,把不同的类型一一划分出来,形成一个由小到大的分类系统。最后把整个分类系统画成一张谱系图,用它把所有样本(或指标)间的亲疏关系表示出来。这种方法是最常用的、最基本的一种,称为系统聚类分析。 聚类分析有两种:一种是对样本的分类,称为Q型,另一种是对变量(指标)的分类,称为R型。 聚类分析给人们提供了丰富多彩的方法进行分类,这些方法大致可以归纳为: (1)系统聚类法。首先将n个也样品看成n类(一个类包含一个样品),然后将性质最接近的两类合并成一个新类,我们得到n-1类,再从中找出最接近的两类加以合并成了n-2类,如此下去,最后所有的样品均在一类,将上述并类过程画成一张图(称为聚类图)便可决定分多少类,每类各有什么样品。 (2)模糊聚类法。将模糊数学的思想观点用到聚类分析中产生的方法。该方法多用于定型变量的分类。 (3)K—均值法。K—均值法是一种非谱系聚类法,它是把样品聚集成k个类的集合。类的个数k可以预先给定或者在聚类过程中确定。该方法可用于比系

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

聚类分析的方法

聚类分析的方法 一、系统聚类法 系统聚类分析法就是利用一定的数学方法将样品或变量(所分析的项目)归并为若干不同的类别(以分类树形图表示),使得每一类别内的所有个体之间具有较密切的关系,而各类别之间的相互关系相对地比较疏远。系统聚类分析最后得到一个反映个体间亲疏关系的自然谱系,它比较客观地描述了分类对象的各个体之间的差异和联系。根据分类目的不同,系统聚类分析可分为两类:一类是对变量分类,称为R型分析;另一类是对样品分类,称为Q型分析。系统聚类分析法基本步骤如下(许志友,1988)。 (一)数据的正规化和标准化 由于监测时所得到的数值各变量之间相差较大,或因各变量所取的度量单位不同,使数值差别增大,如果不对原始数据进行变换处理,势必会突出监测数据中数值较大的一些变量的作用,而消弱数值较小的另一些变量的作用,克服这种弊病的办法是对原始数据正规化或标准化,得到的数据均与监测时所取的度量单位无关。 设原始监测数据为Xij (i=1,2,…,n;j=1,2,…,m;n为样品个数,m为变量个数),正规化或标准化处理后的数据为Zij (i=1,2,…,n;j=1,2,…,m)。 1. 正规化计算公式如下: (7-32) (i=1,2,…,n;j=1,2,…,m) 2. 标准化计算公式如下: (7-33) (i=1,2,…,n;j=1,2,…,m) 其中:

(二)数据分类尺度计算 为了对数据Zij进行分类,须对该数据进一步处理,以便从中确定出分类的尺度,下列出分类尺度计算的四种方法。 1.相关系数R 两两变量间简单相关系数定义为: (7-34) (i,j=1,2,…,m) 其中 一般用于变量的分类(R型)。有一1≤≤1且愈接近1时,则此两变量愈亲近, 愈接近-1,则关系愈疏远。 2.相似系数 相似系数的意义是,把每个样品看做m维空间中的一个向量,n个样品相当于m维空间中的n个向量。第i个样品与第j个样品之间的相似系数是用两个向量之间的夹角余弦来定义,即:

matlab实现Kmeans聚类算法

matlab实现Kmeans聚类算法 1.简介: Kmeans和应用于混合高斯模型的受限EM算法是一致的。高斯混合模型广泛用于数据挖掘、模式识别、机器学习、统计分析。Kmeans 的迭代步骤可以看成E步和M步,E:固定参数类别中心向量重新标记样本,M:固定均值只考虑(估计)了均值,而没有估计类别的方差,所以聚类的结构比较适合于特征协方差相等的类别。 Kmeans在某种程度也可以看成Meanshitf的特殊版本,Meanshift 是所以Meanshift可以用于寻找数据的多个模态(类别),利用的是梯度上升法。在06年的一篇CVPR文章上,证明了Meanshift方法是牛顿拉夫逊算法的变种。Kmeans和EM算法相似是指混合密度的形式已知(参数形式已知)情况下,利用迭代方法,在参数空间中搜索解。而Kmeans和Meanshift相似是指都是一种概率密度梯度估计的方法,不过是Kmean选用的是特殊的核函数(uniform kernel),而与混合概率密度形式是否已知无关,是一种梯度求解方式。 k-means是一种聚类算法,这种算法是依赖于点的邻域来决定哪些点应该分在点,也可以对高维的空间(3维,4维,等等)的点进行聚类,任意高维的空间都可以。 上图中的彩色部分是一些二维空间点。上图中已经把这些点分组了,并使用了不同的颜色对各组进行了标记。这就是聚类算法要做的事情。 这个算法的输入是: 1:点的数据(这里并不一定指的是坐标,其实可以说是向量)

2:K,聚类中心的个数(即要把这一堆数据分成几组) 所以,在处理之前,你先要决定将要把这一堆数据分成几组,即聚成几类。但并不是在所有情况下,你都事先就能知道需要把数据聚成几类的。意味着使用k-means就不能处理这种情况,下文中会有讲解。 把相应的输入数据,传入k-means算法后,当k-means算法运行完后,该算法的输出是: 1:标签(每一个点都有一个标签,因为最终任何一个点,总会被分到某个类,类的id号就是标签) 2:每个类的中心点。 标签,是表示某个点是被分到哪个类了。例如,在上图中,实际上有4中“标签”,每个“标签”使用不同的颜色来表示。所有黄色点我们可以用标签以看出,有3个类离的比较远,有两个类离得比较近,几乎要混合在一起了。 当然,数据集不一定是坐标,假如你要对彩色图像进行聚类,那么你的向量就可以是(b,g,r),如果使用的是hsv颜色空间,那还可以使用(h,s,v),当然肯定可以有不同的组合例如(b*b,g*r,r*b) ,(h*b,s*g,v*v)等等。 在本文中,初始的类的中心点是随机产生的。如上图的红色点所示,是本文随机产生的初始点。注意观察那两个离得比较近的类,它们几乎要混合在一起,看看算法是如何将它们分开的。 类的初始中心点是随机产生的。算法会不断迭代来矫正这些中心点,并最终得到比较靠5个中心点的距离,选出一个距离最小的(例如该点与第2个中心点的距离是5个距离中最小的),那么该点就归属于该类.上图是点的归类结果示意图. 经过步骤3后,每一个中心center(i)点都有它的”管辖范围”,由于这个中心点不一定是这个管辖范围的真正中心点,所以要重新计算中心点,计算的方法有很多种,最简单的一种是,直接计算该管辖范围内所有点的均值,做为心的中心点new_center(i). 如果重新计算的中心点new_center(i)与原来的中心点center(i)的距离大于一定的阈值(该阈值可以设定),那么认为算法尚未收敛,使用new_center(i)代替center(i)(如图,中心点从红色点

聚类算法比较

聚类算法: 1. 划分法:K-MEANS算法、K-M EDOIDS算法、CLARANS算法; 1)K-means 算法: 基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。 K-Means聚类算法主要分为三个步骤: (1)第一步是为待聚类的点寻找聚类中心 (2)第二步是计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中去 (3)第三步是计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心 反复执行(2)、(3),直到聚类中心不再进行大范围移动或者聚类次数达到要求为止 下图展示了对n个样本点进行K-means聚类的效果,这里k取2: (a)未聚类的初始点集 (b)随机选取两个点作为聚类中心 (c)计算每个点到聚类中心的距离,并聚类到离该点最近的聚类中去 (d)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心 (e)重复(c),计算每个点到聚类中心的距离,并聚类到离该点最近的聚类中去 (f)重复(d),计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心 优点: 1.算法快速、简单; 2.对大数据集有较高的效率并且是可伸缩性的; 3.时间复杂度近于线性,而且适合挖掘大规模数据集。 缺点: 1. 在 K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。 2. 在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响。

K-means文本聚类算法

最大距离法选取初始簇中心的K-means文本聚类算法的研究 的评论 背景 随着计算机技术和网络技术的飞速发展,人们的生活方式产生了极大的改变。计算机从一个有几个房子大小的巨无霸,已经变成了小巧的笔记本。网络设备也已经从PC端走向移动端。越来越丰富的网络设备,让人们能在网络里畅游,网络对于人们来说触手可及,同时也产生了巨大的数据流量。人们如何从海量的数据中找到有用的信息,成为了现在计算机学科的研究热点。聚类是数据挖掘中重要的一支。由于聚类具有无需先验知识的优势,可以根据数据自然分部而获取知识。聚类成为数据挖掘领域一个非常活跃的领域,而且得到了广泛的应用。聚类就是把一个数据集合分成几个簇,在同一个簇里,数据相关性最高,但是在2个不同的簇里,数据相关性最低。K-means聚类算法主要针对处理大数据集时,处理快速简单,并且算法具有高效性和可伸缩性。但是,K-means聚类算法随机的选择初始簇中心会导致以下缺点:(1)得到的聚类结果中容易出现局部最优,而不是全局最优;(2)聚类结果不具有稳定性,很大程度上依赖于初始簇中心;(3)聚类过程中的迭代次数增加使聚类过程中的总耗时增加。 传统的k-means聚类算法 传统的聚类算法思想:首先从N个数据对象集合中随机选择k个对象,然后计算剩余的N-k个对象与k个对象的距离(相似度),与k个对象中哪个对象的距离最小,就把分给那个对象;然后在计算每个簇中的簇中心,即是每个簇中对象的均值;不断重复这一过程步骤,直到标准测度函数E开始收敛为止。 K-means算法描述如下: 输入:迭代终止条件ε,最大的迭代次数为max,簇的总数目是k,样本集有N个数据对象。 输出:满足迭代终止条件的k个簇和迭代次数s。 随机初始化k个簇中心: 对每个数据对象,分别计算该对象与k个簇中心均值的距离,并选择距离最小的簇将该对象加个到该簇里; 重新计算k个簇的中心,利用函数E计算出此时的函数值; 如果带到最大迭代次数或满足:

聚类分析方法

第一章Microarray 介绍 1.1 生物信息处理 基于对生物体“硬件”和“软件”的认识 ,提出暂时地撇开生物的物理属性 ,着重研究其信息属性 ,从而进入到生物信息处理 (关于生命硬件的信息和软件的信息 ,即生理信息和生命信息 )的一个分支 ,生物信息学。于是 ,为揭开生命之秘、揭示与生命现象相关的复杂系统的运作机制打开一条新的途径。 什么是生物信息处理 生物信息处理的英文是Bioinformatics。 1994年初 ,诺贝尔医学奖获得者美国教授M·罗德贝尔发表一篇评论 ,题为《生物信息处理 :评估环境卫生的新方法》。他认为生物信息处理是在基因数据库基础上 ,计算机驱动的能快速获得表达基因部分序列的方法。通过MEDLINE数据库 ,可以查阅到很多与生物信息处理 (Bioinformatics)有关的记录,其中JFAiton认为生物信息处理是基于计算机的数据库和信息服务;RPMurray认为生物信息处理包括两方面:第一是大量现存数据的自动化处理 ,第二是新的信息资源的生成;DBenton在题为《生物信息处理———一个新的多学科工具的原理和潜力》的文章中说 ,生物信息处理的材料是生物学数据 ,其方法来自广泛的各种各样的计算机技术。其方法来自广泛的各种各样的计算机技术。近年来 ,生物学数据在爆炸式增长 ,新的计算机方法在不断产生。这些方法在结构生物学、遗传学、结构化药品和分子演变学中是研究工作进展的基础。如果生物医学工程要在各个领域都从研究进展中获取最大好处 ,那么生物学数据健全的基础设施的开发与维护是同等重要的。尽管生物信息处理已经作出重要贡献 ,但是在它成熟时就会面临更大的需求在爆炸式增长 ,新的计算机方法在不断产生。这些方法在结构生物学、遗传学、结构化药品和分子演变学中是研究工作进展的基础。如果生物医学工程要在各个领域都从研究进展中获取最大好处 ,那么生物学数据健全的基础设施的开发与维护是同等重要的。尽管生物信息处理已经作出重要贡献 ,但是在它成熟时就会面临更大的需求。

聚类分析原理及步骤

聚类分析原理及步骤——将未知数据按相似程度分类到不同的类或簇的过程 1》传统的统计聚类分析方法包括系统聚类法、分解法、加入法、动态聚类法、有序样品聚类、有重叠聚类和模糊聚类等。采用k-均值、k-中心点等算法的聚类分析工具已被加入到许多著名的统计分析软件包中,如SPSS、SAS等。 典型使用 1》动植物分类和对基因进行分类 2》在网上进行文档归类来修复信息 3》帮助电子商务的用户了解自己的客户,向客户提供更合适的服务 主要步骤 1》数据预处理——选择数量,类型和特征的标度((依据特征选择和抽取)特征选择选择重要的特征,特征抽取把输入的特征转化 为一个新的显著特征,它们经常被用来获取一个合适的特征集来为避免“维数 灾”进行聚类)和将孤立点移出数据(孤立点是不依附于一般数 据行为或模型的数据) 2》为衡量数据点间的相似度定义一个距离函数——既然相类似性是定义一个类的基础,那么不同数据之间在同一个特 征空间相似度的衡量对于聚类步骤是很重要的,由于特征类型和特 征标度的多样性,距离度量必须谨慎,它经常依赖于使用,例如, 通常通过定义在特征空间的距离度量来评估不同对象的相异性,很 多距离度都使用在一些不同的领域一个简单的距离度量,如 Euclidean距离,经常被用作反映不同数据间的相异性,一些有关相

似性的度量,例如PMC和SMC,能够被用来特征化不同数据的概 念相似性,在图像聚类上,子图图像的误差更正能够被用来衡量两 个图形的相似性 3》聚类或分组——将数据对象分到不同的类中【划分方法 (划分方法一般从初始划分和最优化一个聚类标准开始,Cris p Clustering和Fuzzy Clusterin是划分方法的两个主要技术,Crisp Clustering,它的每一个数据都属于单独的类;Fuzzy Clustering,它的 每个数据可能在任何一个类中)和层次方法(基于某个标准产生一 个嵌套的划分系列,它可以度量不同类之间的相似性或一个类的可分 离性用来合并和分裂类)是聚类分析的两个主要方法,另外还有基于 密度的聚类,基于模型的聚类,基于网格的聚类】 4》评估输出——评估聚类结果的质量(它是通过一个类有效索引来 评价,,一般来说,几何性质,包括类间的分离和类内部的耦合,一般 都用来评价聚类结果的质量,类有效索引在决定类的数目时经常扮演 了一个重要角色,类有效索引的最佳值被期望从真实的类数目中获取, 一个通常的决定类数目的方法是选择一个特定的类有效索引的最佳 值,这个索引能否真实的得出类的数目是判断该索引是否有效的标准, 很多已经存在的标准对于相互分离的类数据集合都能得出很好的结 果,但是对于复杂的数据集,却通常行不通,例如,对于交叠类的集 合。) 聚类分析的主要计算方法原理及步骤划分法 1》将数据集分割成K个组(每个组至少包 含一个数据且每一个数据纪录属于且 仅属于一个分组),每个组成为一类2》通过反复迭代的方法改变分组,使得每 一次改进之后的分组方案都较前一次 好(标准就是:同一分组中的记录越近 越好,而不同分组中的纪录越远越好, 使用这个基本思想的算法有:

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类别划分开始,然

一种基于K-Means局部最优性的高效聚类算法

ISSN 1000-9825, CODEN RUXUEW E-mail: jos@https://www.wendangku.net/doc/ec5483159.html, Journal of Software, Vol.19, No.7, July 2008, pp.1683?1692 https://www.wendangku.net/doc/ec5483159.html, DOI: 10.3724/SP.J.1001.2008.01683 Tel/Fax: +86-10-62562563 ? 2008 by Journal of Software. All rights reserved. ? 一种基于K-Means局部最优性的高效聚类算法 雷小锋1,2+, 谢昆青1, 林帆1, 夏征义3 1(北京大学信息科学技术学院智能科学系/视觉与听觉国家重点实验室,北京 100871) 2(中国矿业大学计算机学院,江苏徐州 221116) 3(中国人民解放军总后勤部后勤科学研究所,北京 100071) An Efficient Clustering Algorithm Based on Local Optimality of K-Means LEI Xiao-Feng1,2+, XIE Kun-Qing1, LIN Fan1, XIA Zheng-Yi3 1(Department of Intelligence Science/National Laboratory on Machine Perception, Peking University, Beijing 100871, China) 2(School of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221116, China) 3(Logistics Science and Technology Institute, P.L.A. Chief Logistics Department, Beijing 100071, China) + Corresponding author: E-mail: leiyunhui@https://www.wendangku.net/doc/ec5483159.html, Lei XF, Xie KQ, Lin F, Xia ZY. An efficient clustering algorithm based on local optimality of K-Means. Journal of Software, 2008,19(7):1683?1692. https://www.wendangku.net/doc/ec5483159.html,/1000-9825/19/1683.htm Abstract: K-Means is the most popular clustering algorithm with the convergence to one of numerous local minima, which results in much sensitivity to initial representatives. Many researches are made to overcome the sensitivity of K-Means algorithm. However, this paper proposes a novel clustering algorithm called K-MeanSCAN by means of the local optimality and sensitivity of K-Means. The core idea is to build the connectivity between sub-clusters based on the multiple clustering results of K-Means, where these clustering results are distinct because of local optimality and sensitivity of K-Means. Then a weighted connected graph of the sub-clusters is constructed using the connectivity, and the sub-clusters are merged by the graph search algorithm. Theoretic analysis and experimental demonstrations show that K-MeanSCAN outperforms existing algorithms in clustering quality and efficiency. Key words: K-MeanSCAN; density-based; K-Means; clustering; connectivity 摘要: K-Means聚类算法只能保证收敛到局部最优,从而导致聚类结果对初始代表点的选择非常敏感.许多研究 工作都着力于降低这种敏感性.然而,K-Means的局部最优和结果敏感性却构成了K-MeanSCAN聚类算法的基 础.K-MeanSCAN算法对数据集进行多次采样和K-Means预聚类以产生多组不同的聚类结果,来自不同聚类结果的 子簇之间必然会存在交集.算法的核心思想是,利用这些交集构造出关于子簇的加权连通图,并根据连通性合并子 簇.理论和实验证明,K-MeanScan算法可以在很大程度上提高聚类结果的质量和算法的效率. 关键词: K-MeanSCAN;基于密度;K-Means;聚类;连通性 中图法分类号: TP18文献标识码: A ? Supported by the National High-Tech Research and Development Plan of China under Grant No.2006AA12Z217 (国家高技术研究发 展计划(863)); the Foundation of China University of Mining and Technology under Grant No.OD080313 (中国矿业大学科技基金) Received 2006-10-09; Accepted 2007-07-17

相关文档
相关文档 最新文档