背景

发表论文时对应的对比算法。

KLICPERA J, BOJCHEVSKI A, GÜNNEMANN S. Predict then Propagate: Graph Neural Net-
works meet Personalized PageRank[C/OL] //7th International Conference on Learning Represen-
tations, ICLR 2019, New Orleans, LA, USA, May 6-9, 2019. : OpenReview.net, 2019. https:
//openreview.net/forum?id=H1gL-2A9Ym.

理论部分

APPNP (Approximation Personalized Propagation of Neural Prediction)被应用在引文网络的节点分类任务中。在节点分类中,一般的网络方法对领域节点的考虑是不足的。APPNP利用图卷积神经网络与个性化页面排序结合, 利用PageRank传播的方式构建一种简单的模型,来进行邻域节点信息更好的传播。PageRank 算法通过网页链接重要性得分计算。重要性可认为是网页链接点击。PageRank算法给定一个概率值,定义为网页访问的概率。一般地, 1N\frac{1}{N}N1​ 表示为每个网页节点初始化的概率, PR{\rm{PR}}PR也是一个初始化的概率值。PageRank 是一个迭代算法,因此PR{\rm{PR}}PR 值初始化为1N\frac{1}{N}N1​ , NNN表示为节点的数量。 PR{\rm{PR}}PR值的总和一般为1,当PR{\rm{PR}}PR越大,说明重要性越大。
给定节点vvv,求节点vvv的PR{\rm{PR}}PR值,
PR(v)=∑u∈NvPR(u)O(u){\rm{PR(}}v{\rm{) = }}\sum\limits_{u \in {{\mathcal N}_v}} {\frac{{{\rm{PR(}}u{\rm{)}}}}{{O(u)}}} PR(v)=u∈Nv​∑​O(u)PR(u)​
Nv{{\mathcal N}_v}Nv​表示所有链接到节点vvv的集合。 O(u)O(u)O(u)表示节点uuu的对外链接数。最早提出的PageRank算法存在着一些缺点,例如当一些节点存在自链接,或者是一些节点的出链节点形成循环圈时,PageRank在迭代过程中会出现PR{\rm{PR}}PR 持续增大,不会减小的情况。对于上述问题,PageRank算法被重新进行改进。
PR(v)=α∑u∈NvPR(u)O(u)+(1−α)N{\rm{PR(}}v{\rm{) = }}\alpha \sum\limits_{u \in {{\mathcal N}_v}} {\frac{{{\rm{PR(}}u{\rm{)}}}}{{O(u)}}} + \frac{{(1 - \alpha )}}{N} PR(v)=αu∈Nv​∑​O(u)PR(u)​+N(1−α)​
α\alphaα是一个超参数,取值一般为0.85。 α\alphaα表示节点跳转时的概率,不依据节点之间的链接进行跳转。
PageRank算法衍生出的模型个性化的PageRank算法,主要利用图中节点的链接关系来迭代计算节点的权重。PageRank算法使用随机游走的策略来访问图中节点。PageRank算法与个性化Page Rank算法的区别在于随机游走时的跳转行为不同。个性化的PageRank算法对跳转行为进行约束,指定调转到的对外链接为特定的节点。例如在个性化排序时,用户只能跳转到一些特定的节点,这些节点表示用户偏好的那些节点。
PPR′(v)=α∑u∈NvPR(u)O(u)+(1−α)rv{\rm{PP}}{{\rm{R}}^{'}}{\rm{(}}v{\rm{) = }}\alpha \sum\limits_{u \in {{\mathcal N}_v}} {\frac{{{\rm{PR(}}u{\rm{)}}}}{{O(u)}}} + (1 - \alpha )r_v PPR′(v)=αu∈Nv​∑​O(u)PR(u)​+(1−α)rv​
其中,
rv={1v=u0v≠u{r_v} = \left\{ {\begin{matrix}{{}} 1&{v = u}\\ 0&{v \ne u} \end{matrix}} \right. rv​={10​v=uv​=u​
个性化PageRank算法中,用户的偏好表示为∣rv∣=1|r_v| = 1∣rv​∣=1。原始的PageRank采用的计算方式为ρpr=Arwρpr{{\boldsymbol{\rho }}_{{\rm{pr}}}} = {{\bf{A}}_{{\rm{rw}}}}{{\boldsymbol{\rho }}_{{\rm{pr}}}}ρpr​=Arw​ρpr​,ρpr{{\boldsymbol{\rho }}_{{\rm{pr}}}}ρpr​是Arw{{\bf{A}}_{{\rm{rw}}}}Arw​的特征向量,Arw=AD−1{{\bf{A}}_{{\rm{rw}}}} = {\bf{A}}{{\bf{D}}^{ - 1}}Arw​=AD−1,类似的,个性化的PageRank 算法可以表示为
ρppr(xv)=(1−α)A~ρppr(xv)+αxv{{\boldsymbol{\rho }}_{{\rm{ppr}}}}({{\bf{x}}_{\bf{v}}}) = (1 - \alpha ){\bf{\tilde A}}{{\boldsymbol{\rho }}_{{\rm{ppr}}}}({{\bf{x}}_{\bf{v}}}) + \alpha {{\bf{x}}_{\bf{v}}} ρppr​(xv​)=(1−α)A~ρppr​(xv​)+αxv​
对上式进行重新表示,得到
ρppr(xv)=α(I−(1−α)A~)−1xv{{\boldsymbol{\rho }}_{{\rm{ppr}}}}({{\bf{x}}_{\bf{v}}}) = \alpha {({\bf{I}} - (1 - \alpha ){\bf{\tilde A}})^{ - 1}}{{\bf{x}}_{\bf{v}}} ρppr​(xv​)=α(I−(1−α)A~)−1xv​
xv{{\bf{x}}_{\bf{v}}}xv​表示的是节点vvv对应的传送向量。
PPNP模型的输出结果可表示为ZPPNP{{\bf{Z}}_{{\rm{PPNP}}}}ZPPNP​
ZPPNP=softmax(α(I−(1−α)A~)−1fw(X)){{\bf{Z}}_{{\rm{PPNP}}}}{\rm{ = softmax(}}\alpha {({\bf{I}} - (1 - \alpha ){\bf{\tilde A}})^{ - 1}}{f_w}{\rm{(}}{\bf{X}}{\rm{))}} ZPPNP​=softmax(α(I−(1−α)A~)−1fw​(X))

fw(X){f_w}{\rm{(}}{\bf{X}}{\rm{)}}fw​(X)表示的是一个关于参数学习权重www的神经网络。A~=D^−12A^D^−12{\bf{\tilde A}} = {{\bf{\hat D}}^{^{ - \frac{1}{2}}}}{\bf{\hat A}}{{\bf{\hat D}}^{^{ - \frac{1}{2}}}}A~=D^−21​A^D^−21​ , A^=A+I{\bf{\hat A}} = {\bf{A}} + {\bf{I}}A^=A+I。为加快PPNP的网络模型训练速度,因此APPNP在PPNP的基础上近似求逆的操作。被表示为:
ZAPPNP(0)=fw(X){\bf{Z}}_{{\rm{APPNP}}}^{(0)}{\rm{ = }}{f_w}{\rm{(}}{\bf{X}}{\rm{)}} ZAPPNP(0)​=fw​(X)

ZAPPNPk+1=(1−α)A~ZAPPNPk+αfw(X){\bf{Z}}_{{\rm{APPNP}}}^{k + 1}{\rm{ = (1 - }}\alpha {\rm{)}}{\bf{\tilde AZ}}_{{\rm{APPNP}}}^k + \alpha {f_w}{\rm{(}}{\bf{X}}{\rm{)}} ZAPPNPk+1​=(1−α)A~ZAPPNPk​+αfw​(X)

ZAPPNPK=softmax((1−α)A~ZAPPNPK−1+αfw(X)){\bf{Z}}_{{\rm{APPNP}}}^K{\rm{ = softmax}}({\rm{(1 - }}\alpha {\rm{)}}{\bf{\tilde AZ}}_{{\rm{APPNP}}}^{K - 1} + \alpha {f_w}{\rm{(}}{\bf{X}}{\rm{))}} ZAPPNPK​=softmax((1−α)A~ZAPPNPK−1​+αfw​(X))

通过上述公式,矩阵的求逆操作被进行近似。在APPNP迭代到最后两步时,进行归一化操作。k∈Kk \in Kk∈K ,KKK 表示迭代的次数。
个性化的页面排序算法加入α\alphaα,表示节点跳转时依据一定的概率,使页面排序算法具有个性化。
APPNP算法利用图卷积神经网络与页面排序算法结合的方式,提出一种个性化页面排序算法解决图神经网络节点分类问题的模型。相比于一些基线模型,APPNP算法没有引入任何的参数量,但APPNP的算法收敛速度较慢。APPNP算法将个性化页面排序算法与图卷积神经网络结合,图卷积神经网络可以被替换为图注意力网络等。

理论部分注意事项

πpr=Arwπpr{{\boldsymbol{\pi}}_{{\rm{pr}}}} = {{\bf{A}}_{{\rm{rw}}}}{{\boldsymbol{\pi }}_{{\rm{pr}}}}πpr​=Arw​πpr​
πpr{{\boldsymbol{\pi}}_{{\rm{pr}}}}πpr​应该是Arw{{\bf{A}}_{{\rm{rw}}}}Arw​的特征向量。参考链接来自:

https://codeantenna.com/a/TmBbfN2SV1

相关资料

https://blog.csdn.net/fnoi2014xtx/article/details/107567629

数据

https://github.com/shchur/gnn-benchmark/tree/master/data

代码

https://github.com/benedekrozemberczki/APPNP

APPNP:PREDICT THEN PROPAGATE: GRAPH NEURAL NETWORKS MEET PERSONALIZED PAGERANK相关推荐

  1. Iterative Deep Graph Learning for Graph Neural Networks: Better and Robust Node Embeddings

    摘要:在本文中,我们提出了一个端到端的图学习框架,即迭代深度图学习(IDGL),用于联合和迭代地学习图结构和图嵌入.IDGL的关键理论是基于更好的节点嵌入来学习更好的图结构,反之亦然(即基于更好的图结 ...

  2. Paper:《Graph Neural Networks: A Review of Methods and Applications—图神经网络:方法与应用综述》翻译与解读

    Paper:<Graph Neural Networks: A Review of Methods and Applications-图神经网络:方法与应用综述>翻译与解读 目录 < ...

  3. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](5)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](5) Graph Neural Networks 图神经网络 Now th ...

  4. Re2:读论文 CS-GNN Measuring and Improving the Use of Graph Information in Graph Neural Networks

    诸神缄默不语-个人CSDN博文目录 论文下载地址:https://openreview.net/attachment?id=rkeIIkHKvS&name=original_pdf 代码:yi ...

  5. FreeKD:Free-direction Knowledge Distillation for Graph Neural Networks

    标题:FreeKD:Free-direction Knowledge Distillation for Graph Neural Networks 1.什么是知识蒸馏? 1.1 什么是知识: we t ...

  6. Graph Neural Networks: A Review of Methods and Applications(图神经网络:方法与应用综述)

    Graph Neural Networks: A Review of Methods and Applications 图神经网络:方法与应用综述 Jie Zhou , Ganqu Cui , Zhe ...

  7. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](7)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](7) Into the Weeds Other types of grap ...

  8. 【论文阅读】A Gentle Introduction to Graph Neural Networks [图神经网络入门](3)

    [论文阅读]A Gentle Introduction to Graph Neural Networks [图神经网络入门](3) What types of problems have graph ...

  9. 笔记 How Powerful are Spectral Graph Neural Networks

    前言 title是模仿之前的另一篇出名文章"how powerful -" 文中构筑了linear GNN 到 1-WL在一定条件下的等价关系. 出于个人兴趣原因我不是很关心模型部 ...

最新文章

  1. liunx导出mysql慢查询日志查看_查看 MySQL 慢查询日志文件-问答-阿里云开发者社区-阿里云...
  2. chHANDLE_DLGMSG(windows核心编程)讲解
  3. 【异常】org.apache.hadoop.hbase.client.RetriesExhaustedException: Failed after attempts=36, exceptions:
  4. Thrift Java Servers Compared
  5. sqlservcer行列互转
  6. Android Activity Launch Mode 启动模式详解
  7. python就业班 miniweb框架_mini-web框架
  8. Qt工作笔记-3D效果唤出QWidgets界面(QGraphicsProxyWidget与QTimeLine)
  9. 【Pytorch】tensorboardX==》数据可视化
  10. 测试 第七章 循环结构进阶 1205 草稿
  11. 定义一个没有参数的函数、输出python3次_Python函数参数详解,三天让你掌握python,不再是小白
  12. 目标检测——模型效率的优化
  13. Centos Linux 下Pycharm 安装
  14. 2D开源游戏引擎调研报告(一)
  15. 百战程序员-人工智能从入门到开发教程(60万下载量)
  16. js字符串分割split()
  17. 登陆验证java代码怎么写_实现AJAX+JAVA用户登陆注册验证的代码
  18. 数据库系统的简单结构图
  19. 查询QQ会员账号信息API接口
  20. 多个Ajax请求成功后再执行后续方法

热门文章

  1. java红牛农场,在新加坡的,完一朋友一个夜班喝5瓶红牛。 下班坐地
  2. 电影网站 php asp,asp电影网址导航大全 V20201218
  3. Google Earth上划定矢量范围并导出为KMZ文件
  4. format函数python生成列表_python 全栈开发,Day14(列表推导式,生成器表达式,内置函数)...
  5. [渝粤教育] 中国地质大学 Java语言程序设计 复习题
  6. 偏导,梯度,Hesse矩阵的一些概念和求函数的极值
  7. 如何设置计算机自动连接宽带,宽带连接怎么设置,怎么设置宽带自动连接
  8. 新电脑怎么把计算机放在桌面,新安装的Win10怎么将“我的电脑”放在桌面
  9. django.db.utils.OperationalError: (2003, Can't connect to MySQL server on ‘127.0.0.1’)
  10. 由“西游记”的唐僧扫塔想到的