- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
K值均值聚类算法在教学分组中的应用引言:K-均值聚类是流行、经典、简单的聚类方法之一。聚类是非监督学习的一种方法,也是常用的统计数据分析技术,应用领域很广,涉及机器学习、数据挖掘、模式识别、图像分析和生物信息学等。在统计和机器学习中, K-均值算法是一种聚类分析方法,它将n个观察对象分类到k个聚类,每个观察对象将被分到与均值最接近的聚类中。其基本思想是:通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果。一、K值均值聚类原理?所谓聚类问题,就是给定一个元素集合D,其中每个元素具有n个可观察属性,使用某种算法将D划分成k个子集,要求每个子集内部的元素之间相异度尽可能低,而不同子集的元素相异度尽可能高。其中每个子集叫做一个簇。?与分类不同,分类是示例式学习,要求分类前明确各个类别,并断言每个元素映射到一个类别,而聚类是观察式学习,在聚类前可以不知道类别甚至不给定类别数量,是无监督学习的一种。目前聚类广泛应用于统计学、生物学、数据库技术和市场营销等领域,相应的算法也非常的多。本文仅介绍一种最简单的聚类算法——k均值(k-means)算法。?1.1算法简介k-means算法,也被称为k-平均或k-均值,是一种得到最广泛使用的聚类算法。它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,算法的主要思想?是通过迭代过程把数据集划分为不同的类别,使得评价聚类性能的准则函数达到最优,从而使生成的每个聚类内紧凑,类间独立。这一算法不适合处理离散型属性,但是对于连续型具有较好的聚类效果。1.2算法描述?1、为中心向量c1, c2, …, ck初始化k个种子?2、分组:?(1)将样本分配给距离其最近的中心向量?(2)由这些样本构造不相交( non-overlapping )的聚类?3、确定中心:?用各个聚类的中心向量作为新的中心?4、重复分组和确定中心的步骤,直至算法收敛。?1.3?算?法 ?k-means算法?图1.1算法流程图输入:簇的数目k和包含n个对象的数据库。?输出:k个簇,使平方误差准则最小。?算法步骤:??1.为每个聚类确定一个初始聚类中心,这样就有K 个初始聚类中心。??2.将样本集中的样本按照最小距离原则分配到最邻近聚类 ??3.使用每个聚类中的样本均值作为新的聚类中心。?4.重复步骤2.3直到聚类中心不再变化。?5.结束,得到K个聚类?PS1.将样本分配给距离它们最近的中心向量,并使目标函数值减小??2、更新簇平均值3、计算准则函数E?计算准则函数(2)选择评价聚类性能的准则函数?? ? ? k-means聚类算法使用误差平方和准则函数来评价聚类性能。给定数据集X,其中只包含描述属性,不包含类别属性。假设X包含k个聚类子集X1,X2,…XK;各个聚类子集中的样本数量分别为n1,n2,…,nk;各个聚类子集的均值代表点(也称聚类中心)分别为m1,m2,…,mk。则误差平方和准则函数公式为:?(3)相似度的计算根据一个簇中对象的平均值来进行。?1)将所有对象随机分配到k个非空的簇中。?2)计算每个簇的平均值,并用该平均值代表相应的簇。?3)根据每个对象与各个簇中心的距离,分配给最近的簇。?4)然后转2),重新计算每个簇的平均值。这个过程不断重复直到满足某个准则函数才停止?1.4聚类例子图1.2数据集数据对象集合S见上表,作为一个聚类分析的?二维样本?,要求的簇的数量k=2。?(1)选择???,??为初始的簇中心,即? (2)对剩余的每个对象,根据其与各个簇中心的距离,将它赋给最近的簇对:?显然??,故将C2分配给?对于:因为:??所以将分配给C2对于:因为:??所以讲:分配给C1?更新,得到新簇和计算平方误差准则,单个方差为总体平均方差是:(3)计算新的簇的中心。???重复(2)和(3),得到O1分配给C1;O2分配给C2,O3分配给C2 ,O4分配给C2,O5分配给C1。更新,得到新簇?和中心为,单个方差分别为总体平均误差是:由上可以看出,第一次迭代后,总体平均误差值52.25~25.65,显著减小。由于在两次迭代中,簇中心不变,所以停止迭代过程,算法停止。二、K值均值聚类的Java实现以下是五个核心方法,他们分别是clusterSet(将当前元素放到最小距离中心相关的簇中),errorSquare(误差平方和准则函数),setNewCenter(生成新的簇中心),kmeans(主方法),KmeansTest(测试)?。2.1元素的分簇将当前元素放到最小距离中心相关的簇中????private?void?clusterSet()?{??????????float[]?distance?=?new?float[k];??????????for?(int?i?=?0;?i??dataSetLength;?i++)?
有哪些信誉好的足球投注网站
文档评论(0)