《机器学习》 四,聚类算法①KMEANS算法

聚类算法

附带可视化演示地址:https://www.naftaliharris.com/blog/visualizing-dbscan-clustering/

对于"监督学习"(supervised learning),其训练样本是带有标记信息的,并且监督学习的目的是:对带有标记的数据集进行模型学习,从而便于对新的样本进行分类。而在“无监督学习”(unsupervised learning)中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。对于无监督学习,应用最广的便是"聚类"(clustering)。
聚类算法”试图将数据集中的样本划分为若干个通常是不相交的子集,每个子集称为一个“簇”(cluster),通过这样的划分,每个簇可能对应于一些潜在的概念或类别。
我们可以通过下面这个图来理解:
在这里插入图片描述
上图是未做标记的样本集,通过他们的分布,我们很容易对上图中的样本做出以下几种划分。
当需要将其划分为两个簇时,即 k=2k=2 时:
在这里插入图片描述在这里插入图片描述
 当需要将其划分为四个簇时,即 k=4k=4 时:
在这里插入图片描述
那么计算机是如何进行这样的划分的呢?这就需要聚类算法来进行实现了。本文主要针对聚类算法中的一种——kmeans算法进行介绍。

一,kmeans算法

kmeans算法又名k均值算法。其算法思想大致为:先从样本集中随机选取 kk 个样本作为簇中心,并计算所有样本与这 kk 个“簇中心”的距离,对于每一个样本,将其划分到与其距离最近的“簇中心”所在的簇中,对于新的簇计算各个簇的新的“簇中心”。
  根据以上描述,我们大致可以猜测到实现kmeans算法的主要三点:
  (1)簇个数 kk 的选择
  (2)各个样本点到“簇中心”的距离
  (3)根据新划分的簇,更新“簇中心”
  
1,kmeans算法要点在这里插入图片描述在这里插入图片描述
2,kmeans算法过程
在这里插入图片描述
在这里插入图片描述
3,kmeans算法分析
kmeans算法由于初始“簇中心”点是随机选取的,因此最终求得的簇的划分与随机选取的“簇中心”有关,也就是说,可能会造成多种 kk 个簇的划分情况。这是因为kmeans算法收敛到了局部最小值,而非全局最小值。

简化理解KMEANS算法

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值