node2vec:Scalable Feature Learning for Networks论文阅读笔记

摘要

虽然近期的大型表征学习已经在通过学习特征本身来自动化预测方面取得了重要的进步,但是目前的特征学习方法不能够很好地捕捉到网络中多变的连接关系。本文提出的node2vec用于学习网络中的节点表示,将节点映射到低维特征空间。相比于前人的工作,使用了随机游走+灵活性(关于网络邻居的定义),在探索邻居时加入灵活性是学习得更好的关键。

关键词

信息网络,特征学习,节点嵌入,图表示

1引言

网络任务大多涉及两类任务:节点分类和边的关系预测。任何监督学习算法都需要大量独立的、分布的特征,所以必须为节点和边构造特征向量。一种传统的解决方法是由人来处理特征工程,但是即使不考虑这之间的繁琐工作,这样得到的特征不具备概括性,不能应用到不同的预测任务中。
一种可替代的方法是通过解决最优化问题来学习特征表示,这种方法的挑战在于定义一个目标函数(在性能与计算之间折中)。在频谱方面,可以通过优化下游预测任务的性能来找到特征表示。(计算耗费时间,虽然准确度高)(?)在其他方面,这个目标函数可以定义为独立于下游预测任务,并且特征可以被完全无监督的方式学得,这使得优化高效且产生的特征高度匹配特定任务方法的特征。(?)
然而,目前的技术未能很好地定义和优化网络中可伸缩的、无监督特征学习所需的合理目标**(目前的不足)。基于线性或非线性的降维方法(PCA、MDS等)优化目标:转换网络的代表性数据矩阵,使数据表示的方差最大化。所以这些方法往往需要进行适当的矩阵分解,但这个计算量对于大量网络来说是昂贵的,且性能不好(缺点)
提出的node2vec的目标:保留节点的局部邻居(SGD+BP+一个隐藏层),以往刻板的关于节点邻居的定义使这些方法对于网络中多变的连接方式不敏感,Ex:节点可以由所在的community组织起来,这种组织基于节点在网络中的位置?如图所示:在这里插入图片描述
现实中的很多网络都是这样的混合,因此一个
灵活的学习算法**(可以泛化不同的预测任务)是必须的,这个算法服从两个准则

  • 能够学习来自相同网路,community相似的嵌入节点的表示(u与s1234)
  • 能够学习具有相似角色的嵌入节点的表示(u与s6)

present work

node2vec:可伸缩特征学习网络的半监督算法,受到NLP的启发,使用SGD实现了基于图的目标函数优化,且返回的特征表示最大限度地保留了d维向量空间中节点的网络领域,使用了二阶随机游走方法(改进的随机游走算法)来生成(样本)节点的网络邻域

contribution

  • “邻居”的灵活定义:node2vec可以学习基于同个社区的节点表示也可以学习基于相似结构的特征表示
  • 改进了游走算法,可以高效探索节点的不同邻居
  • 通过参数可以控制游走的空间范围,概括了前人的工作,可以解释搜索策略,也可以用于标记一小部分数据
  • 展示如何将节点表示扩展到边(使用二元操作),所以node2vec可用于节点表示也可以用于边
    实验基于两类任务来进行:多标签分类任务和边预测任务。

2相关工作

传统方法:基于特征提取技术(往往需要人工设计一些特征)
本文:通过将特征提取作为一个表示学习问题来实现整个过程的自动化,在这种情况下,我们不需要任何手工设计的特征。(优点)
无监督特征学习方法探索矩阵(表示图)的频域属性(拉普拉斯矩阵、PCA)都可是视为降维技术(计算量大,性能不高)①不能扩展到大型网络;②这些方法的优化目标是不强壮的(对于网络中多变的连接方式:同态与结构等价等),并对底层网络结构与预测任务之间的关系进行假设,这种假设不适合用于多变的网络**(?)(以前方法的缺点)**。
Skip-gram基于分布假设,所以相似的上下文单词有相似的语义和相似的邻居。基于Skip-gram,将网络比作文档。但是由于不同的采样策略导致不同不同的特征表示学习,没有一种明确的采样策略使用于所有网络和所有预测任务,这是以前工作的一个主要缺点,它不能提供从网络中采样节点的灵活性。node2vec通过设计一个不依赖于特定采样策略的灵活目标,并提供参数来调整探索的搜索空间,从而克服了这一局限性。

3特性学习框架

定义
G:(V,E) f:V->Rd |V|*d权重矩阵 源节点u(- V 邻居集合Ns(u) (- V
采样策略S
基于skipgram:f:
在这里插入图片描述
两个假设:①节点相互独立②源节点与邻居节点在特征空间中对称(对彼此的影响一样)
在这里插入图片描述
在这里插入图片描述
结合上面两个式子,推得公式1:
在这里插入图片描述
使用负采样策略+SGD来优化参数f。
不同于文本中,线性的邻居节点定义在本文中,“邻居”的定义更广,不仅仅是直接相连的节点,还依赖于采样策略

3.1经典的采样策略(BFS、DFS)

广度优先与深度优先(假设都采取k个结点长度)。实际中,网络中节点的预测任务往往在两种相似性之间穿梭:同源性和结构等价性。对于同源性,如图1,节点u和s1应该有紧密嵌入;对于结构等价性,u和s6应该紧密嵌入在这里插入图片描述
同源性强调直接相连,而结构同等性不需要直接相连,只需要结构相似。在实际网络中,既有同源性又有结构同等性。特别是,由BFS采样的邻域会导致与结构等价性密切对应的嵌入。
对于**BFS(局部搜索)来说,BFS采样产生了紧密关联结构同等性的嵌入。比如,桥和枢纽(u和s1)的结构同等性可以观察邻居节点来推断。领域的微观视图。然而,对于任意给定的k值,都只能探索到图的小部分区域。
对于
DFS(广域搜索)**来说,采样的节点更准确地反映了邻域的宏观视图,这对同源性推断社区很重要。但是DFS不能推断节点到节点的依赖。同时,随着深度的加深,邻居节点可能和源节点没有那么强的联系。

3.2node2vec采样

3.2.1随机游走

可见deepwalk
在这里插入图片描述

3.2.2 search bias α

在这里插入图片描述
注意:πvx=αtx*Wvx
dtx=0代表两个结点t,x相等:考虑revisit的概率
dtx=1代表两个结点直接相连:p,q=1时就是deepwalk的随机游走
dtx=2代表两个结点不直接相连:考虑BFS和DFS
在这里插入图片描述

3.2.3node2vec算法

在这里插入图片描述
关于alias算法待补充
node2vec对比与deepwalk中的游走算法,增加了进行何种采样的算法,但是最后的结点选择还是根据alias算法。每一步的采样基于π vx。?????我的疑问忘记了,我刚刚在疑惑什么??想不起来了,对比deepwalk。alias算法??改变了随即游走中的概率(用πvx来算的)。

3.3学习边的特征

node2vec也可用于link预测,通过定义一种泛化能力很强的二元操作来表示节点:在这里插入图片描述
后面是实验的参数设置,实验的数据集,实验结果,实验影响,超参数的调整。

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页