基于距离函数的改进kmeans算法
摘要:聚类算法在自然科学和和社会科学中都有很普遍的应用,而Kmeans算法是聚类算法中经典的划分方法之一。但如果数据集内相邻的簇之间离散度相差较大,或者是属性分布区间相差较大,则算法的聚类效果十分有限。本文基于离散度的思想,采用新的加权距离函数代替了传统算法的欧氏距离,在一定程度上优化了kmeans算法的聚类结果。
关键词:聚类;kmeans算法;离散度
1概述
在当今时代,数据可以说是最宝贵的财富,数据挖掘算法成了发掘数据财富的最有效手段,而聚类分析可以算是数据挖掘算法的重要组成部分。聚类分析是指根据物理或者抽象对象的集合相似度来分组的分析过程,目标是尽量将类似的对象归为一类。聚类源于各种领域,包括计算机科学,数学,统计学,经济学和生物学等。用于衡量不同数据元素之间的相似性,并根据相似性将数据元素归类到不同的簇中。而根据对象间相似性度量和聚类评价准则的不同,聚类方法可以分成五类:层次方法,划分方法,基于密度的方法,基于网格的方法和基于模型的方法〔1〕。
Kmeans算法是很典型的基于距离的聚类算法,同是也是一种基于划分的算法,采用距离作为相似性的评价指标。该算法简单且易于使用,运行速度快,与其他聚类算法相比应用更加广泛〔2〕。但同时kmeans的缺陷也十分明显。首先,算法只能求得局部最优解,无法得到全局最优;其次,算法是硬聚类,初始中心点的选择对最终结果的影响相当大;再次,对于异常点非常敏感;最后,对于簇间离散度相差较大的数据集的边界点分类效果不好。
针对kmeans的缺陷,出现了许许多多不同的改进,主要针对类别个数K的选择,初始中心点,异常点剔除,相似性度量和聚类评价准则这四个方面。对于最佳聚类数的确定,国外学者Hamerly等提出了对于簇数量的估算方法〔3〕,可以根据簇的分布估算出K的大小,国内学者周世兵〔4〕等从样本几何结构的角度设计了一种新的聚类有效性指标,并在此基础上提出了一种新的确定最佳聚类数的方法;关于初始中心点的选择,朱颢东〔5〕等提出的使用改进的模拟退火算法来优化初始中心点,将退火算法和kmeans结合在一起,较好的改进了算法对初始中心点敏感这一缺点;对于样本异常点对于分类的影响,张玉芳〔6〕等提出了基于取样的划分思想,直接在样本层面排除了一部分的异常点,张琳〔7〕等采用密度的思想,通过设定EPS领域以及EPS领域内至少包含的对象数minpts来排除孤立点,并将不重复的核心点作为初始聚类中心;最后关于kmeans相似性度量和聚类评价准则,这一直是改进的主要方向,特别是对于原算法使用的欧氏距离,MaoJain〔8〕提出了Mahalanobis距离来代替,但是本身缺点也很明显。后来,先后出现了ItakuraSaito,Bregman等距离,相对于欧式距离有许多突出优点,如克服局部最优,线性时间复杂度等〔9〕。
2Kmeans算法的基本思想和过程
2。1Kmeans基本思想
kmeans算法是硬聚类算法,它将数据元素到中心点的某种距离作为聚类规则并迭代求极小值,是基于原型的目标函数聚类方法的代表。最原始的kmeans算法用元素点到中心点的欧式距离作为相似度测度,本质是一种贪心的思想,只选择当前所能看到的最优解,所以只能得到局部最优解。算法以K为簇的数量,一旦确定在算法执行过程中就不会改变,把n个对象分为K簇,kmeans的核心思想就是先从n个待聚类对象中选出K个点作为第一次聚类的初始中心点,而剩余的对象则根据相似度测度即到中心点的欧式距离分配到离得最近的簇,分配结束后计算新形成的簇的中心点。这是个迭代的过程直到中心点不再有较大的变化,达到聚类的效果。显然,kmeans的几个主要的缺点,初始K值难以确定、初始中心点选择影响较大也是因此而来。
2。2Kmeans算法的基本过程
第一步:在X中任意选择k个对象作为初始的簇中心;
第二步:REPEAT;
第三步:计算每个对象到每个簇中心点的距离,将每个对象分配给离得最近的簇(即最相似的簇);
第四步:根据新的聚类计算每个簇新的中心点;
第五步:直到每个簇的中心不再变化,或者变化小于某个阈值。
3改进的Kmeans算法
3。1改进的出发点
对于数据集来说如何才算是好的划分,除了要使同一簇中的对象相似,不同簇之间的对象不相似外,还应该看聚类结果是否能揭示数据的内在联系,得到合理的可解释的数据分类〔10〕。但是一个数据集内的簇不可能都是分布均匀的,他们之间的离散度可能相差很大。这种情况下,传统kmeans算法很难有很高的聚类正确率,特别是对于离散度比较大的簇,由于其准则函数是将各个簇的误差平方值直接相加而得到的,很容易将大离散度的簇的元素点,特别是两个簇的边界点,分配给离散度小的元素集中的簇,从而影响了聚类的质量。所以改进的出发点就在聚类评价准则。我们都知道,标准差可以用来描述组内个体间的离散程度,假设有一组数值则其标准差公式为:
3。2对象分配以及算法的改进
改进后的距离公式如下所示:
输入:含有N个对象的数据集以及簇的个数k;
输出:在k个中心点稳定之后的k个簇;
第一步:在数据集中随机选取k个对象作为初始的簇中心;
第二步:REPEAT;
第三步:使用改进之后的距离函数计算每个对象到每个簇中心点的距离,使dist()最小,将每个对象分配给离得最近的簇(即最相似的簇);
第四步:根据新的聚类计算每个簇新的中心点并计算此簇的标准差;
第五步:直到元素点的类别不在变化。
从上面的算法步骤可以看出,改进后的算法和传统kmeans步骤上没有什么区别,只有dist函数不一样。自然,改进后的算法时间复杂度比之传统kmeans算法要高一些。
4试验和结果分析
模拟试验使用的数据由MATLAB生成,包含一个数据集,数据集如图1所示:
数据集包含两个相邻的圆形簇。所有的数据点都是用的MATLAB随机方法生成,具体的数据见表1。
两个数据集的特点都是相邻的簇的离散度相差比较大,其中一个簇的数据元素的属性分布比较广,而且簇之间的距离比较近。分别对两个数据集上运行传统的kmeans算法和改进的kmeans算法。数据集二的试验结果如下所示,图3是传统kmeans算法的聚类结果,图4是改进算法的聚类结果。
对比可以看出,在模拟数据集下改进后的算法的正确率相对于传统kmeans有一定的提高。
5结论
参考文献:
〔3〕HandDJ,MannilaH,SmythP。Principlesofdatamining。MITpress,2001。
〔4〕JainAK,MaoJ,MohiuddinK。Artificialneuralnetworks:Atutorial。Computer,1996(3):3144。
〔5〕SomanK,DiwakarS,AjayV。DataMining:TheoryandPractice〔WITHCD〕。2006:PHILearningPvt。Ltd。
〔8〕张玉芳,毛嘉莉,熊忠阳。一种改进的Kmeans算法〔J〕。计算机应用,2003,23(8):3133。
〔9〕周世兵,徐振源,唐旭清。Kmeans算法最佳聚类数确定方法〔J〕。计算机应用,2010,30(8):19951998。
抗菌药物的不合理运用及其不良反应探讨〔摘要〕目的:探讨抗菌药物的不合理使用以及造成的不良反应情况。方法:选取2013年4月2014年4月我院开具的1200张药方,回顾性分析药方中选用的抗菌药物种类和剂量,分析患者……
社区医疗信息管理系统的设计与实现〔摘要〕随着我国经济的不断发展,民生基础建设也在不断完善,社会保障服务也得到了很好的发展,表现最为突出的就是社区医疗,从根本上上解决了看病难的问题,为了更好的服务人们的生活,本……
微信如何查看注册时间微信查看注册时间方法详解微信怎么查看注册时间,怎么查看微信注册时间,接下来由小编为您详细介绍。一、翻开微信。二、点击微信登录界面里的ldquo;我rdquo;。3、点击ldquo;设……
商阳厉兑刺血疗法对面瘫急性期临床疗效观察〔摘要〕目的:观察商阳、厉兑刺血疗法对面瘫急性期临床疗效的影响;方法:将60例急性期Bell’s面瘫患者随机分为治疗组和对照组。治疗组采用刺血、针刺配合西药治疗;对照组只采用针……
论述中医治疗妇科月经不调的临床体会〔摘要〕目的:对中医治疗妇科月经不调的治疗效果进行分析,并为临床治疗提供重要参考。方法:选取2012年06月至2014年05月期间在医院妇科治疗月经不调的175名病人进行分析研……
探讨呼吸内科疾病中优质护理服务的临床应用目的:研究分析优质护理应用于呼吸内科的临床效果。方法:2014年在我院接受治疗的200例患者中,探讨了在呼吸内科应用高质量的护理,除了基本护理,结合患者的需求,提供人性化的护理……
樱花无叶风扇有什么特点樱花无叶风扇原理是什么详细介绍风扇在夏季是我们大多数人都离不开的东西。风扇虽不会将温度降低,但是能带来一阵阵凉爽的风。现在商场的货架上出现了一种风扇叫做樱花无叶风扇。大家初见它的时候会特别的好奇,但是大家并……
顶狮龙浴霸怎么样顶狮龙浴霸优缺点详细介绍详解在卫生间,我们都会看见浴霸的存在。浴霸让我们在冬天洗澡不会感到寒冷,而且还会感到温暖。不过浴霸光线强、温度高,也存在一定的危险,所以很多人在选择的时候都很注意,尽量去选择有保障……
关于成都市三甲医院急诊科护理人员工作满意度调查【论文摘要】目的成都市三甲医院急诊科不同学特征护理人员工作满意度现状,为护理者制定相关管理措施提供依据。方法采用随机整群抽样法,进行横断面调查。对纳入研究的10家医院急诊科全体……
南充市1828名家长对学龄前儿童口腔健康知识知晓率调查目的调查南充市家长对学龄前儿童口腔健康知识知晓及关注情况,为相关部门针对性加强和完善儿童口腔保健工作提供参考依据。方法采用随机抽样方法,随机抽取南充市1828名学龄前儿童的家长……
联想a520系统怎么升级联想a520系统升级介绍图文联想a520是一款外观简约时尚的智能大屏手机,手机的大小拿在手里也是正合适,这无疑让很多手机爱好者感到欢喜。可是美中不足的是,这款手机的运行内存过小,于是这就导致使用过的机友们……
急诊外科病房开展优质护理服务的效果目的:探讨急诊外科病房开展优质护理服务的效果。方法2013年7月1日急诊外科病房展开优质护理服务,实施六个月后与2013年1月1日2013年6月30日未实施优质护理服务比较患者……
农林院校统计学专业多元统计分析课程教学探索《多元统计分析》是高等院校的一门应用性很强的课程,是统计学专业的核心课程,也是非统计学专业财经管理类、农林类专业研究生重要的基础课程。这门学科发展到今天,在自然科学、社会科学、……
苹果手机qq聊天记录删除了怎么恢复苹果手机qq聊天记录删除了怎么恢复?苹果手机QQ使用的是SQLite数据库进行信息存储的,由于SQLite数据库对于删除的记录并没有真正的删除,只是打上了删除标记的逻辑删除。可……
飞利浦philips热门产品价格及性能介绍在现在我国市场上的跨国企业品牌数量是相当的多,其中飞利浦品牌是一个比较大型的,知名的品牌。许多用户对于该品牌的了解是比较浅显,而且对于品牌产品情况也是知道的很少,这样在选购产品……
荣耀9青春版图片展示或是颜值最佳千元全面屏手机作为大家备受关注荣耀9青春版在今天下午正式发布,在发布会上,大家关心手机性能配置,价格等方面都公布了,配色上,荣耀9青春版采用彰显青春活力的四种颜色,分别是魅海蓝、海鸥灰、幻夜……
太空狗追骨头动态壁纸怎么设置太太空狗追骨头动态壁纸设置步骤最近很多人都被这只追骨头的太空狗萌翻了,太空狗追骨头动态壁纸也有很多网友都分享了下载,如何将太空狗livephoto导入iphone手机并且设置成手机锁屏壁纸也是需要一点技巧的……
荣耀magic3pro屏幕分辨率屏幕尺寸多少荣耀magic3pro这款手机为用户提供很好的骁龙888处理器,可以为用户提供很好的手机屏幕显示效果,为用户提供120Hz的屏幕,带来很好的手机屏幕显示效果,那么这款手机的屏幕……
经济统计学若干问题探析一、对经济统计学各个方面的认识(一)对其性质方面的认识对于统计学的性质和内容来说,在学术界一直都是颇具争议的,并没有统一认可的说法。从17世纪中叶开始,由德国的学者……
统计学视角下医院运营策略对医院发展的影响和作用分析医院作为现代社会发展中不可或缺的重要组成部分,其自身的发展不仅直接关系到人们的切身利益,同时也关乎着整个国家的发展。只有保持医院的良性发展,才能更好地为人民服务。医院在做好救死……
安徽新风系统什么品牌好安徽新风系统品牌推荐介绍大家如果要购买新风系统的话,为了能够更好地选购到新风系统使用,就要购买一款好的新风系统品牌来使用,小编今天就要来为大家介绍下新风系统的几款好品牌,帮助大家有一个更好的室内通风换……
静音除湿机怎么选择静音除湿机的介绍详解马上南方就要进入梅雨季节了,在梅雨季节里面湿度是很大的,房子的地面都会渗出水珠,是一件很痛苦的事情,这个时候我们就需要用到除湿机了,现在除湿机的品种还是很多的,静音除湿机就是其……
统计学教材中两个问题探析统计学教材中两个问题探析1第一季度劳动生产率类似问题的计算方法1。1目前统计教材中第一季度劳动生产率计算的两种方法目前,我国高等院校经济、管理类各专业都开设《……
格兰仕电磁炉好不好格兰仕电磁炉优点有哪些现在的我们跟以前的家庭主妇相比,我们是很幸福的。要知道在我们妈妈的那一代做饭都是用柴火的,哪有现在我们用的油烟机之类的。不得不说,我们现在的厨房用具是很多的,所以我们做饭也是很……