k-means算法、性能及优化

k-means算法、性能及优化一、k-means算法简介k-means是用来解决著名的聚类问题的最简单的非监督学习算法之一。该过程遵循一个简易的方式,将一组数据划分为预先设定好的k个簇。其主要思想是为每个簇定义一个质心。设置这些质心需要一些技巧,因为不同的位置会产生不同的聚类结果。因此,较好的选择是使它们互相之间尽可能远。接下来将数据中的每个点归类为距它最近的质心,距离的计
摘要由CSDN通过智能技术生成
k-means算法、性能及优化
一、k-means算法简介
k-means是用来解决著名的聚类问题的最简单的非监督学习算法之一。
该过程遵循一个简易的方式,将一组数据划分为预先设定好的k个簇。其主要思想是为每个簇定义一个质心。设置这些质心需要一些技巧,因为不同的位置会产生不同的聚类结果。因此,较好的选择是使它们互相之间尽可能远。接下来将数据中的每个点归类为距它最近的质心,距离的计算可以是欧式距离、曼哈顿距离、切比雪夫距离等。如果所有的数据点都归类完毕,那么第一步就结束了,早期的聚合过程也相应完成。此时,我们根据上一步所产生的结果重新计算k个质心作为各个簇的质心。一旦获得k个新的质心,我们需要重新将数据集中的点与距它最近的新质心进行绑定。一个循环就此产生。作为循环的结果,我们发现k个质心逐步改变它们的位置,直至位置不再发生变化为止。
k-means算法是数值的、非监督的、非确定的、迭代的。
二、k-means算法流程
1、从所有的观测实例中随机取出k个观测点,作为聚类的中心点;然后遍历奇遇的观测点找到各自距离最近的聚类中心点,并将其加入该聚类中。这样,我们便有了一个初始的聚类结果,这是一次迭代过程。
2、每个聚类中心都至少有一个观测实例,这样,我们便可以求出每个聚类的中心点,作为新的聚类中心( 该聚类中所有实例的 均值 ),然后再遍历其他所有的观测点,找到距离其最近的中心点,并加入到该聚类中。
3、如此重复步骤2,直到前后两次迭代得到的聚类中心点不再发生变化为止。
  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值