知识 Wiki 总览 / 复杂网络
复杂网络:社区发现
更新于 2026-11-07条目链接
社区发现尝试识别网络中连接模式相近的节点群。常见的凝聚型社区表现为组内连接较密、组间连接较疏,但二部结构、核心—边缘结构并不一定符合这种定义。
模块度衡量什么
无向网络的模块度可写为 Q=(1/2M)Σᵢⱼ[Aᵢⱼ−kᵢkⱼ/(2M)]δ(cᵢ,cⱼ)。它比较同一社区内部的实际连边与保持度信息的基准预期;δ 在两节点属于同一社区时取 1,否则取 0。较大的 Q 表示相对该基准有更多组内连接,但不能单独证明社区对应真实群体。
Louvain 的基本过程
Louvain 是模块度优化的启发式方法:先局部移动节点以提高模块度,再把社区聚合成新网络,重复优化。它适合快速探索,但结果可能受节点处理顺序、随机种子和分辨率参数影响,并不保证得到全局最优解。
三个必须检查的问题
- 分辨率:不同参数下,群体可能被合并或拆分;标准模块度存在分辨率限制。
- 稳定性:改变随机种子或轻微扰动边,划分是否保持?不要只报告一次最漂亮的结果。
- 解释性:社区与已知属性的关系需要额外验证,不能仅凭可视化给群体赋予含义。
建议分析流程
- 明确方向、权重、孤立节点及自环的处理。
- 记录算法实现、分辨率和随机种子。
- 比较多次运行和多种参数的社区数量、规模与一致性。
- 结合外部属性解释,并保留不确定性。
参考
NetworkX:Louvain 算法及参数;Fortunato & Hric:Community detection in networks: A user guide。
