K-means聚类

参考 http://www.cnblogs.com/jerrylead

聚类就是将样本{ x1,x2,...xn }按照属性分类,注意这里样本的表已经不再是(x,y)了,现在只有属性x,因此聚类属于非监督学习法。

K-means聚类,就是将样本分为k类,其思想是:
1、先随机选择k个聚类中心(即随机选择k个样本)
2、将每个样本划分到与它距离最小的中心所属类别
3、根据2划分的结果重新计算k个聚类中心(每个类别中所有样本的均值)转到2,直至收敛

算法描述如下:
这里写图片描述

上面k表示我们要将样本分为k类,我们有k个聚类中心, μj 代表第当前迭代中的j个聚类中心。
这里写图片描述
上图是2个聚类中心的情况,a是原始样本,b中随机选择了两个聚类中心(这里并没有选取样本来初始化,而是任意选择了两个点),cdef是每次迭代逐渐收敛的过程。

下面我们来看看,k-means是否收敛,定义畸变函数:

J(c,μ)=i=1m||x(i)μc(i)||2

可以看出 J 就是每个类别中所有样本x(i)到聚类中心 μc(i) 的方差和。从上面聚类的算法可以看出,整个算法必然导致 J 越来越小,这说明μ,c是收敛的。

由于畸变函数 J 是非凸函数,意味着我们不能保证取得的最小值是全局最小值,也就是说 k-means 对质心初始位置的选取比较感冒,但一般情况下 k-means 达到的局部最优已经满足需求。但如果你怕陷入局部最优,那么可以选取不同的初始值跑多遍 k-means,然后取其中使得 J(c,μ) ,以该 μ 作为初始化的聚类中心,最终得到聚类中心c。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值