You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Louvain论文中模块化第二个公式(社区Σ_total公式)的来源探究

解析Louvain算法论文中ΔQ里Σ_total公式的来源

嘿,这个问题其实是从模块化Q的原始定义一步步推导出来的,咱们拆解清楚:

首先回顾论文里最初的模块化定义:
$$ Q = \frac1{2m} \sum_{i,j} \left[A_{ij} - \frac{k_i k_j}{2m}\right]\delta(c_i, c_j). $$

我们可以把Q拆成所有社区的贡献之和——对于任意社区$c$,它对Q的贡献可以单独提取出来:
$$ Q_c = \frac{\Sigma_{in}(c)}{2m} - \left( \frac{\Sigma_{tot}(c)}{2m} \right)^2 $$

这里的两个核心符号就是这么来的:

  • $\Sigma_{in}(c)$:社区$c$内部所有边的权重总和(对应原始Q里的$\sum_{i,j∈c}A_{ij}$)
  • $\Sigma_{tot}(c)$:社区$c$中所有节点的度数总和(也就是$\sum_{i∈c}k_i$,对应原始Q里$\sum_{i,j∈c}k_i k_j$的展开结果,因为$\sum_{i∈c}k_i \cdot \sum_{j∈c}k_j = (\Sigma_{tot}(c))^2$)

接下来看ΔQ的推导:当我们把节点$i$移到社区$c$时,ΔQ本质是移动后整个网络的Q值减去移动前的Q值。

我们只需要关注两个社区的变化:节点$i$原来所在的社区,以及目标社区$c$。论文里为了简化推导,直接聚焦于目标社区$c$的贡献变化,再结合节点$i$的孤立状态做对比:

  1. 移动前,社区$c$的贡献是 $\frac{\Sigma_{in}}{2m} - \left( \frac{\Sigma_{tot}}{2m} \right)^2$(这里$\Sigma_{in}$和$\Sigma_{tot}$都是移动前社区$c$的数值)
  2. 移动后,社区$c$的$\Sigma_{in}$会增加节点$i$与社区$c$的连接权重$k_{i,in}$,$\Sigma_{tot}$会增加节点$i$的总度数$k_i$,所以贡献变为 $\frac{\Sigma_{in} + k_{i,in}}{2m} - \left( \frac{\Sigma_{tot} + k_i}{2m} \right)^2$
  3. 同时还要减去节点$i$从原社区移出带来的贡献变化,但论文里通过代数化简,把这部分和“节点$i$孤立时的贡献”做了合并,最终得到了你看到的ΔQ表达式(化简后就是论文里呈现的简洁版本)

总结一下:

  • $\Sigma_{tot}$的定义完全源自模块化Q的原始展开,是为了简化社区层面的贡献计算而引入的符号,代表社区内所有节点的总度数之和。
  • ΔQ的表达式是通过计算节点移动前后社区贡献的差值,经过代数化简后得到的,所有符号都能直接追溯到最初的Q定义。

内容的提问来源于stack exchange,提问作者Dave

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 06:33:12