2010-09-13 117 views
24

是否有k-Means clustering算法的在線版本?在線k均值聚類

通過在線我的意思是每個數據點在進入系統時都是以串行方式進行處理,從而節省了實時使用時的計算時間。

我已經寫了一個我的自我結果很好,但我真的更喜歡有一些「標準化」來指代,因爲它是在我的碩士論文中使用。

此外,有沒有人有其他在線聚類算法的建議? (lmgtfy失敗;))

回答

34

是的。 Google未能找到它,因爲它通常被稱爲「連續k-means」。

您可以在this section of some Princeton CS class notes之前找到Richard Duda的兩個連續K-means的僞代碼實現。我抄錄如下兩種實現方式之一:

Make initial guesses for the means m1, m2, ..., mk 
Set the counts n1, n2, ..., nk to zero 
Until interrupted 
    Acquire the next example, x 
    If mi is closest to x 
     Increment ni 
     Replace mi by mi + (1/ni)*(x - mi) 
    end_if 
end_until 

關於它的美麗的東西是,你只需要記住每個集羣的均值和分配到集羣中的數據點的數量的計數。一旦你更新這兩個變量,你可以扔掉數據點。

我不確定你能在哪裏找到它的引文。我會開始看Duda的經典文字Pattern Classification and Scene Analysis或更新版本Pattern Classification。如果它不在那裏,你可以嘗試克里斯畢曉普的最新着作,或者達芙妮科勒和尼爾弗裏德曼最近的文章。

+0

謝謝。這使所有的差異。 – Theodor 2010-09-14 08:55:54

+2

適當的引用實際上可能是MacQueen出版物。他肯定包含了這個平均更新規則,並且據我所知,他只是一次傳球。那麼你有這個算法。 – 2012-02-08 18:31:20

2

你可以找到更多關於「介紹機器學習」的Ethem Alpaydin在線k均值在第12章局部模型

+0

具體是什麼? – dove 2012-12-04 08:46:39

+0

請描述本章如何有用並解決用戶問題 – WebChemist 2012-12-04 08:48:13