改进K―Means算法的探讨与分析.docVIP

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

  改进K―Means算法的探讨与分析 摘要:随着人类社会的不断进步和发展,K-Means作为聚类中较常用的算法,得到广泛的应用。该文探讨了K-Means和Canopy算法的执行过程,针对K-Means及Canopy的优缺点,提出了改进的K-Means算法。算法中将Canopy作为K-Means的预处理,通过Canopy得到聚类中簇的个数、初始化的聚类中心,同时排除掉“噪声”以及孤立点带来的影响,将Canopy的结果用于K-Means,进一步增强聚类性能,减少计算量。另外,针对K-Means中使用的距离度量公式,提出了改进的余弦距离度量公式,使得簇内数据点间的距离减小,簇间数据点间的距离增大,提高聚类质量。 中国 8/vie   关键词:聚类;K-Means;Canopy;余弦;距离度量公式;改进   中图分类号:TP319 文献标识码:A :1009-3044(2017)06-0200-02   1 概述   聚类分析作为一项重要的人类社会活动,广泛应用于市场研究、模式识别、数据分析和图像处理等诸多领域。在童年时期,我们通过不断改进潜意识聚类方案学习如何区分猫和狗,或动物和植物。通过自动化聚类,可以识别对象空间中的密集和稀疏区域,从而发现数据属性中的总体分布模式和有趣的相关性。在商业活动中,聚类分析可以帮助营销人员在其客户群中发现不同的群体,并基于购买模式来表征客户群。在生物学中,聚类分析可以将植物和动物区分开,将具有相似功能的基因进行分类,并获得对人群内在结构的了解。在未来的工作和生活中,聚类将继续发挥越来越举足轻重的作用,带给我们前所未有的帮助。   2 聚类算法介绍   聚类技?g中存在着许多算法,但是难以提供一种清晰的方法分类各种聚类算法,因为这些分类都可能重叠,使得一个聚类方法属于许多类别中。然而,呈现不同聚类方法的相对分类组织却是有用的。一般来说,主要的聚类方法可以分类为分区方法、分层方法、基于密度的方法、基于网格的方法、基于模型的方法等,很多聚类算法的共同点是需要选择度量距离的方法,可以根据向量空间和建模数据的性质采用多种方法测量向量之间的距离。K-Means则是分区方法中较为常见的一种算法,其流程如图1所示。   K-Means算法的主要不足体现在:   1)该算法必须事先确定簇的个数k,即要求用户事先知道数据集中数据的一些特点。但很多时候用户对数据集是不了解的,并不知道数据集应该聚类成多少个簇才最合适。聚类结果对初始聚类个数比较敏感,对于不同的初始值,可能会导致不同的聚类结果。   2)该算法经常以局部最优结束,有时很难达到全局最优。   3)该算法对初始化的聚类中心点较为敏感,对于不同的初始值,其聚类结果也可能有很大的差异。可通过多设置不同的初始值,对比最后的聚类结果,直到所有结果趋于稳定来改进这一不足,但该做法比较耗时,且浪费资源。   4)该算法只能发现球状簇,其他形状的簇较难发现。   5)该算法只有在簇的平均值被定义的情况下才能使用,这对于处理符号属性的数据不适用。另外,“噪声”和孤立点数据对聚类的结果影响也比较大,因为少量的该类数据可能对平均值产生极大的影响。   Canopy算法常作为K-Means算法的预处理,用于初始化聚类中心。Canopy聚类尝试通过将聚类过程划分为两个子过程来加速维度较高、基数较大的数据集的聚类。首先,通过选择一个简单、快捷的距离度量公式和两个阈值T1和T2,其中T1 T2,将数据集划为多个子集成为“canopy”,各子集之间可能存在重叠部分。然后将所有数据点添加到一个list中,并随机选择list中的一个点。迭代计算list中剩余点与初始化点之间的距离。如果距离在T1内,则该点将添加到该canopy。此外,如果距离在T2内,则将该点从list中移除。该算法重复迭代,直到list为空[1]。其次,通过使用一个精准、严密的距离计算方法来计算出现在第一步中同一个canopy的所有数据向量的距离。   Cnaopy聚类能帮助用户在使用K-Means聚类时估计k值。对T1、T2给定一个合适的阈值,Canopy聚类将会找到合适数量的canopy。如上所述,在K-Means聚类中,这些可用作初始质心。在Canopy聚类中,因为在第一步时将数据集简单地分为多个canopy,从而使得canopy内部的聚类速度明显提高。Canopy算法的优点主要体现在:   1)K-Means算法中孤立点和“噪声”点对聚类结果有很大的影响。而在Canopy算法中,经过第一步将所有的数据点划分到一个或多个canopy中,可通过直接去掉数据点较少的canopy来排除孤立点或“噪声”带来的干扰。   2)Canopy算法通过第一步的粗糙距离计算方法把数据划入不同的可重叠的子集中

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档