一个聚类算法,属于无监督学习。

算法过程

寻找簇的质心,直到簇收敛。

repeat 	
	将每个点指派到最近的质心,形成K个簇
	重新计算每个簇的质心
until 簇不发生变化或达到最大迭代次数

until 的结束条件,表示算法已经最终收敛。

细节

K-Means 中 K 的值为一个需要指定的超参数。可以手动指定,也可以将 K 的数量迭代递推从小到大。

关于初始点的设定,可以选择尽可能远的点,也可以先用其他聚类算法获得簇的数量,然后再簇中寻找一个初始中心点。

直觉

K-Means 是一个很简单的基本聚类算法,简单但是效果很好。简单且高效,一个挺“美”的算法。

这是一个典型的迭代-收敛的计算过程。算法会一开始临时计算一个簇,然后每次根据刷新数据的簇,最终达成聚类的收敛。