首页 > 其他分享 >Metropolis Algorithms for Representative Subgraph Sampling

Metropolis Algorithms for Representative Subgraph Sampling

时间:2023-10-19 20:44:40浏览次数:33  
标签:采样 Metropolis frac cdot varrho Algorithms Representative sigma

目录

H\¨{u}bler C. and Kriegel H., Borgwardt K. and Ghahramani Z. Metropolis algorithms for representative subgraph sampling. ICDM, 2008.

提出了一种尽可能保持拓扑结构的子图采样方法.

主要内容

  • 假设我们有一个大图 \(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)}). \]

  • 所以整体的思路就是:

    1. 随机选择 \(S\);
    2. 然后不断 propsal 新的 \(S'\);
    3. 构成一条马氏链收敛到最后的平稳分布.
  • 具体的算法是:

    1. 随机选择 \(n'\) 个点得到它的子图 \(S\);
    2. 在剩下的点中随机选一个点 \(v'\), 然后在 \(S\) 中选择一个点 \(v\);
    3. \(S'\) 为 \(S\) 删除点 \(v\) 加上点 \(v'\);
    4. 计算接受概率 \(a(S', S)\), 判断是否接受.
    5. 不断循环直到收敛.

  • 现在的问题是 \(\varrho\) 的选择:

    \[\varrho_{p, T} (S) = [\Delta(\sigma(S), \sigma(G))]^{-p/T}, \]

    \(p\) 是一个固定的超参数, \(T\) 在采样中会逐渐退火. 总体来说, 和 \(G\) 统计性质越接近的子图越受青睐.

  • 此外, 可以证明上面算法中 \(q(S|S') = q(S'|S)\), 所以这使得结构概率的计算更加简单了.

标签:采样,Metropolis,frac,cdot,varrho,Algorithms,Representative,sigma
From: https://www.cnblogs.com/MTandHJ/p/17775582.html

相关文章

  • R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化|附代码数据
    原文链接:http://tecdat.cn/?p=19889原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于Metropolis-Hastings采样的研究报告,包括一些图形和统计输出。如果您可以写出模型的似然函数,则 Metropolis-Hastings算法可以负责其余部分(即MCMC)。我写了r代码来简化对任意模型的后......
  • javascript: Sorting Algorithms
     //SortingAlgorithmsintJavaScripthttps://www.geeksforgeeks.org/sorting-algorithms//***fileSort.js*1.BubbleSort冒泡排序法*@paramarry*@paramnszie*/functionBubbleSort(arry,nszie){vari,j,temp;varswapped;for(i=0;i......
  • 进化算法中的遗传算法(Genetic Algorithms)
    进化算法中的遗传算法(GeneticAlgorithms)引言进化算法是一类基于自然进化原理的优化算法,通过模拟生物进化过程中的选择、交叉和变异等操作,来求解复杂问题。遗传算法(GeneticAlgorithms)是进化算法中最为经典和常用的一种方法。本文将介绍遗传算法的基本原理、核心操作和应用领域,以及......
  • java: Sorting Algorithms
     /***encoding:utf-8*版权所有2023©涂聚文有限公司*许可信息查看:https://www.geeksforgeeks.org/sorting-algorithms/*描述:https://www.geeksforgeeks.org/sorting-algorithms/*#Author:geovindu,GeovinDu涂聚文.**#IDE:IntelliJID......
  • CSharp: Sorting Algorithms
     /*****************************************************************//***\fileSortingAlgorithm.cs*\briefcsharpSortingAlgorithms算法*IDEvs2022C#.net6.0*\authorgeovindu*\dateSeptember282023**************************......
  • cpp: Sorting Algorithms
     /*****************************************************************//***\fileSortingAlgorithms.h*\brief排序*\IDEvs2022C++20*\authorgeovindu*\dateSeptember282023********************************************************......
  • R语言使用Metropolis-Hastings采样算法自适应贝叶斯估计与可视化|附代码数据
    原文链接:http://tecdat.cn/?p=19889原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于Metropolis-Hastings采样的研究报告,包括一些图形和统计输出。如果您可以写出模型的似然函数,则 Metropolis-Hastings算法可以负责其余部分(即MCMC)。我写了r代码来简化对任意模型的后......
  • python: Sorting Algorithms
     #encoding:utf-8#版权所有2023涂聚文有限公司#许可信息查看:PythonSortingAlgorithms#描述:*https://www.programiz.com/dsa/counting-sort#*https://www.geeksforgeeks.org/sorting-algorithms/#Author:geovindu,GeovinDu涂聚文.#IDE:PyC......
  • python: Essential Algorithms
     #encoding:utf-8#版权所有2023涂聚文有限公司#许可信息查看:#描述:#Author:geovindu,GeovinDu涂聚文.#IDE:PyCharm2023.1python311#Datetime:2023/9/2121:28#User:geovindu#Product:PyCharm#Project:EssentialAlgor......
  • R语言贝叶斯推断与MCMC:实现Metropolis-Hastings 采样算法示例|附代码数据
    原文链接:http://tecdat.cn/?p=21545原文出处:拓端数据部落公众号 最近我们被客户要求撰写关于贝叶斯推断的研究报告,包括一些图形和统计输出。示例1:使用MCMC的指数分布采样任何MCMC方案的目标都是从“目标”分布产生样本。在这种情况下,我们将使用平均值为1的指数分布作为我们......