1.3 聚类(clustering)
1.3.1 K均值(K Means)
KMeans算法的基本思想是初始随机给定K个簇中心,按照最近邻原则把待分类样本定分到各个簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。
KMeans聚类算法主要分为3个步骤:
- 为待聚类的点寻找聚类中心。
- 计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中去。
- 计算每个聚类中所有点的坐标平均值,将这个平均值作为新的聚类中心。
反复执行2),3),直到聚类中心移动距离小于给定值或者聚类次数达到要求为止。
对于初始化中心点,随机选择初始中心点可能会造成聚类的结果和数据的实际分布相差很大。KMeans++就是选择初始中心点的一种算法,其基本思想就是:初始的聚类中心之间的距离要尽可能的远。
KMeans++选择初始中心点算法过程:
- 随机选择一个点为第一个聚类中心点。
- 对于数据集中每一个点x,计算它与最近聚类中心点的距离D(x)。
- 选择新的数据点为新的聚类中心,选择原则是:D(X)较大的点,选取概率较大。
- 重复2),3),直到k个聚类中心被选出。