论文《Line Graph Neural Networks for Link Prediction》阅读

论文《Line Graph Neural Networks for Link Prediction》阅读

今天带来的是一篇经典论文《Line Graph Neural Networks for Link Prediction》,提出线图在链路预测上的应用。论文发表在TPAMI上,由微软的Lei Cai等人完成。论文在Google Scholar上有200+的引用量,成为事实上的链路预测SOTA模型。

论文概况

论文发表时间是2021年,实际上2020年就投到arXiv上了,从时间上来说,是相当领先且高效的链路预测模型。

论文聚焦于链路预测场景,强调其模型的普适性,在一共14个数据集上进行了实验(包含学术转发、生物、交通、社交网络等),均能够取得较好的结果。
Dataset Description

论文方法论部分非常简单,yet effective,而且writing部分切入非常准确,提出了LGLP模型。

论文地址:TPAMI LGLP

代码仓库:LGLP

Introduction

先介绍一下链路预测 Link Prediction,其任务主要是预测目标边的概率。模型为分类模型,即判断边 存在/不存在。

论文的切入点聚焦在链路预测的信息损失这个角度。在链路预测领域,当前的主流方法是GNN,大概的pipeline是在整个链路图中,随机选择若干两个结点,以这两个结点作为中心通过(深度或广度)遍历得到对应子图,在这个子图上进行表示学习。至于目标边的预测,则通过log loss进行学习,也就是通过池化操作,将两个大小为 D D D 的向量池化为一个 0 0 0 1 1 1 的实数。这个任务实际上是一个图分类任务,即判断该图为0/1。这步操作过程会损失较多的信息,造成模型性能不够优秀。

Architecture

作者在这个基础上,提出使用线图,即将原图中的边换为点,点换位边,这样,原图的连边预测任务就转化为线图的结点分类任务。即对应的结点是有边结点还是无边结点。

图分类 ⟹ \Longrightarrow 节点分类

Methodology

实际上LGLP模型是在SEAL模型的基础上进行的,模型的基本pipeline也是遵循了SEAL的基本操作。作者将链路预测分为3个基础步骤:

  • Enclosing Graph Extraction:封闭子图提取
  • Node Labeling:节点重要性标注
  • Feature Learning & Link Prediciton:图方法及结果预测。

下面依次介绍。

子图提取

Line Graph Illustration

K K K-hop子图提取,即对目标结点对 v i v_i vi v j v_j vj 的距离不超过 K K K 的结点都计算进入到子图 G ( v i , v j ) K G_{\left(v_i, v_j\right)}^{K} G(vi,vj)K 中。
G ( v i , v j ) h = { v ∣ min ⁡ ( d ( v , v i ) , d ( v , v j ) ≤ h ) } . (1) G_{\left(v_i, v_j\right)}^{h}=\left\{v \mid \min \left(d\left(v, v_i\right), d\left(v, v_j\right) \leq h\right)\right\}.\tag{1} G(vi,vj)h={ vmin(d(v,vi),d(v,vj)h)}.(1)
然后进行线图转换,点变成边,边变成点。

那么线图中结点的大小就变成了原先边的数量,即 N N N,而边的数量变为 1 2 ∑ i = 1 M d i 2 − N \dfrac{1}{2}\sum_{i=1}^{M}d_{i}^{2}-N 21i=1Mdi2N,即每个原节点作为共同节点两两连接再减去多算的一遍原边的次数。

Node and Edge Count in the Original Graph and the Line Graph

Node Labeling

图有了,现在需要标注结点的重要性。

对于没有feature的结点:
l ( v 1 , v 2 ) = concate ⁡ ( min ⁡ ( f l ( v 1 ) , f l ( v 2 ) ) , max ⁡ ( f l ( v 1 ) , f l ( v 2 ) ) ) ,

### Graph Neural Networks in Social Recommendation Graph Neural Networks (GNNs) 的英文翻译为 **Graph Neural Networks**,而其在社交推荐中的应用可以描述为 **Application of Graph Neural Networks in Social Recommendations** 或者更具体的表述如 **Social Recommendation using Graph Neural Networks**。 #### 背景介绍 社交推荐系统利用用户之间的社会关系以及物品间的关联信息来提升推荐质量。由于图神经网络能够有效处理复杂的图结构数据并从中学习高阶特征[^1],因此 GNN 已成为该领域的重要工具之一。具体来说,在社交推荐场景下,用户的交互行为和社会联系可以通过图的形式建模,其中节点代表用户或项目,边则表示两者间的关系或互动强度[^3]。 #### 应用方式 一种典型的应用方法是构建包含用户-项目二分图的社会感知推荐框架,并在此基础上引入基于消息传递机制的消息传播算法以捕捉隐含模式[^4]。此外,考虑到实际应用场景中可能存在动态变化的情况(比如新增好友或者兴趣转移),部分研究还探索了如何结合时间维度的信息来进行更加精准的预测[^5]。 以下是实现这一过程的一个简单伪代码示例: ```python import torch from torch_geometric.nn import GCNConv class SocialRecommendationModel(torch.nn.Module): def __init__(self, num_user_features, num_item_features, hidden_channels): super(SocialRecommendationModel, self).__init__() self.conv1 = GCNConv(num_user_features + num_item_features, hidden_channels) self.conv2 = GCNConv(hidden_channels, 1) def forward(self, data): x, edge_index = data.x, data.edge_index x = self.conv1(x, edge_index) x = torch.relu(x) x = self.conv2(x, edge_index) return torch.sigmoid(x).squeeze() ``` 此段代码定义了一个基础版本的用于社交推荐任务的两层图卷积网络模型(GCN),它接收融合后的用户和项目的特征作为输入,并最终输出每一对可能存在的链接概率值。 #### 总结 综上所述,借助于强大的表达能力和灵活性,图神经网络正在推动着社交推荐技术向着更高水平迈进。未来随着理论和技术的发展,相信会有更多创新性的解决方案被提出。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值