- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于距离函数的改进k―means 算法
基于距离函数的改进k―means 算法
摘要:聚类算法在自然科学和和社会科学中都有很普遍的应用,而K-means算法是聚类算法中经典的划分方法之一。但如果数据集内相邻的簇之间离散度相差较大,或者是属性分布区间相差较大,则算法的聚类效果十分有限。本文基于离散度的思想,采用新的加权距离函数代替了传统算法的欧氏距离,在一定程度上优化了k-means算法的聚类结果。
中国论文网 /8/view-7221215.htm
关键词:聚类;k-means算法;离散度
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2015)34-0167-03
1 概述
在当今时代,数据可以说是最宝贵的财富,数据挖掘算法成了发掘数据财富的最有效手段,而聚类分析可以算是数据挖掘算法的重要组成部分。聚类分析是指根据物理或者抽象对象的集合相似度来分组的分析过程,目标是尽量将类似的对象归为一类。聚类源于各种领域,包括计算机科学,数学,统计学,经济学和生物学等。用于衡量不同数据元素之间的相似性,并根据相似性将数据元素归类到不同的簇中。而根据对象间相似性度量和聚类评价准则的不同,聚类方法可以分成五类:层次方法,划分方法,基于密度的方法,基于网格的方法和基于模型的方法[1]。
K-means算法是很典型的基于距离的聚类算法,同是也是一种基于划分的算法,采用距离作为相似性的评价指标。该算法简单且易于使用,运行速度快,与其他聚类算法相比应用更加广泛[2]。但同时k-means的缺陷也十分明显。首先,算法只能求得局部最优解,无法得到全局最优;其次,算法是硬聚类,初始中心点的选择对最终结果的影响相当大;再次,对于异常点非常敏感;最后,对于簇间离散度相差较大的数据集的边界点分类效果不好。
针对k-means的缺陷,出现了许许多多不同的改进,主要针对类别个数K的选择,初始中心点,异常点剔除,相似性度量和聚类评价准则这四个方面。对于最佳聚类数的确定,国外学者Hamerly等提出了对于簇数量的估算方法[3],可以根据簇的分布估算出K的大小,国内学者周世兵[4]等从样本几何结构的角度设计了一种新的聚类有效性指标,并在此基础上提出了一种新的确定最佳聚类数的方法;关于初始中心点的选择,朱颢东[5]等提出的使用改进的模拟退火算法来优化初始中心点,将退火算法和k-means结合在一起,较好的改进了算法对初始中心点敏感这一缺点;对于样本异常点对于分类的影响,张玉芳[6]等提出了基于取样的划分思想,直接在样本层面排除了一部分的异常点,张琳[7]等采用密度的思想,通过设定EPS领域以及EPS领域内至少包含的对象数minpts来排除孤立点,并将不重复的核心点作为初始聚类中心;最后关于k-means相似性度量和聚类评价准则,这一直是改进的主要方向,特别是对于原算法使用的欧氏距离,Mao Jain[8]提出了Mahalanobis距离来代替,但是本身缺点也很明显。后来,先后出现了Itakura-Saito,Bregman等距离,相对于欧式距离有许多突出优点,如克服局部最优,线性时间复杂度等[9]。
2 K-means算法的基本思想和过程
2.1 K-means基本思想
k-means算法是硬聚类算法,它将数据元素到中心点的某种距离作为聚类规则并迭代求极小值,是基于原型的目标函数聚类方法的代表。最原始的k-means算法用元素点到中心点的欧式距离作为相似度测度,本质是一种贪心的思想,只选择当前所能看到的最优解,所以只能得到局部最优解。算法以K为簇的数量,一旦确定在算法执行过程中就不会改变,把n个对象分为K簇,k-means的核心思想就是先从n个待聚类对象中选出K个点作为第一次聚类的初始中心点,而剩余的对象则根据相似度测度即到中心点的欧式距离分配到离得最近的簇,分配结束后计算新形成的簇的中心点。这是个迭代的过程直到中心点不再有较大的变化,达到聚类的效果。显然,k-means的几个主要的缺点,初始K值难以确定、初始中心点选择影响较大也是因此而来。
2.2 K-means算法的基本过程
第一步:在X中任意选择k个对象作为初始的簇中心;
第二步:REPEAT;
第三步:计算每个对象到每个簇中心点的距离,将每个对象分配给离得最近的簇(即最相似的簇);
第四步:根据新的聚类计算每个簇新的中心点;
第五步:直到每个簇的中心不再变化,或者变化小于某个阈值。
3 改进的K-means算法
3.1 改进的出发点
对于数据集来说如何才算是好的划分,除了要使同一簇中的对象相似,不同簇之间的对象不相似外,还应该看聚类结果是否能揭示数据的内在联系,得到合理的可解释的数据分类[10]。但是一个数据集内的簇不可
文档评论(0)