由于K-Means对于初始簇心比较敏感,解决K-Means算法对初始簇心比较敏感的问题,二分K-Means算法是一种弱化初始质心
的一种算法,具体思路步骤如下:
1、将所有样本数据作为一个簇放到一个队列中从队列中选择一个簇进行K-means算法划分,划分为两个子簇,并将子簇添加到队列中
2、循环迭代第二步操作,直到中止条件达到(聚簇数量、最小平方误差、迭代次数等)
队列中的簇就是最终的分类簇集合
二分k-means
算法是分层聚类(Hierarchical clustering)的一种,分层聚类是聚类分析中常用的方法。
分层聚类的策略一般有两种:
- 聚合。这是一种
自底向上
的方法,每一个观察者初始化本身为一类,然后两两结合 - 分裂。这是一种
自顶向下
的方法,所有观察者初始化为一类,然后递归地分裂它们
二分k-means
算法是分裂法的一种。
从队列中选择划分聚簇的规则一般有两种方式;分别如下:
对所有簇计算误差和SSE(SSE也可以认为是距离函数的一种变种),选择SSE最大的聚簇进行划分
操作(优选这种策略)选择样本数据量最多的簇进行划分操作