K-means聚类算法簇的个数的研究.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
K-means聚类算法簇的个数的研究

K-means聚类算法聚类个数的方法研究摘要:在数据挖掘算法中,K均值聚类算法是一种比较常见的无监督学习方法,簇间数据对象越相异,簇内数据对象越相似,说明该聚类效果越好。然而,簇个数的选取通常是由有经验的用户预先进行设定的参数。本文提出了一种能够自动确定聚类个数,采用SSE和簇的个数进行度量,提出了一种聚类个数自适应的聚类方法(SKKM)。通过UCI数据集的实验,验证了SKKM可以快速的找到数据集中聚类个数。关键字:K-means算法; 聚类个数; 初始聚类中心; 近年来,随着信息技术的发展,特别是云计算、物联网、社交网络等新兴应用的产生,我们的社会正从信息时代步入数据时代。数据挖掘就是从大量的、不完整的、有噪声的、模糊的数据中通过数据清洗、数据集成、数据选择、数据变换、数据挖掘、数据评估、知识表示等过程挖掘出隐含信息的过程。目前,数据挖掘已经广泛的应在电信、银行、零售、公共服务、气象等多个行业与领域。聚类是数据挖掘中一项重要的技术指标,也受到人们的重视,并且广泛的应用在多个领域中[1]。K均值算法是一种基于划分的聚类算法。通常是由有经验的用户对簇个数K进行预先设定,一般用户很难确定K的值,K值设定的不正确将会导致聚类算法结果的错误,因此,本文提出了一种SKKM的方法对K值进行确认。传统的K均值聚类算法中的另外一个缺点就是初始中心点的选取问题,随机选取初始中心点将会导致局部最优解, 而不是全局最优解,因此,初始中心点的研究也是聚类算法比较热门的话题。文献[2]提出了基于划分的聚类算法,该方法对簇的个数并不是自动的获取,而是通过有经验的用户进行设定。现有的自动确定簇的个数的聚类方法通常需要给出一些参数,然后再确定簇的个数。如:Iterative Self organizing Data Analysis Techniques Algorithm,该方法在实践中需要过多的对参数进行设定,并且很难应用在高维数据中[3]。为了更方便的确定簇的个数,我们提出了一种可以自动确定聚类个数的聚类方法。 簇类个数通常是由某一指标来自动确定,指标的好坏将直接影响聚类的效果。评价聚类算法准则通常是与簇内对象相似成正比,以簇间相似成反比。[4] 根据SSE度量的性质,我们提出了基于SSE的K乘SSE的K均值聚类方法。该方法通过划分算法来分配数据点的结果,在最终的结果中利用SK来确定最佳聚类个数。从而可以自动确定聚类个数。 本文提出的SKKM算法,不仅能够有效的自动确定簇的个数,而且适用于多维的数据。与其他的自动确定簇的个数聚类算法相比,我们的算法参数设置更少,在实践中更容易使用,并且在对UCI中的数据集和仿真数据的实验中证明了SKKM算法的有效性。改进的k-Means算法 SKKM算法是本文提出的一种自动确定聚类个数的方法,为了使读者可以更好的了解SKKM算法,我们首先介绍划分聚类方法和SK指标。划分聚类方法K-means算法是将数据集划分为K个簇的方法。簇的个数K是用户自己预先设定,并且簇的中心点是通过簇的质心来进行描述。算法在调用的过程中会用到欧式距离和质心的概念[5],现在我们先来看下欧式距离和质心的定义。定义如下:定义1 设向量和分别表示两个数据向量,那么本文说的欧式距离定义为:其中n代表该数据集的维数。定义2 对于同一个簇中,该簇的质心定义如下:其中是该簇的数据个数,为该簇的数据对象。K-means聚类算法是以K为参数,对数据集N个对象划分为K个数据簇,并且保证簇内数据对象相似度高,簇间数据对象相似度低。首先随机选择K个对象,每个对象代表着一个簇的中心。然后对数据集中的剩余数据对象分别计算到K个数据对象的距离,并且将其赋给最近的簇中。然后从新计算簇的质心,直到准则函数收敛[6]算法描述如下:Step1:从数据集中随机取K个点作为起始质心Step2:分别计算数据集各个点到K个簇的欧式距离,并且将这些数据点划分到各个簇中Step3: 依据聚类结果,通过簇内数据重新计算质心Step4: 重复第二步,直到质心位置不再变化Step5: 输出结果SK指标SSE算法是一种用于度量聚类效果的指标。误差平方和越小,表示越接近与它们的质心,聚类效果相应的也就越好。由于SSE是对误差去了平方,因此更加注重远离质心的点。其实有一种有效的方法可以降低SSE的值,但这种方法是增加簇的个数来降低SSE的值,而聚类算法的目标是保持聚类数目不变的情况下,来提高簇的个数,故该方法并不能有效的保证簇内对象相似,簇间对象相异[7]。而本文提出的SK指标,是将SSE的值和K值相结合,从而取出最佳K值,来达到聚类的目的。定义3 SSE的公式定义如式(3)所示: 其中表示第类数据对象的集合。是簇的质心,K表示该数据集可以划分为K个簇的集合,dist是欧几里德空间里2个空间对

文档评论(0)

整理王 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档