Neo-GNNs: Neighborhood Overlap-aware Graph Neural Networks for Link Prediction

Neo-GNNs: Neighborhood overlap-aware graph neural networks for link prediction. NeurIPS, 2021.

一种计算上相对高效的, 同时利用结构信息和特征信息的链接预测模型.

符号说明

  • G=(V,E), graph;
  • V={v1,v2,,vN}, N nodes;
  • E={eij|vi,vjV}, edges;
  • ARN×N, adjacency matrix;
  • DRN×N, diagonal matrix Dii=jAij;
  • XRN×F, node features

Motivation

  • link prediction 有很多启发式的方法, 比如利用

    SCN(u,v)=|N(u)N(v)|=kN(u)N(v)1,SRA(u,v)=kN(u)N(v)1dk,SAA(u,v)=kN(u)N(v)1logdk.

  • 作者的做法是将它一般化, 即

    S(u,v)=kN(u)N(v)xk.

Neo-GNN

  • xk 是这般设计的:

    xistruct=Fθ(Ai)=fθnode(jNifθedge(Aij)),

    通过可学习的参数从邻接矩阵 A 中获得有用的结构信息.

  • 有更一般的计算方式. 我们令

    Xstruct=diag(xstruct)RN×N,

    则当 fθedge(x)=xfθedge(x)=1/logx 的时候,

    S(u,v)=zuTzv,Z=AXstruct.

  • 更为一般的, 为了利用更高阶的信息, 作者实际上采用如下的形式:

    Z=gΦ(l=1Lβl1AlXstruct),

    其中 β 是用来控制高阶信息的一个超参数.

  • 除此之外, 通过一个普通的 GNN 得到传统的 (smoothed) 节点特征:

    H=GNN(X,A~GNN;W)RN×d.

  • 最后两个结点存在边的概率通过如下的方式得到:

    y^ij=ασ(ziTzj)+(1α)σ(s(hi,hj)),

    其中 α 是可训练的参数.

  • 训练的时候, 两个分支也要单独参与训练:

    L=(i,j)D(λ1BCE(y^ij,yij))+λ2BCE(σ(ziTzj),yij)+λ3BCE(σ(s(hi,hj)),yij).

代码

[official]

posted @   馒头and花卷  阅读(76)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
历史上的今天:
2022-08-25 ItemRank: A Random-Walk Based Scoring Algorithm for Recommender Engines
点击右上角即可分享
微信分享提示