《node2vec Scalable Feature Learning for Networks》阅读笔记

《node2vec: Scalable Feature Learning for Networks》阅读笔记

2022.08.25

本文记录图嵌入表示学习算法Node2vec原论文的阅读笔记

论文主页:

官方主页:http://snap.stanford.edu/node2vec/

snap主页:https://snap.stanford.edu/

摘要

以往的特征表示学习方法(如DeepWalk、LINE)不能够捕获连接的多样性与丰富性,由此提出了Node2vec方法。Node2vec将节点编码成连续、低维、稠密的向量。论文定义了有偏随机游走方法来灵活地探索邻居间的多样性,相比于之前的方法,可以自己决定去探索节点中的哪一部分。实验表明,Node2vec在多标签分类和连接预测这两个任务上都取得了很好的效果。总之,Node2vec可以从复杂网络中学习到一个通用的学习表示。

1. INTRODUCTION

任何监督学习算法都具备内含丰富语义、有分类区分性、有相互独立的特征这三个要素。以往有两种方法来学习特征,第一是人工设计方法,但这种方法效率低,设计的特征效果也不好,且不具有通用性。第二种是基于矩阵分解的图嵌入方法,但这种方法因为要做矩阵分解,时间复杂多太多,不能适用于大规模图。而Node2vec是基于随机游走来进行表示学习。该算法同时兼顾学习社群信息相似和功能结构相似两部分,这才能让算法有更好的泛化性。

两个概念:

一阶随机游走(一阶马尔科夫性):下一节点仅与当前节点有关(DeepWalk、PageRank)

二阶随机游走(二阶马尔科夫性):下一节点不仅与当前节点有关,还与上一节点有关

总结贡献:

  • 论文提出了Node2vec,它是图网络中一种高效的可扩展的表示学习方法,还可以通过p,q这两个参数来探索图的不同特性
  • Node2vec符合网络科学的一系列准则,其提取的特征包含丰富的信息
  • Node2vec从节点嵌入扩展到了连接嵌入
  • 论文实验表明,在各类数据集上,Node2vec都取得很好的效果

2. RELATED WORK

先叙述了两种传统特征学习方法的缺点:

一、基于人工设计的特征学习方法

效率低、效果差、不通用

二、基于矩阵分解的特征学习方法

难以扩展、不通用,不适用大规模图

然后叙述基于随机游走的图嵌入,先是讲述了语言模型中word2vec中skip-gram的成功,受该算法启发,提出了DeepWalk算法。但是DeepWalk是刚性的算法,其在随机游走时是完全随机的,而论文提出的Node2vec是有偏的随机游走,其可以通过参数p和q来决定学习哪部分的邻域特征。

最后叙述了基于监督学习的图嵌入,就是使用标签来进行学习,使得其可以适用于下游的学习任务,但是在图网络节点分类任务中,其节点标签是很稀疏的,所以也不具备通用性。

3. FEATURE LEARNING FRAMEWORK

具体每个符号含义这里就不列举了,直接看公式:

把word2vec中的Skip-Gram模型用在图网络中,用中间词预测周围词,Skip-Gram损失函数为:

在这里插入图片描述

作条件独立假设(马尔科夫性成立),即周围节点间互不影响,上式可以改写为:

然后再假设两个节点之间的相互影响的程度一样(对称性),此时可以用softmax:

在这里插入图片描述

进行softmax:

在这里插入图片描述

损失函数可以转换为:

在这里插入图片描述

网络不像词语那样是线性的,因此需要先生成随机游走序列,

3.1 CLASSIC SEARCH METHOD

在这里插入图片描述

DFS(深度优先):搜索的是 structural equivalence 节点功能角色(中枢、桥接、边缘)

BFS(广度优先):搜索的是 homophily 同质社群(社交网络)

也就是所这两种搜索策略下邻域是不一样的,但这种策略都是极端策略,而真正的搜索策略应该是这两种搜索策略的结合,也就是以下的Node2vec

3.2 Node2vec
3.2.1 Random Walks

u:起始节点 t:上一节点 v:当前节点 X:下一节点

  • Ns(t)表示上一节点的邻居节点
  • k表示当前节点v的邻居节点个数
  • l表示随机游走序列的节点个数

在这里插入图片描述

3.2.2 Search bias α

若图中的边之间有权重,则直接用,没有就权重赋值为1,连接权重表示游走概率,但这样无法调节搜索策略,直接用BFS、DFS又太极端。所以论文定义了一种二阶随机游走的形式(含参数p和q)

在这里插入图片描述

Node2vec随机游走步骤图示:

在这里插入图片描述

时空复杂度:

空间复杂度:存储每个节点的邻居的空间复杂度是O(|E|)。对于二阶随机游走,因为要存储邻居的邻居,所以其空间复杂度是
O ( a 2 ∣ V ∣ ) \begin{equation} O\left(a^{2}|V|\right) \end{equation} O(a2V)

其中a表示每个节点的平均连接数(上一个节点有a个,当前节点也有a个,所以是a的平方)

时间复杂度: O ( 1 k + 1 l − k ) O(\begin{equation} \frac{1}{k}+\frac{1}{l-k}) \end{equation} O(k1+lk1),其中k是邻域节点的个数,整个随机游走序列的长度是l,所以一个节点已经被采样的概率是1/k,在后边会被采样的概率是1/(l-k)。

只有l可以控制,l越大,节点越被容易采样。

3.2.3 Node2vec algorithm

在这里插入图片描述

这里解释一下AailsSample:用于产生下一个随机游走节点,采用空间换时间的方法,所以时间复杂度是O(1),他在大量反复抽样的情况下,优势更加突出(比如这里采样大量随机游走序列),还巧妙地实现了离散分布抽样转换为均匀分布抽样

3.3 Learing Edge Features

也就是将 Node Embedding 扩展到了 Link Embedding,可用于判断两个节点间是否有连接

4. EXPERIMENTS

Node2vec是无监督的,是独立于下游任务的,所以它是一个通用的表示学习方法

4.1 Case Study

《悲惨世界》人物关系图(77个节点,254条边),把每个节点都嵌入到16维的空间,对这77个16维的向量做聚类,然后对聚类结果进行可视化,如下图所示:

在这里插入图片描述

4.2 Experimental setup

论文实验充分体现了其公平性,就是对于每种算法,都是在尽可能相同的设置下进行,具体的设置见论文。另外,实验还采用显著性检验来验证其科学性,以及采用网格搜索来寻找最优的参数p和q,总之,该实验十分严谨。

两个评估指标:

Macro-F1:将每一类的F1取平均

Micro-F1:用总体的TP、TN、FP、FN(混淆矩阵)计算F1

下表是不同算法在不同数据集上的Macro-F1值:

在这里插入图片描述

4.3 Multi-Lable classification

由已知节点的标签去预测得到未知节点的标签。

论文用了博主社交网络、蛋白质交互网络、维基百科词条这三个数据集来进行多标签分类任务,这三个数据集中都是homophilic和structural equivalence的结合

实验结果:

在这里插入图片描述

由结果可以看出:

  • Node2vec是表现效果最好的算法
  • 标注数据越多(横轴表示标注数据比例),效果越好
  • 在PPI数据集上,DeepWalk可以视为Node2vec的性能下界
4.4 Parameter sensitivity

以下是调参对比实验结果

在这里插入图片描述

r:参数是每个节点的采样次数(每个节点的随机游走序列),值越大效果越好

l:参数是随机游走序列长度,值越大越好,但会达到一个瓶颈

k:上下文窗口,值越大越好,也会有瓶颈

最后一列:表示随机剔除和增加连接,但性能并不会断崖式下降,说明算法鲁棒性很好

4.5 Perturbation Analysis

分为两种扰动分析:缺失连接(比如论文引用中,尚未发表的论文)和噪声连接(随机增加的连接)

4.6 Scalability

用了一种ER随机图来进行实验

在这里插入图片描述

横轴和纵轴都是对数坐标系的话,一条直线表示时间复杂度就是线性的,是很高效的算法

4.7 Link Prediction

预测缺失的连接(两个节点间是否有连接)

先构建正负样本:

  • 50%的连接作为正样本(选取的原则是去除这些50%的连接后剩下的仍然是连通的)
  • 再选取不连接的节点对作为负样本

使用的数据集有:Facebook(社交好友)、Protein-Protein Interactions(PPI 蛋白质交互)、arXiv ASTRP-PH(科学家协作)

实验结果(数值表示AUC):

在这里插入图片描述

5. DISCUSSION AND CONCLUSION

5.1 CONCLUSION
  • 将特征表示学习转化为优化问题
  • Node2vec可以将BFS与DFS这两种方法结合,BFS适合学习图中的structural equivalences节点功能角色(中枢、桥接、边缘),DFS可以学习homophily 同质社群(社交网络)
  • 相比于DeepWalk和LINE这种刚性的搜索策略(不能够自己决定),Node2vec引入了参数p和q,其能够更加灵活地生成随机游走序列
  • 论文还从节点预测扩展到了连接预测
5.2 DISCUSSION
  • 未来可以研究关于参数p和q的可解释学习
  • 未来可以研究Node2vec在异质图上的表现
    equivalences节点功能角色(中枢、桥接、边缘),DFS可以学习homophily 同质社群(社交网络)
  • 相比于DeepWalk和LINE这种刚性的搜索策略(不能够自己决定),Node2vec引入了参数p和q,其能够更加灵活地生成随机游走序列
  • 论文还从节点预测扩展到了连接预测
5.2 DISCUSSION
  • 未来可以研究关于参数p和q的可解释学习
  • 未来可以研究Node2vec在异质图上的表现
  • 将Node2vec这种表示学习方法应用在端到端的深度学习
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值