k-means 聚类算法的缺陷

k-means算法是一种典型的基于距离的算法,它以距离作为评价相似度的指标。两个对象的距离越近,则相似度也就越大。

其算法步骤如下:

1.随机选取K个聚类中心点。基于这k个中心点计算每个对象到中心点的距离,并将对象划分成其离最短的那个中心点的那一个类别,也就是第一轮迭代就根据选取的中心点将对象划分成了k类。
2.对每一个类重新计算中心点,也就是中心点根据上一轮迭代的类别进行重算,得到新的k个中心点。

3.基于新的中心点,开始新的聚类迭代,重新计算每个对象离中心点的距离,并划分成最短距离的中心点所对应的类别。

4.重复第2和第3步,直到新的中心点与原来的中心点相等或者小于指定的阈值

以上就是k-means算法的实现过程。不难看出,k-means算法具备以下的缺陷:

1.k值必须给定

进行k-means算法时,必须指定聚类数量。但是有时候我们并不知道应该聚成多少个类,而是希望算法可以给出一个合理的聚类数量,往往一开始k值很难预先估计并给定。

2.随机的k个中心点影响结果

在k-means算法中,一开始的k个中心点是随机选定的,在后面的迭代中再进行重算,直到收敛。但是根据算法的步骤不难看出,这样一来最后所生成的结果往往很大程度上取决于一开始K个中心点的位置。这样一来,也就意味着结果具备很大的随机性,每次计算结果都会因为初始随机选择的中心质点不一样而导致结果不一样。

3.计算性能

该算法需要不断的对对象进行分类调整,不断的计算调整后新的聚类中心点,因此当数据量非常大时,算法的时间开销是非常大的。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
K-means聚类是一种常用的聚类算法,其目标是将数据点划分为K个类簇,并找到每个簇的中心,使得每个数据点与所属簇的中心之间的距离最小化。该算法的优点是简单易懂、计算速度较快,适用于连续型数据。 在K-means聚类算法中,K值的确定非常重要,不同的K值可能会导致不同的聚类效果。常用的确定K值的方法有先验法和手肘法等。先验法是基于领域知识或经验来选择合适的K值;手肘法则是通过绘制不同K值对应的聚类结果的度量值(如簇内平方和)与K值的关系曲线,选择使得曲线出现拐点的K值作为最佳的聚类个数。 K-means聚类算法的一个缺陷是对初始中心点的选择比较敏感,不同的初始中心点可能会导致不同的聚类结果。为了解决这个问题,一种改进的算法是ISODATA算法,它在K-means算法的基础上增加了对聚类结果的“合并”和“分裂”两个操作,从而自动确定最终的聚类结果,不需人为指定K值。 总结来说,K-means聚类是一种简单且高效的聚类算法,适用于连续型数据。K值的选择可以通过先验法和手肘法等方法确定。然而,K-means聚类算法对初始中心点的选择比较敏感,这个问题可以通过使用ISODATA算法来解决。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【机器学习】全面解析Kmeans聚类算法(Python)](https://blog.csdn.net/fengdu78/article/details/122183696)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [聚类算法K-means聚类图像分割](https://download.csdn.net/download/weixin_38639642/13752303)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值