什么是好的重叠组算法?

问题描述:

我熟悉各种聚类算法(k-means等),但对于我的特定用例(社交网络),我需要一种算法来检测重叠的组。这个算法将我的Facebook朋友整齐地分离成我的高中朋友,我的大学朋友,我的家人和我的工作朋友。什么是好的重叠组算法?

我上面使用的算法(JUNG的VoltageClusterer)将节点分成单个集群。但是我想要一种算法,可以为多个节点分配节点(例如,我的一个朋友可以是我的高中朋友和大学朋友)。

我该怎么做?如果我可以让这个算法适用于加权图,而不仅仅是不加权的图,那将会很好。

+1

谷歌对于“模糊聚类”和/或“软聚类”,你应该会发现很多。 – 2011-02-02 23:03:59

帕拉等人对检测重叠社区一个很好的自然纸: 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,但允许重叠的簇。有一个在一个合理的介绍(包括一个小的示范):

A Tutorial on Clustering Algorithms: Fuzzy c-Means