K-means是一种无监督学习算法,能够对无标签的数据集进行聚类。

基本思想:

1初始化若干个聚类中心;

2将每个训练数据分配给某个聚类中心,作为该类的一员,依据经常是点的距离

3更新每个聚类中心为该类所有点坐标的平均值

4重复以上直到收敛(中心不再变化)

形式化描述:

K-means算法与EM算法

上图中,k是类的个数,事先人为确定。

k-means保证收敛,但并不能保证有效。初始中心点选的不好时可能无法聚类,例如,有两个训练数据,然后初始点选到了这两个点的垂直平分线上,那么就无法聚类。但在随机选取初始点的情况下,多次运行该算法,算法无效的概率是很低的。

关于收敛,考虑下面的函数:

K-means算法与EM算法

K-means算法与EM算法

K-means算法与EM算法

K-means算法与EM算法

相关文章: