2013-02-24 99 views
6

我需要根據它們在不同介詞(如agentive,instrumental,time,place等)中的分佈情況,找到自然發生的名詞類。我嘗試過使用k-means聚類,但幫助較少,但效果不佳,我在尋找的類有很多重疊(可能是因爲類的非球形形狀和k-means中的隨機初始化)。DBSCAN中的參數估計

我現在正在使用DBSCAN,但我無法理解此聚類算法中的epsilon值和最小值。我可以使用隨機值還是需要計算它們?任何人都可以幫忙嗎?特別是對於epsilon,至少在需要時如何計算它。

回答

6

使用您的域知識來選擇參數。 Epsilon是一個半徑。您可以將其視爲最小羣集大小。

很明顯,隨機值不會很好。作爲一種啓發式方法,您可以嘗試查看k距離圖;但它也不是自動的。

首先要做的第一件事就是爲你的數據選擇一個很好的距離函數。並執行適當的標準化。

至於「minPts」它再次取決於您的數據和需要。一個用戶可能需要一個非常不同的值。當然minPts和Epsilon是耦合的。如果你加倍epsilon,你將大致需要增加你的minPts 2^d(對於歐幾里德距離,因爲這是一個超球體的體積如何增加!)

如果你想要很多小的和精細的細節簇,低分鐘。如果你想要更大和更少的簇(以及更多的噪聲),使用更大的minpts。如果你根本不想要任何羣集,請選擇大於數據集大小的分區...

+0

我不能在這裏告訴你參數。你需要*實驗*。但嚴重的是,首先嚐試找出如何衡量相似度。 DBSCAN聚類結果將始終與您的相似度函數一樣好。 – 2013-02-25 10:08:11

+0

我假設我的數據中有3個主要類的分層結構。我有15個維度大約32K點。 我的數據point:noun,count(prep1)/名詞的總數,count(prep2)/ total ....... count(prep15)/ total。 我正在使用歐幾里德距離函數,我還沒有嘗試過別人。 你是什麼意思歸一化,我如何規範化的數據,我已經規範化的分佈由一個給定名詞的總頻率。 還有一個問題,它關於k-means,我可以在手之前選擇質心,因爲我可以根據我的領域知識猜測每個類的原型。 – Riyaz 2013-02-25 10:10:04