一文详尽系列之K-means算法

K-means算法是一种常见的聚类方法,通过迭代寻找样本的聚类中心。该算法简单易懂,适用于大数据集且在簇近似高斯分布时效果良好。然而,它依赖于初始聚类中心的选择,对异常值敏感,并需要预设K值。为了优化,可以采用随机选择最远距离的中心点策略。虽然存在局限,如只能处理单分类和某些特定形状的簇,但在许多场景下仍能提供实用的解决方案。
摘要由CSDN通过智能技术生成

点击上方“Datawhale”,选择“星标”公众号

第一时间获取价值内容

640?

K-means 是我们最常用的基于距离的聚类算法,其认为两个目标的距离越近,相似度越大。

算法

1.1 牧师-村民模型
K-means 有一个著名的解释:牧师—村民模型:
有四个牧师去郊区布道,一开始牧师们随意选了几个布道点,并且把这几个布道点的情况公告给了郊区所有的村民,于是每个村民到离自己家最近的布道点去听课。
听课之后,大家觉得距离太远了,于是每个牧师统计了一下自己的课上所有的村民的地址,搬到了所有地址的中心地带,并且在海报上更新了自己的布道点的位置。
牧师每一次移动不可能离所有人都更近,有的人发现A牧师移动以后自己还不如去B牧师处听课更近,于是每个村民又去了离自己最近的布道点……
就这样,牧师每个礼拜更新自己的位置,村民根据自己的情况选择布道点,最终稳定了下来。
我们可以看到该牧师的目的是为了让每个村民到其最近中心点的距离和最小。
1.2 算法步骤
所以 K-means 的算法步骤为:
  1. 选择初始化的 k 个样本作为初始聚类中心  ;
  2. 针对数据集中每个样本  计算它到 k 个聚类中心的距离并将其分到距离最小的聚类中心所对应的类中;
  3. 针对每个类别  ,重新计算它的聚类中心 (即属于该
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值