介绍
K-means聚类算法是一个循环迭代的算法。其步骤如下:
- 假设将样本聚为 k 类,选择 k 个点作为初始中心点;
- 根据距初始中心点最近的原则,将所有点分类;
- 计算 k 类中每类点的均值,作为下次迭代的起始中心点;
- 重复 2,3 步直到中心点不再改变或达到指定的迭代次数。
分析过程
关注以下几个问题
- 如何确定 k 的值?
- 初始中心点如何选择?
- 如何表示点之间的距离及其均值?
距离和均值
每个类中的点距其中心点的欧式距离之和,简称为 SSE。
均值需除以每个类中点的个数。
k 的值
常用手肘法,选取 SSE 和 K 的关系图中肘部的整数。
初始中心点
初始点间的距离尽可能的远。
常用的有两种方法。
一,利用 K-means++ 算法。
二,利用层次类聚或 Canopy 算法进行初始类聚,然后从每个类中任选一点作为初始中心点。
参考链接:
https://zhuanlan.zhihu.com/p/75477709
https://www.cnblogs.com/dudumiaomiao/p/5839905.html