Metropolis Algorithms for Representative Subgraph Sampling
概
提出了一种尽可能保持拓扑结构的子图采样方法.
主要内容
- 
假设我们有一个大图 \(G\), 这导致我们在上面推理的时候会比较费时. 
- 
本文的想法是, 采样一个近似的子图 \(S\), 它的规模更小, 但是具有类似的拓扑结构, 所以在上面会有一个比较好的模拟效果, 严格来说 (\(n' \ll n = |G|\)): \[S* = \text{argmin}_{S \sqsubseteq G \wedge |S|=n'} \Delta (\sigma(S), \sigma(G)), \]这里 \(\sigma(\cdot)\) 统计图的一些性质 (如 degree 分布, 半径等), \(\Delta(\cdot, \cdot)\) 则度量两个统计量的差距. 
- 
但是, 一般来说, 精确求解是困难的 (这需要穷尽所有的组合). 
Metropolis graph sampling
- 
本文在 \(\Xi :=\{S \sqsubseteq G: |S| = n'\}\) 上定义一个分布: \[p(S) = \frac{\varrho(S)}{\sum_{S' \in \Xi} \varrho (S')}, \]\(\varrho\) 和 \(\sigma(S)\) 有关. 但是归一化因子 \(Z = \sum_{S' \in \Xi} \varrho (S')\) 依旧需要穷举所有的, 所以直接构建分布然后采样是不可行的. 
- 
于是作者求助 Metropolis 采样. 转而定义如下的条件分布: \[p(S'|S) = q(S'|S) \cdot a(S', S), \]其中 \(q(S'|S)\) 为 proposal distribution (一般为方便采样 \(S'\) 的分布), \(a(S'|S)\) 为接受概率. 
- 
因为条件概率: \[p(S'|S) = p(S', S) / p(S), \]故 \[\frac{a(S', S)}{a(S, S')} = \frac{p(S') q(S|S')}{p(S)q(S'|S)}, \]倘若我们定义接受概率为: \[a(S', S) := \min(1, \frac{p(S') q(S|S')}{p(S)q(S'|S)}) \]上面性质就自然成立了. 这是因为只有如下的两种情况发生: \[a(S', S) := 1, a(S, S') = \frac{p(S) q(S'|S)}{p(S')q(S|S')}, \\ a(S', S) := \frac{p(S') q(S|S')}{p(S)q(S'|S)}, a(S, S') = 1. \]
- 
这种方式有一个好处, \(p(S') / p(S)\) 使得归一化因子 \(Z\) 被约掉了, 所以实际上变成了: \[a(S', S) := \min(1, \frac{\varrho(S') q(S|S')}{\varrho(S)q(S'|S)}). \]
- 
所以整体的思路就是: - 随机选择 \(S\);
- 然后不断 propsal 新的 \(S'\);
- 构成一条马氏链收敛到最后的平稳分布.
 
- 
具体的算法是: - 随机选择 \(n'\) 个点得到它的子图 \(S\);
- 在剩下的点中随机选一个点 \(v'\), 然后在 \(S\) 中选择一个点 \(v\);
- \(S'\) 为 \(S\) 删除点 \(v\) 加上点 \(v'\);
- 计算接受概率 \(a(S', S)\), 判断是否接受.
- 不断循环直到收敛.
 

- 
现在的问题是 \(\varrho\) 的选择: \[\varrho_{p, T} (S) = [\Delta(\sigma(S), \sigma(G))]^{-p/T}, \]\(p\) 是一个固定的超参数, \(T\) 在采样中会逐渐退火. 总体来说, 和 \(G\) 统计性质越接近的子图越受青睐. 
- 
此外, 可以证明上面算法中 \(q(S|S') = q(S'|S)\), 所以这使得结构概率的计算更加简单了. 

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号