【问题标题】:meaning of weights in community detection algorithms社区检测算法中权重的含义
【发布时间】:2018-08-15 13:26:27
【问题描述】:

在 igraph here 中有一个很好的社区检测算法比较。但是,在可应用于加权边缘的算法中使用权重存在一些歧义。

通常,边权重将被定向,以便更高的权重表明将节点保持在一起(例如友谊强度)。通过比较内部和外部的平均加权密度,这与模块化得分非常吻合。

但是,Newman-Girvan 社区检测算法使用基于距离的介数。在这种情况下,我希望边缘权重应该反映节点之间的距离,以便计算最短路径将路径上的权重相加。也就是说,权重是成本或距离得分,其中较高的值应划分为不同的社区。​​p>

在使用 Newman-Girvan 时,我对更远距离的更高权重的预期是否正确,如果是,那么这与使用模块化来决定在哪里减少社区数量如何协调?

【问题讨论】:

    标签: igraph social-networking


    【解决方案1】:

    我的答案将基于 R 中的 igraph 包。情况确实很混乱,而且问题是相关的,因为正如 Newman (2004) 所说,

    自从那部作品出版以来,作者被问了一个电话号码 算法的适当概括是否存在的次数 用于加权网络。

    在他的论文中,他将 Newman-Girvan 算法适当地推广到加权网络。

    权重

    您对 Newman-Girvan 算法中权重的解释是正确的。 edge_betweenness 使用类似于 (Brandes, 2001) 中的公式,其中路径的长度定义为其边的权重之和。 (您也可以查看source code,但它非常复杂)。在?edge_betweenness,特别是?cluster_edge_betweenness,它说

    边缘权重用于计算加权边缘介数。这 意味着边缘被解释为距离,而不是连接 优势。

    含义如下。令 b(e, w) 为权重为 w 的边 e 的边介数。然后可以显示(如果您愿意,我可以详细说明)

    b(e, w) = w*。

    即边介数与e的权重成反比。主要思想是,例如,给定 w* >> w,那些现在穿过 e 的最短路径可能会被不包括 e 的其他一些路径支配。因此,较大的权重意味着(弱)较低的介数,较低的介数使得 e 不太可能被识别为连接两个社区的边缘。因此,如果我们将权重视为距离,这听起来很奇怪。另一方面,如果 e 在某个社区内并且我们减少它的权重,那么通过该边的最短路径的数量可能会增加,并且它更有可能被视为连接两个社区。不过,我还没有对相应的模块化分数提出任何要求。

    现在让我们假设权重实际上对应于连接强度。那么连接越强,通过该边的最短路径就越少(因为我们仍然需要计算它们),它的边介数越低,它被移除的可能性就越小。所以这是有道理的。

    不好,或者说奇怪的是,现在路径的长度被定义为它的连接强度的总和。但是,我们可以重新解释算法。假设权重在社区内为 >> 1,在社区之间为 隐私(例如,社区内的路径将包含许多密切的交互,而连接两个社区的边是公开的、开放的)。给定这样的解释,该算法将寻找最不私密/最开放的路径并计算相应的介数。然后我们将删除属于许多最开放路径的这些边缘。

    所以也许我在某个地方犯了一个错误,但将权重视为连接强度似乎更有意义。

    Newman (2004) 做了一些相关的事情:

    ...我们将特别考虑那些权重 在边缘上,对于具有更接近的顶点对,取更大的值 联系或在某些方面更相似。

    这似乎应该是有道理的。然而,为了更自然地定义最短路径,他写道:

    我们可以通过假设的“长度”来定义加权网络上的路径 一条边与其权重成反比,因此两个顶点 连接强度是两倍的距离将是一半。

    也就是说,现在最短路径长度与权重成反比。由于不这样做似乎会产生好的结果,所以现在我们遇到了一个问题:

    要看到这一点,请注意任何两个顶点特别 彼此强连接会有一个特别短的 沿它们之间的边缘的距离。测地线路径将因此,所有 在其他条件相同的情况下,更喜欢沿着这样的边缘流动而不是沿着 两个连接较差的顶点之间的另一条较长的边,以及 因此,紧密连接的对往往会吸引很多路径,并且 获得高介数。这意味着,作为一般规则,我们是 比我们更有可能去除连接良好的对之间的边缘 在连接不良的对之间,这与 我们希望算法做什么。

    当我们将权重视为距离时,这就是我所描述的结果。正如我在答案开头提到的那样,为了处理这个 Newman (2004) 提出将加权图映射到未加权多重图,然后进行与标准情况非常相似的处理。我相信可以通过设置weighted = NULL 但没有二进制邻接矩阵(定义图时;参见weighted 中的?graph_from_adjacency_matrix)来实现这种多图思想。

    模块化

    首先,可以像 Newman (2004) 所做的那样对加权图使用模块化,这不是问题。一般来说,使用权重如何影响使用模块化作为选择社区数量的方式并不明显。我可能会用 R 添加一些示例。正如 Newman (2004) 发现的那样,当解释与算法的工作方式一致时,似乎应该比未加权的情况有所改进。否则,我认为图结构和权重本身对于描述我们与事实的差距程度可能非常重要。

    参考文献

    Newman, M.E.,2004 年。加权网络分析。物理审查 E,70(5)。

    Brandes, U., 2001。一种更快的中介中心性算法。数学社会学杂志,25(2),pp.163-177。

    【讨论】:

    • 谢谢,一个非常有帮助的答案。我将不得不深入研究 igraph 代码并检查它如何处理weighted = TRUE。在创建社区之前,我一直在将连接强度权重转换为距离分数,但我认为这可能是一个错误。
    • @JenB,我打错了,如果应该是 weighted = NULL。然后an unweighted graph is created and the elements of the adjacency matrix gives the number of edges between the vertices。这也意味着邻接矩阵元素应该是非负整数(否则它们会被四舍五入)。
    • 可以在社区检测中使用顶点权重吗?stackoverflow.com/questions/64870651/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2015-05-11
    • 1970-01-01
    • 2017-12-07
    • 2012-04-10
    • 1970-01-01
    • 2016-02-23
    相关资源
    最近更新 更多