我熟悉各種聚類算法(k-means等),但對於我的特定用例(社交網絡),我需要一種算法來檢測重疊的組。這個算法將我的Facebook朋友整齊地分離成我的高中朋友,我的大學朋友,我的家人和我的工作朋友。什麼是好的重疊組算法?
我上面使用的算法(JUNG的VoltageClusterer)將節點分成單個集羣。但是我想要一種算法,可以爲多個節點分配節點(例如,我的一個朋友可以是我的高中朋友和大學朋友)。
我該怎麼做?如果我可以讓這個算法適用於加權圖,而不僅僅是不加權的圖,那將會很好。
我熟悉各種聚類算法(k-means等),但對於我的特定用例(社交網絡),我需要一種算法來檢測重疊的組。這個算法將我的Facebook朋友整齊地分離成我的高中朋友,我的大學朋友,我的家人和我的工作朋友。什麼是好的重疊組算法?
我上面使用的算法(JUNG的VoltageClusterer)將節點分成單個集羣。但是我想要一種算法,可以爲多個節點分配節點(例如,我的一個朋友可以是我的高中朋友和大學朋友)。
我該怎麼做?如果我可以讓這個算法適用於加權圖,而不僅僅是不加權的圖,那將會很好。
帕拉等人對檢測重疊社區一個很好的自然紙: http://www.nature.com/nature/journal/v435/n7043/full/nature03607.html 他們展示了其在不同類型的網絡的成功,從社會與蛋白質相互作用
該算法被稱爲k團滲濾。它是在他們的C-finder程序中實現的: http://www.cfinder.org/
回答我的問題,我找到一份像樣的論文:http://www.springerlink.com/content/y44484587755k478/
任何其它文件/方法將是有益的。
你可能會嘗試模糊的c-means,它很像舊的備用k-means,但允許重疊的簇。有一個在一個合理的介紹(包括一個小的示範):
谷歌對於「模糊聚類」和/或「軟聚類」,你應該會發現很多。 – 2011-02-02 23:03:59