我想知道如果初始质心点是随机选择的,对于完全相同的数据集,我们是否能得到大致相同的质心点。
我正在编写一个测试kmeans程序,它们似乎并不匹配。我想知道我做的是否正确。
回答:
k-means算法需要对质心位置进行一些初始化。对于大多数算法,这些质心是通过某种方法随机初始化的,比如Forgy方法或随机分区,这意味着算法的重复迭代可能会收敛到非常不同的结果。
请记住,k-means是迭代的,在每个“移动质心”步骤中,每个质心都会移动到一个位置,以最小化其与其组成点的距离。这使得它在很大程度上依赖于起始位置。
因此,通常建议运行k-means多次,并选择最小化误差的聚类结果。