一般的K均值,所分成的簇往往是局部最优,而不是全局最优,比如下图,簇也不会再更新了,但显然没达到我们的要求。
在这里插入图片描述
算法思想:

顾名思义,二分k均值就是每次将数据集一分为二,即k均值算法中的k值为2,第一次是在整个数据集上划分,这里没什么异议,从第二次开始,每次划分的时候就要选取使整个数据集误差平方和最小的一个类进行一分为二了,以此进行下去直到分成我们想要的k类。

二分k均值的伪代码如下:

将所有点看成一个类别
当类别数小于k时
对每一个类
计算总的误差平方和
在当前类内进行k均值聚类,k的值为2
计算将该类一分为二后总的误差平方和
选择使得总的误差平方和最小的划分类进行划分

参考:https://blog.csdn.net/ReXueLaoNanHai/article/details/80908522

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐