K-means

简介:

给出n个观测值[ x1,x2,...,xn ],k-means聚类算法目标是把这n个观测值分成k(k<=n)个集合S( S=[S1,S2,...,Sn] ),使得每个集合的平方和(within-cluster sum of squares,WCSS)最小。
这里写图片描述

步骤:

  1. 在数据中随机选取k个点,作为中心点 u
  2. 根据k个点画欧洛诺伊图(Voronoi Diagram),对点进行分类。简单理解就是算每个点到u的距离,到哪个中心点距离近,就归为这一类。
  3. 将归类之后的数据的每个类别从新计算中心值,重复以上步骤,直到每个类中的点到中心点的距离最小。

缺点:

  1. 由于WCSS的前提,k-means假设分类的结果是凸面型和isotropic,而对细长型和不规则的形状分类效果不好。
  2. 在高维空间中,欧氏距离(Euclidean distances)趋向于膨胀(维度灾难)。所以在做k-means之前先做降维处理,如PCA可以减轻维度灾难和加速计算。
  3. k-means可能达到局部最小,这种情况受初始值的影响。一个解决办法是使用k-means++算法,这个算法会将初始值相隔一定距离的点上。这样就可能比随机选取点获得更好的效果。在scikit-learn中使用init=’k-means++’

参考文献
https://en.wikipedia.org/wiki/K-means_clustering
http://scikit-learn.org/stable/modules/clustering.html#spectral-clustering

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值