内容简介:它会将这个数据集划分成两类,每一个绿圈就是一类。
在无监督学习中,我们会把没有标签的数据集交给算法,让它自动地发现数据之间的关系, 聚类算法( Clustering algorithm ) 就是一种无监督学习算法。它会自动地将无标签的数据集进行分类,如下图:
它会将这个数据集划分成两类,每一个绿圈就是一类。
在聚类算法中,最常见的就是 K-均值算法( K-means algorithm ) ,我们先来看看这个算法在下面这个数据集中是如何进行工作的。
如果将数据集划分成两类的话,第一步随机选取两个点作为 聚类中心 (通常不是这么选择,为了更方便的理解,先这么选,在后面我会告诉你正确应该如何去选择) :
对于每一个样本点,离哪一个聚类中心近就会被染成相应的颜色,划归成相同的一类:
然后每一类都会计算出离那些数据集最近的一个位置,将聚类中心移动到那个位置:
之后再进行染色:
再移动,再染色,再移动,再染色,再移动。。。(人类的本质是什么 )不断地进行循环,直到聚类中心不再移动为止:
现在就成功地划分出两类不同的数据集了。
再回过头来看 K-均值算法( K-means algorithm ) :它需要传入两个参数,需要 聚类的数量 K 和 训练集 。
一开始,会根据传入聚类的数量 K 随机初始化聚类中心,然后不断地去循环内部的两个循环:
红色部分表示每一个样本点选择离它最近的聚类中心染成相应的颜色,也就是簇分配,我们将每一个样本点划分到所属的聚类中心。实际上就是最小化这个代价函数:
蓝色部分表示不断地去移动聚类中心使它到跟它颜色相同的样本点的距离最小。
最后来补充一下如何初始化聚类中心。之前说过,随机位置初始化这种方法是不可取的,正确的操作是随机选取样本点所在的位置作为聚类中心,为了避免陷入到局部最优解中,我们要多次选取,挑选一个代价函数最小的作为我们的选择,这样就会达到最优的效果。
ps. 本篇文章是根据吴恩达机器学习课程整理的学习笔记。如果想要一起学习机器学习,可以关注微信公众号「 SuperFeng 」,期待与你的相遇。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
风云Flash ActionScript高级编程艺术
赵英杰 / 第1版 (2006年7月1日) / 2006-7 / 45.00元
本书从基本的Actionscript语言概念开始介绍,配以实际的程序实例并穿插生动的图示说明,深入浅出地讲解Flash ActionScript程序的运用逻辑与概念,让读者从实例中学习进而融会贯通。同时,本书也说明面向对象程序设计(00P)的语法及常用类别实例,提升读者制作F1ash作品的造诣和能力。全书共分为10章,精彩实例包括以三角函数制作的抽奖轮盘,FlashLite手机版孔明棋游戏,Bit......一起来看看 《风云Flash ActionScript高级编程艺术》 这本书的介绍吧!