试验72基于数学模型的k均值聚类算法.DOC

试验72基于数学模型的k均值聚类算法.DOC

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
试验72基于数学模型的k均值聚类算法

第七章 数学模型 模型是算法的基础,是算法的来源与根本,因此,学习算法与编程语言的过程是离不开数学模型的。本章我们将从贝叶斯判别分析和k-means聚类两个基本问题入手来讨论两种算法的模型及实现。 在一些自然科学与社会科学的研究中,研究对象用某种方法已划分为若干类型。得到的一个新样品数据后,要确定该样品属于已知类型中的哪一类,这样的问题属于判别分析。判别分析是一种重要的统计分析方法。这一方法的基本思想是根据已知类别的样本所提供的信息,总结出分类的规律,建立判别公式和判别准则,判别新的样本点所属类型。本部分主要介绍基于数学模型的贝叶斯判别分析方法。 对事物进行分组,是人们认识事物的出发点,也是人们认识世界的一种重要方法。因此,分类学已经成为人们认识世界的一门基础学科。聚类分析又称群分析,它是研究(样本或者之别)分组问题的一种多元统计方法。所谓类,通俗地说,就是指相似元素的集合。本部分主要介绍基于数学模型的k-means聚类方法。 实验7.2基于数学模型的k均值聚类算法 实验目的 (1) 掌握k均值聚类方法的原理及Matlab命令。 (2) 熟练掌握matlab软件k均值聚类的方法与步骤。 K均值是要根据实际问题先确定分类数k, 在每一类中选择有代表性的样品,这样的样品称为聚点. 选择聚点的方法通常有最小最大原则. 假设我们提取到原始数据的集合为(x1,?x2, …,?xn),并且每个xi为d维的向量,K-means聚类的目的就是,在给定分类组数k(k?≤?n)值的条件下,将原始数据分成k类S?=?{S1,?S2,?…,?Sk},在数值模型上,即对以下表达式求最小值: 这里μi?表示分类Si?的平均值。 实验内容 K均值聚类的步骤: 样品之间的距离采用欧氏距离. 设第k个初始聚点的集合是: 记作 于是,将样品分成不相交的k类,得到一个初始分类 (2) 从 出发,计算新的聚点集合 计算 其中 是类 中的样品数,得到一个新的集合 从 开始再进行分类,将样品作新的分类,记 得到一个新的分类依次重复计算下去. (3) 重复上述步骤m次得 ,其中 是类 的重心.  【例题7.2】从12不同地区测得了某树种的平均发芽率 与发芽势,数据如下 表6.2 12个地区某树种发芽情况 地区 1 2 3 4 5 6 7 8 9 10 11 12 0.707 0.600 0.693 0.717 0.688 0.533 0.877 0.513 0.815 0.633 0.740 0.777 0.385 0.433 0.505 0.343 0.605 0.380 0.713 0.353 0.675 0.465 0.580 0.723 采用欧氏距离,将这12个地区以树种发芽情况按k均值聚类法聚为2类. 解: 利用Matlab软件中的命令: kmeans,可以实现k均值 聚类 y=[.707 .6 .693 .717 .688 .533 .877 .513 .815 .633 .74 .777; .385 .433 .505 .343 .605 .38 .713 .353 .675 .465 .58 .723]; x=y; %矩阵x的行为个体,列为指标 [a,b]=kmeans(x,2)  %分为2类,输出: a为聚类的结果,b为聚类重心, 每一行表示一个类的重心 a = [2 2 2 2 1 2 1 2 1 2 1 1]’ b = 0.7794 0.6592 0.6280 0.4091 x1=x(find(a==1),:) %提取第1类里的样品 x2x(find(a==2),:) %提取第2类里的样品 x1 = 0.6880 0.6050 0.8770 0.7130 0.8150 0.6750 0.7400 0.5800 0.7770 0.7230 x2 = 0.7070 0.3850 0.6000 0.4330 0.6930 0.5050 0.7170 0.3430 0.5330 0.3800 0.5130 0.3530 0.6330 0.4650 sd1=std(x1), sd2std(x2)  % 分别计算第1类和第2类的 标准差 sd1 = 0.0719 0.0641 sd2 = 0.0831 0.0603 plot(x(a

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档