簡體   English   中英

改進的K均值聚類(Ward准則)速度改進

[英]Improved K-means clustering (Ward criterion) speed improvement

我將k-means聚類與隨機初始化一起用於聚類識別。 算法適用於良好的數據。 但是,如果我處理的數據雜亂無章,那么我的k均值算法就失去了它的魯棒性,並為在同一數據集上的每次運行提供了不同的解決方案。

因此,我決定改進我的k均值聚類以最小化Ward准則:

  1. 做標准的k均值聚類
  2. 遍歷點和所有聚類,找到點P以及聚類A和B,就好像我將點P從聚類A移到聚類B一樣,該聚類的病房標准將最小
  3. 如果找到該點,請將其從A移到B,更新集群中心並繼續執行2

我在這里用c ++編寫了該算法。 但是,問題是,這種方法非常慢,我正在處理每個集群大約2萬個點的集群。

您可以向我建議一個更好的解決方案,還是可以幫助我加快該算法的速度?

我終於找到了解決方案。 我已經意識到:

  • 我對沃德的態度真的沒用
  • PCA對我不可用,因為我僅使用1D群集。
  • 正如Micka所說,在實現k-means ++之后,k-means的可靠性得到了提高。 但是,偶爾它仍然會給出不好的解決方案。 (根據實驗,在相同數據的5個群集中有1個是錯誤的)

絕對幫助我的是平均歸一化 我做了5次k均值,計算了每次迭代的聚類中心平均值。 最后以計算出的均值作為初始解來運行k均值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM