2011-10-23 133 views
25

有沒有人有文章解釋Ckmeans.1d.dp算法的工作原理?優化聚類一維數據?

或者:在一維中進行k-means聚類的最優方法是什麼?

+0

谷歌變成了技術。報告Knops,Maintz,Pluim&Viergever(2004),使用烏得勒支大學動態編程的最優一維k-均值聚類,不能在線獲得。不幸的是,這個模塊的C++代碼是非常不可讀的。對一個有趣的問題+1。 –

回答

1

單因素K均值聚類可以爲O解決(KN)時間的說明(在已經排序的輸入上)基於Monge矩陣的理論結果,但是該方法最不可能是由於數值不穩定性以及編碼挑戰。

更好的選擇是現在在Ckmeans.1d.dp版本3.4.6中實現的O(knlgn)方法。這種實現與啓發式k-means一樣快,但提供了保證的最優性,比啓發式k-means更好幾個數量級,特別是對於大k。

Richard Bellman(1973)的通用動態規劃解決方案沒有涉及k-means問題的具體細節,隱含的運行時間爲O(kn^3)。