1

在每次迭代所有數據點之後,或者在將聚類分配給每個數據點之後,評估新的聚類中心會更好嗎?爲了澄清,這兩種方法是優選的:K均值聚類:評估新的聚類中心

  1. 您將所有的數據點,以不同的集羣,然後找到新的聚類中心
  2. 或者,你的下一個數據點分配到最近的聚類和發現新的羣集中心,移動到下一個點作爲重複...

回答

3

這些都或多或少的兩種主要方法

  1. 它或多或少勞埃德方法 - 你遍歷所有數據點,將每個分配給最近的簇,然後相應地移動所有中心,重複。
  2. 它或多或少是一種Hartigan方法 - 您遍歷每個數據點並查看是否更好地將其移動到其他羣集(它是否最小化能量/使羣集更「密集」),重複直到沒有可能的更改。

哪兩個比較好?實證研究表明Hartigan方法具有多重優勢。特別是人們可以證明,Hartigan不會比勞埃德工作得更差(每個Hartigan optima也是勞埃德最優的,但不是相反)。在http://ijcai.org/papers13/Papers/IJCAI13-249.pdf中有一個很好的理論和實踐分析表明,應該遵循第二種方法,特別是如果數據中存在許多可能不相關的特徵。

+0

但是,如果你建議Hartigan方法更好,那麼這會不會導致在過程中很早獲得局部最優值的問題,從而導致更多的迭代達到全局最優值。例如,假設您考慮的第一個數據點是您獲得的最後一個羣集中最遠的,因此使得第一個羣集中心更新非常不準確。但是如果你遵循勞埃德的方法,第一次更新總是不會像Hartigan那樣準確。沒有說明是事實,但只是想知道...... –

+0

每種方法都有一個反例,這不是重點。看看測試,一般來說 - 勞埃德表現更差,這只是一個實證結論,而不是理論結果:) – lejlot

+0

lejlot你似乎有很棒的聚類經驗,你可以檢查這個問題,如果你有時間:http:///stackoverflow.com/questions/32404742/how-to-calculate-clustering-success-pre-assigment-true-classes-are-known ty – MonsterMMORPG