聚类算法-以K-means算法为例.ppt_第1页
聚类算法-以K-means算法为例.ppt_第2页
聚类算法-以K-means算法为例.ppt_第3页
聚类算法-以K-means算法为例.ppt_第4页
聚类算法-以K-means算法为例.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

聚类算法 以K means算法为例 安英博2013 12 26 分类是指将数据归于一系列已知类别之中的某个类的分类过程 分类作为一种监督学习方法 要求必须事先明确知道各个类别的信息 并且断言所有待分类项都有一个类别与之对应 但是很多时候上述条件得不到满足 尤其是在处理海量数据的时候 聚类是根据客体属性对一系列未分类的客体进行类别的识别 把一组个体按照相似性归成若干类 聚类属于无监督学习 分类和聚类 在商业上 聚类可以帮助市场分析人员从消费者数据库中区分出不同的消费群体来 并且概括出每一类消费者的消费习惯 它作为数据挖掘中的一个模块 可以作为一个单独的工具来发现数据库中分布的一些深层的信息 并且概括出每一类的特点 或者把注意力放在某一个特定的类上做进一步的分析 聚类分析的算法可以分为划分法 层次法 基于密度的方法 基于网格的方法 基于模型的方法 其中 最广泛使用的聚类算法k means算法属于划分法 聚类算法 给定一个有N个元组或者纪录的数据集 划分法将构造K个分组 每一个分组就代表一个聚类 K N 而且这K个分组满足下列条件 1 每一个分组至少包含一个数据纪录 2 每一个数据纪录属于且仅属于一个分组 某些模糊聚类算法中该条件可以放宽 对于给定的K 算法首先给出一个初始的分组方法 以后通过反复迭代的方法改变分组 使得每一次改进之后的分组方案都较前一次好 而所谓好的标准就是 同一分组中的记录越近越好 而不同分组中的纪录越远越好 划分法 k means算法 也被称为k 均值或k 平均 该算法首先随机地选择k个对象作为初始的k个簇的质心 然后对剩余的每个对象 根据其与各个质心的距离 将它赋给最近的簇 然后重新计算每个簇的质心 这个过程不断重复 直到准则函数收敛 通常采用的准则函数为平方误差和准则函数 即SSE sumofthesquarederror 其定义如下 SSE是数据库中所有对象的平方误差总和 p为数据对象 mi是簇Ci的平均值 这个准则函数使生成的结果尽可能的紧凑和独立 k means算法 下面给出k means算法的具体步骤 l 给定大小为n的数据集 令I 1 选取k个初始聚类中心Zj I j 1 2 3 k 2 计算每个数据对象与聚类中心的距离D xi Zj I i 1 2 3 n j l 2 3 k 如果满足D xi Zk I min D xi Zj I i l 2 3 n 则xi Ck 3 计算k个新的聚类中心 即取聚类中所有元素各自维度的算术平均数 4 判断 若Zj I 1 Zj I j l 2 3 k 则I I 1 返回 2 否则算法结束 k means算法描述 距离D的计算方法1 欧几里得距离 其意义就是两个元素在欧氏空间中的集合距离 因为其直观易懂且可解释性强 被广泛用于标识两个标量元素的相异度 2 曼哈顿距离 3 闵可夫斯基距离 k means算法描述 K Means的算法如下 随机在图中取k 这里k 2 个种子点 对图中的所有点求到这k个种子点的距离 假如点Pi离种子点Si最近 那么Pi属于Si点群 上图中 我们可以看到A B属于上面的种子点 C D E属于下面中部的种子点 移动种子点到属于他的 点群 的中心 见图上的第三步 然后重复第2 和第3 步 直到种子点不再移动 图中的第四步上面的种子点聚合了A B C 下面的种子点聚合了D E 从图中可以看到 A B C D E是五个在图中点 而灰色的点是种子点 也就是我们用来找点群的点 有两个种子点 所以k 2 举例概述 应用实例 中国男足近几年在亚洲处于几流水平 下图是采集的亚洲15只球队在2006年 2010年间大型比赛的战绩 澳大利亚未收录 数据做了如下预处理 对于世界杯 进入决赛圈则取其最终排名 没有进入决赛圈的 打入预选赛十强赛赋予40 预选赛小组未出线的赋予50 对于亚洲杯 前四名取其排名 八强赋予5 十六强赋予9 预选赛没出现的赋予17 应用实例 1 规格化数据由于取值范围大的属性对距离的影响高于取值范围小的属性 这样不利于反映真实的相异度 因此聚类前 一般先对属性值进行规格化 所谓规格化就是将各个属性值按比例映射到相同的取值区间 来平衡各个属性对距离的影响 通常将各个属性均映射到 0 1 区间 映射公式为 其中max ai 和min ai 表示所有元素项中第i个属性的最大值和最小值 0 3 2 选取k个初始聚类中心设k 3 即将这15支球队分成三个集团 抽取日本 巴林和泰国的值作为三个簇的种子 即初始化三个簇的中心为A 0 3 0 0 19 B 0 7 0 76 0 5 和C 1 1 0 5 应用实例 3 计算每个数据对象到聚类中心的距离D xi Zj I 计算所有球队分别对三个中心点的相异度 以欧氏距离度量 例 中国 1 1 0 5 A 0 3 0 0 19 d X Y 1 0 3 2 12 0 5 0 19 2 1 2594 应用实例 图中从左到右依次表示各支球队到当前中心点的欧氏距离 将每支球队分到最近的簇 可对各支球队做如下聚类 中国C 日本A 韩国A 伊朗B 沙特B 伊拉克C 卡塔尔C 阿联酋C 乌兹别克斯坦B 泰国C 越南C 阿曼C 巴林B 朝鲜B 印尼C 第一次聚类结果 A 日本 韩国 B 伊朗 沙特 乌兹别克斯坦 巴林 朝鲜 C 中国 伊拉克 卡塔尔 阿联酋 泰国 越南 阿曼 印尼 4 根据第一次聚类结果 调整3个簇的中心点A簇的新中心点为 0 3 0 2 0 15 0 0 15 2 0 075 0 19 0 13 2 0 16 0 15 0 075 0 16 B簇的新中心点为 0 24 0 3 0 7 3 5 0 528 0 76 4 0 68 5 0 744 0 25 0 06 0 25 0 5 1 5 0 412 0 528 0 744 0 412 C簇的新中心点 1 0 94 0 40625 应用实例 5 由于Zj 2 Zj 1 所以用调整后的中心点再次计算距离D所有球队分别到三个新中心点的距离D如图所示 所以 第二次迭代后的结果为 中国C 日本A 韩国A 伊朗B 沙特B 伊拉克C 卡塔尔C 阿联酋C 乌兹别克斯坦B 泰国C 越南C 阿曼C 巴林B 朝鲜B 印尼C 结果无变化 说明结果已收敛 最终聚类结果为 亚洲一流 日本 韩国 亚洲二流 乌兹别克斯坦 巴林 朝鲜 伊朗 沙特 应用实例 亚洲三流 中国 伊拉克 卡塔尔 阿联酋 泰国 越南 阿曼 印尼 中国 1 1 0 5 A 0 15 0 075 0 16 d X Y 1 0 15 2 1 0 075 2 0 5 0 16 2 1 3014 其实分析数据不仅告诉我们聚类信息 还提供了一些其它有趣的信息 例如从中可以定量分析出各个球队之间的差距 例如 在亚洲二流队伍中 伊朗与沙特水平最接近 另外 乌兹别克斯坦和巴林虽然没有打进近两届世界杯 不过凭借预选赛和亚洲杯上的出色表现占据B组一席之地 而朝鲜由于打入了2010世界杯决赛圈而有幸进入B组 其它有趣的信息还可以进一步挖掘 应用实例 主要优点 是解决聚类问题的一种经典算法 简单 快速 对处理大数据集 该算法是相对可伸缩和高效率的 因为它的复杂度是O nkt 其中 n是所有对象的数目 k是簇的数目 t是迭代的次数 通常k n且t n 当结果簇是密集的 而簇与簇之间区别明显时 它的效果较好 主要缺点 必须事先给出k值 但很多时候并不知道数据集应该分成多少个类别才最合适 聚类结果对初值敏感 对于不同的初始值 可能会导致不同结果 初始聚类中心的选择对聚类结果有较大的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论