K-MEANS聚类算法的实现及应用
更新时间:2023-12-15 11:26:01 阅读量: 教育文库 文档下载
- k means聚类算法推荐度:
- 相关推荐
内容摘要 本文在分析和实现经典k-means算法的基础上,针对初始类中心选择问题,结合已有的工作,基于对象距离和密度对算法进行了改进。在算法实现部分使用vc6.0作为开发环境、sql sever2005作为后台数据库对算法进行了验证,实验表明,改进后的算法可以提高算法稳定性,并减少迭代次数。
关键字 k-means;随机聚类;优化聚类;记录的密度 1 引言
1.1聚类相关知识介绍
聚类分析是直接比较各事物之间性质,将性质相近的归为一类,将性质不同的归为一类,在医学实践中也经常需要做一些分类工作。如根据病人一系列症状、体征和生化检查的结果,将其划分成某几种方法适合用于甲类病的检查,另几种方法适合用于乙类病的检查,等等。聚类分析被广泛研究了许多年。基于聚类分析的工具已经被加入到许多统计分析软件或系统中,入s-plus,spss,以及sas。
大体上,聚类算法可以划分为如下几类: 1) 划分方法。 2) 层次方法。
3) 基于密度的算法。 4) 基于网格的方法。 5) 基于模型的方法。 1.2 研究聚类算法的意义
在很多情况下,研究的目标之间很难找到直接的联系,很难用理论的途径去解决。在各目标之间找不到明显的关联,所能得到的只是些模糊的认识,由长期的经验所形成的感知和由测量所积累的数据。因此,若能用计算机技术对以往的经验、观察、数据进行总结,寻找个目标间的各种联系或目标的优化区域、优化方向,则是对实际问题的解决具有指导意义和应用价值的。在无监督情况下,我们可以尝试多种方式描述问题,其中之一是将问题陈述为对数分组或聚类的处理。尽管得到的聚类算法没有明显的理论性,但它确实是模式识别研究中非常有用的一类技术。聚类是一个将数据集划分为若干聚类的过程,是同一聚类具有较高相似性,不同聚类不具相似性,相似或不相似根据数据的属性值来度量,通常使用基于距离的方法。通过聚类,可以发现数据密集和稀疏的区域,从而发现数据整体的分布模式,以及数据属性间有意义的关联。 2 k-means算法简介 2.1 k-means算法描述
k-means 算法接受输入量k,然后将n个数据对象划分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高,而不同聚类中的对象相似度较小。聚类相似度是利用各聚类中对象的均值所获得一个“中心对象”来进行计算的。k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数。 k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 2.2 k-means算法实现步骤
在原始的k-means算法中,由于数据对象的分类被不断地调整,因此平均误差准则函数在每次迭代过程中的值必定在不断减小。当没有数据对象被调整时,e(e指每个对象到该类中心的距离平方之和)的值不再变化,说明算法运行结果已经达到最优,同时算法运行结束。
(1)给定大小为 n 的数据集,令 i =1,选取 k 个初始聚类中心 z j(i),j =1,2,3,...,k ;
(2)计算每个数据对象与聚类中心的距离d(xi,zj(i)); (3)令i=i+1,计算k个新的聚类中心; j=1,2,3,?,k
以及平均误差准则函数e的值
(4)判断:若 e(i+1)=e(i)则算法结束,否则i=i+1,返回继续执行(2)步。
从上面步骤可以看出,该算法的特点为调整一个数据对象后就修改一次聚类中心和准则函数e的值,当考察完n个数据对象后,一次迭代运算完成,新的聚类中心和e值也计算出来了。如果在一次迭代前后,e的值没有变化,说明算法已经收敛,即使用准则e作为算法是否结束的依据。在迭代的过程中,e值逐渐减小,直到它的最小值为止。在算法的每次迭代过程中,把每一个数据对象分到离它最近的聚类中心所在的簇。 3. k-means算法初始类中心的选择
3.1 经典k-means算法初始类中心选择方法
先从需要聚类的所有对象中随机选取一个对象作为第一个初始聚类中心,然后从剩下的记录中随机选出下一个初始类中心,如此依次得到所有初始聚类中心,这样避免的类中心的重复。c++语言实现如下:m_numcluster指要聚类的数目,m_object[]保存记录对象,index_cluster[]保存初始类中心在m_object[]中的下标。 3.2 改进k-means算法类中心选择方法
本文列出了2种选择初始类中心的优化方法:远距离优化法和最大密度优化法。 3.2.1初始类中心的选择——远距离改进法
在k-means算法中,选择不同的初始聚类中心会产生不同的聚类结果且有不同的准确率.研究的目的就是如何一开始就可以快速,尽可能准确的找到数据在空间分布上的初始聚类中心,从而对数据进行划分.在用欧氏距离作为相似性度量的k-means算法中,相互距离最远的数据对象比随机取的数据对象更具有代表性,它们属于不同聚类的可能性比较大.如果能够寻找到是个相对距离最远的数据对象,它们分别代表了k个不同的数据集合,那么就可以找到与数据在空间分布上相一致的初始聚类中心.为了找到与数据在空间分布上相一致的、相似程度较大的数据集合。
找最远距离的两个对象步骤如下:确定需要划分簇的个数k,计算数据对象两两之间的距离;找出距离最远的两个数据对象,形成两个独立的数据对象a1 和a2;计算数据对象a1 ,a2。与数据对象集合u中每一个样本的距离,找出在u中与a1 ,a2同时最远的数据对象,将它作为数据对象a3。重复上面的过程,直到确定了ak个数据对象为止,形成k个初始聚类中心.根据排列组合可知,求距离语句的频度为cn2 =n(n-1)/2,则其时间复杂度为o(n2);如果对时间效率有要求,显然是不妥的。
正在阅读:
K-MEANS聚类算法的实现及应用12-15
科技文献检索论文06-01
10kV箱式变电站技术规范03-14
做妈妈的小帮手作文550字07-10
生命科学与工程学院-西南交通大学03-08
沉降观测规范03-19
洗脚的收获作文600字07-17
高中政治学科渗透法制教育工作计划412-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 算法
- 实现
- 应用
- MEANS
- 2017最新广州版英语六年级上册知识点汇总
- 四川省巴中市平昌县泥龙乡
- 变频器塔式起重机使用的几点体会与系统分析
- 土木工程 - 施工组织课程设计范例(含横道图)
- 2019年年高考理综物理 - 福建卷纯重排版、带详解完全 doc
- 技工学校语文教学的几点思考
- 松江区2017-2018学年度第一学期期末质量监控试卷高三语文试题(附答案)
- 微电子技术的发展
- 土地整理复习资料(四川农业大学)
- 强校工程课题方案
- 冀教版四年级信息技术教案全年 - 图文
- 中山大学旅游学院07级毕业生去向追踪调研报告 - 图文
- 营销学相关理论--4P、4C、6P、整合营销
- 基于嵌入式linux的多媒体播放器设计
- 职工监事制度
- 全球气候变化对人类活动的影响 - 图文
- 2018学年高中北师大版数学必修245分钟课时作业与单元测试卷:第2章1.5 平面直角坐标系中的距离
- 双手头上前抛实心球说课稿
- 2018年江苏省无锡市锡山区天一中学中考数学一模试卷及参考答案
- 2015国际贸易作业题