Machine learning kmeans是可重复的吗?

Machine learning kmeans是可重复的吗?,machine-learning,cluster-analysis,k-means,unsupervised-learning,Machine Learning,Cluster Analysis,K Means,Unsupervised Learning,我想知道,如果初始质心点是随机选择的,那么对于完全相同的数据集,我们是否得到大致相同的质心点 我正在编写一个测试kmeans程序,它们似乎不匹配。我想知道我所做的是否正确。不,这不是保证 考虑一个简单的例子,2-均值有4个点:1,1,-1,1,1,-1,-1二维平面上的一个正方形 然后两个质心可能是{0,1,0,-1}或{1,0,-1,0},这两个结果非常不同。k-means算法需要对质心位置进行一些初始化。对于大多数算法,这些质心是用一些方法随机初始化的,比如福吉法或随机分割法,这意味着算法的

我想知道,如果初始质心点是随机选择的,那么对于完全相同的数据集,我们是否得到大致相同的质心点


我正在编写一个测试kmeans程序,它们似乎不匹配。我想知道我所做的是否正确。

不,这不是保证

考虑一个简单的例子,2-均值有4个点:1,1,-1,1,1,-1,-1二维平面上的一个正方形
然后两个质心可能是{0,1,0,-1}或{1,0,-1,0},这两个结果非常不同。

k-means算法需要对质心位置进行一些初始化。对于大多数算法,这些质心是用一些方法随机初始化的,比如福吉法或随机分割法,这意味着算法的重复迭代可以收敛到截然不同的结果

请记住,k-means是迭代的,在每个移动质心步骤中,每个质心都会移动到一个位置,使其与组成点的距离最小化。这使得它严重依赖于起始位置


因此,通常建议多次运行k-means,并选择使错误最小化的聚类。

许多k-means实现允许修复随机数生成器,以使结果可重复

ELKI:-kmeans.seed参数

Weka:-s参数

在其他情况下,您通常可以自己提供初始中心,然后使用可复制的伪随机种子选择它们