本节把模块度、Louvain 与 Leiden
算法、谱方法、随机块模型、映射方程、可检测性和团渗流中只陈述的结果完整推一遍。记号:
为无向无权网络的邻接矩阵(加权网络把
换成边权、
换成强度即可),
为节点
的度,
为边数,
为节点数。
A. 从模块度到谱二分(Newman
2006)
第 1 步:把
函数写成
变量。 二分时令
表示节点
在哪一侧。两点同侧时
,异侧时
,所以
第 2 步:代入模块度。 记模块度矩阵
,则
的每一行之和为零:。所以第一项消失,得到
。这一步是精确的。
第 3 步:特征分解。
是实对称矩阵,有正交归一的特征向量
,对应特征值
。把
展开为
,,则
第 4 步:放松与取整(近似在这里进入)。 若
可以是任意实向量(只保留
),把全部“权重”
放到最大特征值上即可使
最大,即
。但
只能取
,退而求其次:让
尽量大,显然取
。这是启发式,不保证全局最优;Newman
建议之后再做一轮“逐个翻转节点、保留使
增加的翻转”的局部微调。
第 5 步:何时停止。 因为
,全
1 向量总是特征值为 0 的特征向量。若
(没有正特征值),任何二分都不能让
超过“不分”的 0,网络被判为不可再分。
第 6 步:递归细分。 对已有社团
再二分时,
的增量为
,其中
对角修正项保证
的行和也为零。用
的主特征向量重复第 4、5 步,直到所有社团都不可再分。
算法 1 模块度谱二分(递归版)
输入:网络 G;输出:社团划分 P
1. P ← {V};待处理队列 S ← {V}
2. while S 非空:
3. 取出 g;构造 B^(g)(不显式存储,见下)
4. 用 Lanczos/幂迭代求 B^(g) 的最大特征值 β1 与特征向量 u1
5. if β1 ≤ 0(数值容差内): g 不可再分,continue
6. s_i ← sign(u1_i);可选:逐点翻转微调 s
7. ΔQ ← sᵀ B^(g) s / (4m)
8. if ΔQ ≤ 0: continue
9. 按 s 把 g 分成 g+、g−,在 P 中替换 g;把 g+、g− 加入 S
10. return P
复杂度:
是稠密矩阵,但不必存储。,一次乘法只需
。每次二分需要若干次乘法(次数取决于特征值间隙);Newman(2006)估计稀疏网络上整个递归过程约为
。
B. Louvain 局部移动的
用按社团求和的形式
(:社团内部边数;:社团度之和)。设节点
当前独自成一个社团(贡献
),记
为
连向社团
的边数。把
并入
后,,,
自身的那一项消失:
一般情形:节点
从社团
移到
,可看作“先移出成为孤点、再并入”,记
,
含义:第一项是“连向
比连向原社团多出的边”,第二项是零模型下的期望惩罚。带分辨率参数
时第二项乘以
。这个公式只需要
的邻居信息和每个社团的
,所以一次扫描全部节点的代价为
。(聚合后的超节点带自环,自环随节点一起移动,公式形式不变。)
算法 2 Louvain(一轮"局部移动 + 聚合")
1. 每个节点自成社团;记录每个社团的 d_c
2. repeat
3. improved ← false
4. for 节点 i(随机顺序):
5. 统计 i 连向各邻居社团的边数 k_{i,C}
6. 对每个邻居社团 C 计算 ΔQ_{D→C};取最大者 C*
7. if ΔQ_{D→C*} > 0: 移动 i,更新 d_D、d_{C*};improved ← true
8. until not improved
9. 每个社团压缩为超节点,社团间边权相加,社团内边变为自环
10. 若第 9 步后社团数未减少则停止,否则在新网络上回到第 1 步
复杂度:每次扫描
;扫描次数和层数没有严格的理论上界,经验上整体接近线性。第
7 步只接受严格增益,保证
单调上升、算法终止;但只能到达局部最优,结果依赖访问顺序。
推广到任意质量矩阵:若质量函数可写成
(
对称,如多层模块度的超模块度矩阵),则把节点
从
移到
的增量为
,聚合时
(
为节点–社团指示矩阵)。这就是 GenLouvain 一类实现的核心,代码示例的多层模块度即用此法。
C. Leiden 算法的流程
算法 3 Leiden(一层)
输入:网络 G,初始划分 P;输出:新划分
1. 快速局部移动:队列 Q ← 全部节点(随机顺序)
2. while Q 非空: 取出 v,移到增益最大的社团(含空社团);
3. 若 v 移动了,把 v 的不在 Q 中、且不属于 v 新社团的邻居加入 Q
4. 细化:对 P 中每个社团 C,令 P_ref 在 C 内从单点开始;
5. 对 C 中仍为单点、且与 C 其余部分连接足够好的节点 v(随机顺序):
6. 在 C 内与 v 相连、且自身与 C 连接足够好的子社团中,
7. 以概率 ∝ exp(ΔH/θ)(只考虑 ΔH ≥ 0)选择一个并入
8. 聚合:以 P_ref 的子社团为超节点建聚合网络;初始划分取 P(每个超节点归入其母社团)
9. 若 P 中每个社团都只含一个 P_ref 子社团(不再变化),停止;否则在聚合网络上回到第 1 步
“连接足够好”的判据与质量函数有关:以 CPM 为例,要求子集
与
之间的边数不少于
。第
7
步的随机性让细化可以探索更多可能的子社团;
时退化为贪心选择。
D. 分辨率极限的推导要点
把局部移动的方法用于“合并两个社团 1、2”:设它们之间有
条边,度之和为
,则
只要
且
,合并就会提高
。取
、:当
时,模块度最大化倾向于把两个哪怕内部完全连通的小团合并。
经典例子(Fortunato 与 Barthélemy
2007):
个
完全子图连成环,相邻两团之间只有 1 条边。每团
,。代入
得:当
时,把相邻两团合并的
更高。例如
时,只要环上超过 22 个团,最大模块度划分就不再把每个团单独作为社团。代码示例中,10 个
时“每团一社团”的
高于两两合并的 0.755;30 个
时则反过来(0.876 对 0.888)。
CPM 为何没有分辨率极限:对 CPM,合并社团 1、2
的增量为
,只依赖两个社团自身,与网络其余部分无关。两个
之间
、,只要
就不会合并,与团数无关。
上述推导只说明“合并能提高
”,并没有证明全局最优解一定合并;它也假设两社团之间的连接数和度之和已知。要点是:判据
中出现的是全网边数
,因此“小”是相对于整个网络而言的——同一个蛋白复合物,放在更大的相互作用组里就可能被吞并。
E. 划分数目的估计
等大二分数用 Stirling 公式
:
Bell 数的递推来自“考察包含节点
的那个组”:若该组另含
个其他节点(
种选法),其余
个节点任意划分(
种),故
。
的增长快于任何
:粗略地,。
F. SBM 与
DC-SBM 的轮廓似然(Karrer 与 Newman 2011)
DC-SBM:(;自环另计,此处略),对数似然(略去与参数无关的项)
(
时为组内边数的 2
倍)。
有尺度不确定性,加约束
(对每个组)。在此约束下对
求极大得
(),对
求极大得
。代回并去掉常数,得到只依赖划分的轮廓对数似然
标准 SBM 相当于所有
相同,同理得到
。
二者的差别一目了然:DC-SBM 用组的度之和
做归一化,标准 SBM 用组的节点数
。前者把“度高”归因于节点参数
,后者只能把度的差异归因于分组,因此在度异质的网络中会按度分组。
与模块度的对应(Newman 2016 的要点):若限定
、(),并取
(期望度等于观测度),对数似然中依赖划分的部分为
其中
(
已按
归一化)。也就是说,最大化
就是在这个受限模型下做最大似然;交替地“固定划分估计
、再更新
与划分”,就得到一个由数据决定
的迭代方案。
算法 4 DC-SBM 的贪心最大似然(固定组数 B,多次随机重启)
1. for restart = 1..R:
2. 随机初始化 b
3. repeat
4. for 节点 i(随机顺序): 把 i 移到使 L_DC 最大的组(只增益时移动)
5. until 无移动
6. 记录 L_DC(b)
7. 返回 L_DC 最大的 b
Karrer 与 Newman 使用类似 Kernighan–Lin
的启发式(允许暂时降低似然的强制移动)以跳出局部最优;贝叶斯版本则用
MCMC 在划分空间中抽样。
G. 映射方程的展开
对两层编码,索引码本中各模块码字的使用频率正比于进入概率
,模块
的码本中各码字(模块内节点与退出码)的使用频率正比于
()与
。由
Shannon 信源编码定理,
其中
,。代入
并记
,整理得
第三项与划分无关(节点访问分布的熵),只有含
与
的三项随划分变化,而它们都只依赖于每个模块的退出流和总访问量,因此移动一个节点后的
可以像
一样局部计算。单一模块时
,,即节点访问分布的熵。
对无向网络,;模块
的退出概率
等于随机游走者某一步从
内部走到外部的概率,即
。有向网络需先用带传送的随机游走(传送概率常取
0.15)求稳态分布。
H. 可检测性阈值的直观推导
以
为例给出一个启发式论证(严格结果见 Decelle 等 2011)。设每个节点有
个邻居(稀疏极限下邻域是树状的)。把节点的组标签
看作沿树传播的“信号”:沿一条边走一步,标签保持不变的概率为
,因此相关性每步乘以
距离根节点
步处约有
个节点,每个携带的关于根标签的相关性为
。把它们“投票”汇总,信号量级为
,而随机涨落的量级为
。信号压过噪声的条件是
,即
与
时的阈值一致(一般
时
,得
)。这一条件也正是非回溯矩阵中携带社团信息的特征值
从噪声谱的半径
中分离出来的条件,所以非回溯谱方法恰好在阈值处开始有效。
I. 团渗流阈值
在 ER 网络
中滚动一个
-团模板:每次保留
个节点、把第
个节点换到别处。可选择留下的
个节点中哪一个作为下次移动的“支点”,约有
种;新节点约有
个候选位置;新节点必须与留下的
个节点全部相连,概率为
。渗流阈值处,每次滚动产生的“下一个相邻
-团”的期望数应恰好为
1(类似分支过程的临界条件):
期望小于 1
时,滚动很快停止,-团社团的规模呈指数衰减;大于
1 时,出现横跨网络的巨大
-团社团。
J. 划分比较指标的性质
- NMI
的上界与偏差:,故
NMI
。当
的组数很多时,即使
随机,有限样本下的互信息估计也偏正(每组节点很少,列联表稀疏),这是随机多组划分
NMI 虚高的来源;调整互信息(AMI)减去了随机划分下互信息的期望。
- ARI
的机会校正:在两个划分的组大小(边际)固定、节点标签随机排列的超几何模型下,
的期望为
,ARI
正是减去这一期望后的归一化值,因此随机划分的 ARI 期望为 0。
- VI
是度量:,满足非负性、对称性与三角不等式,上界为
。