0

我想知道如果我们对于完全相同的数据集,在初始质心点是随机选择的情况下获得大致相同的质心点。kmeans是否可重复?

我正在写一个测试kmeans程序,他们似乎不匹配。我想知道我在做什么是对的。

回答

4

k-means算法需要对质心位置进行一些初始化。对于大多数算法而言,这些质心随机采用Forgy方法或随机分割等方法进行初始化,这意味着算法的重复迭代可以收敛到极其不同的结果。

请记住,k-均值是迭代的,并且在每个“移动质心”步骤中,每个质心移动到一个位置,使其与其构成点的距离最小。这使其严重依赖于起始位置。

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

3

不,不保证。

考虑的2-装置简单的情况下具有4分:(1, 1), (-1, 1), (1, -1), (-1, -1)(在2D方形) 则2个质心可以是{(0, 1), (0, -1)}{(1, 0), (-1, 0)},两个非常不同的结果。

0

许多k-means实现允许固定随机数发生器以使结果可重现。

ELKI:-kmeans.seed参数

Weka的:-s参数

在其他国家,通常可以自己提供初始中心,然后用复制的伪随机播种到自己选择他们。