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參數

在其他國家,通常可以自己提供初始中心,然後用複製的僞隨機播種到自己選擇他們。