1. Kmeans算法流程
- 随机初始化K个中心点;
- 计算所有样本分别到K个中心点的距离;
- 比较每个样本到K个中心点的距离(这里的距离也可以使用欧氏距离),并将样本分类到距离最近的中心点所在的类别中;
- 对K个类别组成的样本点,重新计算中心点(计算方法是计算子集中所有元素各个维度的算术平均数);
- 重复2~4,直到中心点不再变化。
2. Kmeans++
Kmeans++的算法思想是使得初始化的聚类中心点之间的距离尽可能的远,米表示对Kmeans算法的初始化进行优化。具体流程如下:
- 随机初始化一个中心;
- 对于每个样本x,计算距离它最近的中心点的欧氏距离D(x),每个样本被选为中心点的概率为下方公式所示。按照轮盘赌-选择法(Roulette Wheel Selection)选择出下一个中心点;
- 重复步骤2,直到选出所有的中心点。