Kmeans算法介绍
K-means算法是将样本聚类成k个簇(cluster)将相近的数据点分配到同一个簇中。
其基本的算法思想为:
- 随机选择K个聚类中心点(不一定为数据点,有可能选择的是距)
- 计算其他点到这K个点的距离,将每个点分配到距离其最近的点中
- 随机重新选择K个点,重新计算每个簇的质心(计算每个点矩阵相加的平均值,并作为新的中心点)
- 重复2,3步,最后的到最优的K点
Kmeans的算法收敛
对于分类算法,我们使用欧氏距离相加的平均值作为损失函数,通过损失函数来评价分类的好坏。
Kmeans算法是一种迭代的算法,我们希望每一次的迭代中,分类的性能更好,这对应着损失函数需要越小越好。Kmeans算法的损失函数为:MSE
Kmeans算法是初值敏感的
对于随机选择的K个初始点。如果K个点本身都是属于同一类的,那很容易造成分类结果的错误。那我们一般在取初始值的时候会取几个点间隔比较大的。(通过概率性选择)。