【问题标题】:top-down community detection in a network网络中自上而下的社区检测
【发布时间】:2016-05-24 02:07:00
【问题描述】:

我正在尝试以自上而下的方式寻找网络社区。大多数可用的算法(例如在 igraph 包中)都是自下而上的——也就是说,它们首先假设所有节点都是单例社区,然后将它们组合成更大的社区。我想换一种方式,类似于构建决策树的方式:从整个网络开始,然后找到一个改进某些“信息度量”的拆分,等等。

有人知道这样的算法或这样的措施吗?我在文献中找不到这样的东西,但也许我遗漏了一些东西。

此外,模块化的一些措施让我感到困扰的是,如果您将整个网络视为一个模块,那么所有边都在模块内,并且不存在模块外边,所以这似乎是一个完美的模块划分.有没有克服这个限制的措施?

【问题讨论】:

  • 你可以近似最稀疏的切割。
  • 您似乎误解了模块化的概念 - 它不仅计算模块模块中的边数,而且还会将其与预期的边数进行比较,如果一个随机网络同时保持度分布。如果社区内的边缘比预期多得多,则认为社区结构是好的(即具有高模块化)。如果将每个节点都放在同一个模块中,则模块性将为零,因为无论您如何随机化网络,边仍将位于模块内。
  • 谢谢,@Tamas。我其实很了解这一点。我只是没有找到算法。但是,正如您已经提出这个问题,我将争辩说,在社交网络中,通过随机化将边数与预期数进行比较是不现实的。社交网络数据中的边缘往往不遵循完全随机的结构。相反,分布是不同的,所以你会期望集群中有更多的边,因为它是一个社交网络。所以模块化可能会低估随机基线,从而高估“真实”的模块化分数。

标签: algorithm social-networking igraph modularity


【解决方案1】:

我认为Newman's algorithm 符合您的要求。

它的工作原理是计算“网络模块化”,然后将网络分成两组。之后,它递归地将相同的原理应用于新形成的组,直到无法进一步增加模块化。

它也应该在igraph 中实现。至少在r version.

【讨论】:

    猜你喜欢
    • 2014-06-12
    • 2017-12-07
    • 2012-12-24
    • 2023-04-05
    • 1970-01-01
    • 2012-06-09
    • 2020-09-12
    • 1970-01-01
    • 2019-10-04
    相关资源
    最近更新 更多