二分图社区检测算法?


11

是否有用于igraph,networkX,R或Python等中实现的二分图(两模式网络)社区检测算法?尤其是,是否存在一种这样的实现方式,使之能够仅基于两种模式之一来限制对社区的检测?


2
在不事先知道组成这些模式的节点的情况下,如何“仅在两种模式之一上限制对社区的检测”?似乎是圆形的。
hardmath 2012年

双向网络中,您已经知道两种模式。因此,例如,如果属于模式“ A”的一半节点与属于模式“ B”的节点链接,那么那里就有一个社区。
adamo 2012年

如果您事先知道哪些节点属于每种模式,那么这将回答我有关如何限制检测的问题。但是,您的示例及其“社区”的隐含概念尚不清楚。如果二部图中的一个顶点未链接到相反模式的任何顶点,则它不会链接到任何顶点(将被隔离)。在连接的二部图中,每个模式“ A”的顶点都链接到某个模式“ B”的顶点,反之亦然。“社区”通常意味着的不仅仅是连接的子图。
hardmath 2012年

在反思中,我怀疑您的“与节点链接”是指与单个公共节点链接,从而在投影图中给出了一个集团(请参见答案),因此也就是“那里的一个社区”。抱歉在初读时未掌握您的观点。
hardmath 2012年

无需道歉。反正我的英语不太清楚。
adamo 2012年

Answers:


5

短语“社区检测”被宽松地定义为将图的顶点划分为“社区”,以使每个顶点的成员之间的链接比与其他“社区”的成员的链接更紧密。

我们的首要任务是确定在二分图的情况下这意味着什么,二分图根据定义包含两个“模式”,以使一个模式的成员仅链接到另一模式的成员。至少对于简单图形,它可以表示为具有特殊块结构的邻接矩阵:

A=(0BBT0)

在我看来,“仅在两种模式中的一种上限制对社区的检测”的最相关解释将把所述算法应用于与块相对应的“投影”图,即具有邻接矩阵的第一种模式和具有邻接矩阵的第二种模式。请注意,即使原始的二部图很简单(因此是二进制的),投影图通常也将是多图。幸运的是,igraph有一种为我们构造这些的方法 B B T B T B AA2BBTBTBA

我们同样幸运的是,已经对igraph社区检测算法相关算法进行了“更新以处理加权图”(例如多图)。


S. Fortunato(2010)调查了社区检测标准(图中的社区检测)及其在两方和多方网络中的使用。我在上面建议的解释在第8页有明确说明:

通常将多部分图简化为每个顶点类的单部分投影。例如,从科学家和论文的两方网络中,只能提取由共同作者联系起来的科学家网络。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.