机器学习实战学习笔记 --- 二分K-Means聚类算法

版权声明:学习交流为主,未经博主同意禁止转载,禁止用于商用。 https://blog.csdn.net/u012965373/article/details/88878694

K -Means聚类算法的缺陷

在K-Means的函数测试中,可能会偶尔陷入局部最小值(局部最优的结果,但不是全局最优的结果)

解决方案:

为了克服K-Means算法收敛于局部最小值的问题,有一个好的解决方案是二分K-Mean(二分K均值 bisecting K-Means)的算法

原理:

该算法首选所有点作为一个簇,然后将该点一份为二。

之后选择一个簇继续划分,选择哪一个簇进行划分取决于划分时候可以最大程度降低SSE(平方和误差)的值。

上述基于SSE的划分过程不断重复,值到得到用户指定的簇数目为止。

伪代码:

  • 将所有的点看成为一个簇

  • 当簇数目小于K时

  • 对于每一个簇

    • 计算总误差

    • 在给定的簇上面进行K-Means聚类(k = 2)

    • 计算将该簇一份为二之后的总误差

  • 选择使得误差最小的簇进行划分操作

猜你喜欢

转载自blog.csdn.net/u012965373/article/details/88878694