K-Means(K均值) 算法

       

       K-Means算法的基本思想是初始随机给定K个簇中心,按照最邻近原则把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。K是我们事先需要给定的聚类数目(K小于样本的个数N)。


K-Means聚类算法主要分为三个步骤:

(1)随机在样本中选取K个样本点作为聚类中心。
(2)计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中心的簇中去。
(3)重新计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心
反复执行(2)、(3),直到聚类中心点不再变化或变化很小为止。


下图展示了对n个样本点进行K-Means聚类的效果,这里K=2:



K-Means算法的优点:

  • 是解决聚类问题的一种经典算法,简单、快速
  • 对处理大数据集,该算法保持可伸缩性和高效率
  • 当结果簇是密集的,它的效果较好

K-Means算法的缺点:

  • K值需要事先给定,而这个 K 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。
  • K-Means算法对初值敏感,对于不同的初始值,可能会得到不同的结果。(K-Means++算法可以用来解决这个问题,其可以有效地选择初始点)。
  • 不适合于发现非凸面形状的簇或者大小差别很大的簇。
  • 对躁声和孤立点数据敏感。


K-Means算法 常常用于其他聚类算法的一个阶段,如谱聚类。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值