欢迎来到天天文库
浏览记录
ID:50174225
大小:787.00 KB
页数:5页
时间:2020-03-06
《K-means算法原理及功能介绍.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、K-means聚类算法一、K-means聚类原理1.1聚类算法的原理我们经常接触到的聚类分析,一般都是数值聚类,一种常见的做法是同时提取N种特征,将它们放在一起组成一个N维向量,从而得到一个从原始数据集合到N维向量空间的映射——总是需要显式地或者隐式地完成这样一个过程,然后基于某种规则进行分类,在该规则下,同组分类具有最大的相似性。聚类属于无监督学习,以往的回归、朴素贝叶斯、SVM等都是有类别标签y的,也就是说样例中已经给出了样例的分类。而聚类的样本中却没有给定y,只有特征x,比如假设宇宙中的星星可以表示成三维空间中的点集。聚类的目的是找到每个样本x潜在的类别
2、y,并将同类别y的样本x放在一起。比如上面的星星,聚类后结果是一个个星团,星团里面的点相互距离比较近,星团间的星星距离就比较远了。1.2K-means聚类原理假设我们提取到原始数据的集合为(x1, x2,…, xn),并且每个xi为d维的向量(d维向量由原始数据的d个特征组成),K-means聚类的目的就是,在给定分类组数k(k ≤ n)值的条件下,将原始数据分成k类 S = {S1, S2, …, Sk},1.3K-means聚类步骤 算法步骤一般如下:1、从D中随机取k个元素,作为k个簇的各自的中心。2、分别计算剩下的元素到k个簇中心的相异度,将这些元素
3、分别划归到相异度最低的簇。3、根据聚类结果,重新计算k个簇各自的中心,计算方法是取簇中所有元素各自维度的算术平均数。4、将D中全部元素按照新的中心重新聚类。5、重复第4步,直到每个簇的中心基本不再变化。6、将结果输出。1.4K-means聚类简单实例对数据点进行聚类,详细步骤如下所示:首先3个中心点被随机初始化,所有的数据点都还没有进行聚类,默认全部都标记为红色,如下图所示:然后进入第一次迭代:按照初始的中心点位置为每个数据点着上颜色,重新计算3个中心点,结果如下图所示:可以看到,由于初始的中心点是随机选的,这样得出来的结果并不是很好,接下来是下一次迭代的结果
4、:可以看到大致形状已经出来了。再经过两次迭代之后,基本上就收敛了,最终结果如下:二、k-means聚类算法的应用聚类就是按照一定的标准将事物进行区分和分类的过程,该过程是无监督的,即事先并不知道关于类分的任何知识。聚类分析又称为数据分割,它是指应用数学的方法研究和处理给定对象的分类,使得每个组内部对象之间的相关性比其他对象之间的相关性高,组间的相异性较高。聚类算法被用于许多知识领域,这些领域通常要求找出特定数据中的“自然关联”。自然关联的定义取决于不同的领域和特定的应用,可以具有多种形式。典型的应用例如:1.商务上,帮助市场分析人员从客户基本资料库中发现不同的
5、客户群,并用购买模式来刻画不同客户群的特征;2.聚类分析是细分市场的有效工具,同时也可用于研究消费者行为,寻找新的潜在市场、选择实验的市场,并作为多元分析的预处理。3.生物学上,用于推导植物和动物的分类,对基因进行分类,获得对种群固有结构的认识;4.地理信息方面,在地球观测数据库中相似区域的确定、汽车保险单持有者的分组,及根据房子的类型、价值和地理位置对一个城市中房屋的分组上可以发挥作用;1.聚类也能用于在网上进行文档归类来修复信息;2.在电子商务网站建设数据挖掘中的应用,通过分组聚类出具有相似浏览行为的客户,并分析客户的共同特征,可以更好的帮助电子商务的用户
6、了解自己的客户,向客户提供更合适的服务。3.聚类分析可以作为其它数据挖掘算法的预处理步骤,便于这些算法在生成的簇上进行处理。
此文档下载收益归作者所有