【GNN】图嵌入之 node2vec:网络的可扩展特征学习

论文名称:node2vec: Scalable Feature Learning for Networks

论文下载:https://arxiv.org/abs/1607.00653#

论文年份:SIGKDD 2016

论文被引:7065(2022/04/26)

数据集+实现:http://snap.stanford.edu/node2vec

论文总结

什么是 node2vec?

node2vec,一种用于网络中可扩展特征学习的半监督算法框架。其可以用于学习网络中结点的连续特征表示。其学习结点到特征的低维空间映射,最大限度地保留节点的网络邻域的似然。定义了节点的网络邻域的概念,并设计了有偏随机游走用于探索不同的邻域

ABSTRACT

网络中节点和边缘的预测任务需要在学习算法所使用的工程特征上做出认真的努力。最近在更广泛的表示学习领域的研究通过学习特征本身在自动预测方面取得了重大进展。然而,目前的特征学习方法的表现力不足以捕捉网络中观察到的连接模式的多样性

在这里,我们提出了 node2vec,这是一种用于学习网络中节点的连续特征表示的算法框架。在 node2vec 中,我们学习节点到特征的低维空间的映射,最大限度地保留节点的网络邻域的似然。我们定义了一个节点的网络邻域的灵活概念,并设计了一个有偏随机游走程序,它有效地探索了不同的邻域。我们的算法概括了基于严格的网络邻域概念的先前工作,我们认为在探索邻域时增加的灵活性是学习更丰富表示的关键

我们展示了 node2vec 在来自不同领域的几个真实世界网络中对多标签分类和链接预测的现有最先进技术的功效。总之,我们的工作代表了一种在复杂网络中有效学习最先进的任务无关表示的新方法。

1. INTRODUCTION

网络分析中的许多重要任务都涉及对节点和边的预测。在典型的节点分类任务中,我们感兴趣的是预测网络中最可能的节点标签 [33]。例如,在社交网络中,我们可能对预测用户的兴趣感兴趣,或者在蛋白质-蛋白质相互作用网络中,我们可能对预测蛋白质的功能标签感兴趣 [25, 37]。类似地,在链路预测中,我们希望预测网络中的一对节点是否应该有一条边连接它们[18]。链接预测在各种领域都很有用;例如,在基因组学中,它可以帮助我们发现基因之间的新相互作用,在社交网络中,它可以识别现实世界的朋友 [2, 34]。

任何有监督的机器学习算法都需要一组信息丰富的、有辨别力的和独立的特征。在网络上的预测问题中,这意味着必须为节点和边构建特征向量表示。一个典型的解决方案是基于专家知识手工设计特定领域的特征。即使人们不考虑特征工程所需的繁琐工作,这些特征通常也是为特定任务设计的,并且不能泛化到不同的预测任务中

另一种方法是通过解决优化问题来学习特征表示 [4]。特征学习的挑战在于定义一个目标函数,这涉及平衡计算效率和预测准确性的权衡。在频谱的一方面,人们可以直接针对找到优化下游预测任务性能的特征表示。虽然这种有监督的过程具有良好的准确性,但由于需要估计的参数数量激增,它的代价是训练时间复杂度高。在另一个极端,可以将目标函数定义为独立于下游预测任务,并且可以以纯无监督的方式学习表示。这使得优化在计算上变得高效,并且具有精心设计的目标,它导致与任务无关的特征在预测准确性方面与特定于任务的方法密切匹配 [21, 23]。

然而,当前的技术未能令人满意地定义和优化网络中可扩展的无监督特征学习所需的合理目标。基于线性和非线性降维技术的经典方法,如主成分分析、多维缩放及其扩展 [3、27、30、35] 优化目标,该目标转换网络的代表性数据矩阵,使其最大化数据表示的方差。因此,这些方法总是涉及适当数据矩阵的特征分解,这对于大型现实世界网络来说是昂贵的。此外,由此产生的潜在表示在网络上的各种预测任务上表现不佳。

或者,我们可以设计一个旨在保护节点的局部邻域的目标。可以使用类似于仅在单个隐藏层前馈神经网络上的反向传播的随机梯度下降 (SGD) 来有效地优化目标。最近在这个方向上的尝试 [24, 28] 提出了有效的算法,但是依赖于网络邻域的严格概念,这导致这些方法很大程度上对网络特有的连接模式不敏感。具体来说,网络中的节点可以根据它们所属的社区(即同质性,homophily)进行组织;在其他情况下,组织可以基于网络中节点的结构角色(即结构等效性,structural equivalence)[7,10,36]。例如,在图 1 中,我们观察到节点 u 和 s1 属于同一个紧密联系的节点社区,而两个不同社区中的节点 u 和 s6 共享中心节点的相同结构角色。现实世界的网络通常表现出这种等价的混合。因此,必须允许一种灵活的算法来学习节点表示,同时遵守以下两个原则:学习将来自同一网络社区的节点紧密嵌入在一起的表示的能力,以及学习具有相似角色的节点具有相似嵌入的表示的能力。这将允许特征学习算法在广泛的领域和预测任务中进行泛化
在这里插入图片描述
现在的工作。我们提出了 node2vec,一种用于网络中可扩展特征学习的半监督算法。我们使用 SGD 优化了一个定制的基于图的目标函数,这是由自然语言处理的先前工作所激发的 [21]。直观地说,我们的方法返回的特征表示可以最大限度地保留 d 维特征空间中节点的网络邻域的似然。我们使用二阶随机游走方法为节点生成(样本)网络邻域

我们的主要贡献是定义了一个灵活的节点网络邻居的概念。通过选择适当的邻域概念,node2vec可以学习基于节点的网络角色和/或它们所属的社区来组织节点的表示。我们通过开发有偏随机游(biased random walks)走来实现,这种有偏随机游走有效地探索给定节点的不同邻域。与先前工作[24,28]中的严格搜索过程相比,所得到的算法是灵活的,通过可调参数给予我们对搜索空间的控制。因此,我们的方法概括了以前的工作,可以模拟网络中观察到的等价的全部频谱。控制搜索策略的参数有一个直观的解释,并且偏向于不同的网络探索策略。这些参数也可以使用一小部分标记数据以半监督的方式直接学习

我们还展示了如何将单个节点的特征表示扩展到节点对(即边)。为了生成边的特征表示,我们使用简单的二元算子组合各个节点的学习特征表示。这种组合性使 node2vec 可以用于涉及节点和边的预测任务。

我们的实验集中在网络中两个常见的预测任务:一个多标签分类任务,其中每个节点都被分配一个或多个类标签和一个链接预测任务,我们在给定一对节点的情况下预测一条边的存在。我们将 node2vec 的性能与最先进的特征学习算法 [24, 28] 进行对比。我们对来自不同领域的几个真实世界网络进行实验,例如社交网络、信息网络以及系统生物学的网络。实验表明,node2vec 在多标签分类方面的性能优于最先进的方法高达 26.7%,在链接预测方面的性能高达 12.6%。该算法即使在 10% 的标记数据上也显示出具有竞争力的性能,并且对噪声或边缘缺失形式的扰动也具有鲁棒性。在计算上,node2vec 的主要阶段可以简单地并行化,它可以在几个小时内扩展到具有数百万个节点的大型网络。

总的来说,我们的论文做出了以下贡献:

  1. 我们提出了 node2vec,这是一种用于网络中特征学习的高效可扩展算法,它使用 SGD 有效地优化了一种新颖的网络感知、邻域保留目标。
  2. 我们展示了 node2vec 如何符合网络科学中的既定原则,为发现符合不同等价的表示提供了灵活性。
  3. 我们扩展了 node2vec 和其他基于邻域保留目标的特征学习方法,从节点到节点对,用于基于边缘的预测任务。
  4. 我们根据经验评估 node2vec 在多个真实数据集上的多标签分类和链接预测

本文的其余部分的结构如下。在第 2 节中,我们简要调查了网络特征学习的相关工作。我们在第 3 节中介绍了使用 node2vec 进行特征学习的技术细节。在第 4 节中,我们经验性地评估 node2vec 在各种现实世界网络上的节点和边缘上的预测任务,并评估我们算法的参数敏感性、扰动分析和可扩展性。我们以对 node2vec 框架的讨论结束,并在第 5 节中强调未来工作的一些有希望的方向。node2vec 的数据集和参考实现可在项目页面上找到:http://snap.stanford.edu/node2vec。

2. RELATED WORK

机器学习社区已经在各种标题下对特征工程进行了广泛的研究。在网络中,为节点生成特征的传统范例基于特征提取技术,该技术通常涉及一些基于网络属性的种子手工制作特征 [8, 11]。相比之下,我们的目标是通过将特征提取作为表示学习问题来自动化整个过程,在这种情况下,我们不需要任何手工设计的特征

无监督特征学习方法通常利用图的各种矩阵表示的谱属性,尤其是拉普拉斯矩阵和邻接矩阵。在这种线性代数的观点下,这些方法可以被视为降维技术。已经提出了几种线性(例如,PCA)和非线性降维技术(例如,IsoMap)[3,27,30,35]。这些方法存在计算和统计性能缺陷。在计算效率方面,数据矩阵的特征分解是昂贵的,除非解决方案的质量受到近似值的严重影响,因此这些方法很难扩展到大型网络。其次,这些方法对网络中观察到的不同模式(例如同质性和结构等价)的目标进行优化时不够鲁棒,并对底层网络结构和预测任务之间的关系做出假设。例如,谱聚类做出了一个强烈的同质性假设,即图切分(graph cuts)对分类很有用[29]。这样的假设在许多情况下是合理的,但在跨不同网络的有效泛化方面效果不佳

自然语言处理的表征学习的最新进展为离散对象(例如单词)的特征学习开辟了新途径。特别是,Skip-gram 模型 [21] 旨在通过优化邻域保留似然目标来学习单词的连续特征表示。该算法如下进行:它扫描文档的单词,并针对每个单词嵌入该单词,以便单词的特征可以预测附近的单词(即,某个上下文窗口内的单词)。通过使用带有负采样的 SGD [22] 优化似然目标来学习单词特征表示。 Skip-gram 目标基于分布假设,该假设指出相似上下文中的单词往往具有相似的含义 [9]。也就是说,相似的词往往会出现在相似的词邻域中

受 Skip-gram 模型的启发,最近的研究通过将网络表示为“文档”[24、28],建立了网络的类比。就像文档是有序的单词序列一样,可以从底层网络中采样节点序列,并将网络转换为有序的节点序列。然而,节点有许多可能的采样策略,导致学习到的特征表示不同。事实上,正如我们将要展示的,没有明确的抽样策略适用于所有网络和所有预测任务。这是先前工作的一个主要缺点,这些工作未能提供从网络中采样节点的任何灵活性 [24, 28]我们的算法 node2vec 通过设计一个灵活的目标来克服这个限制,该目标不依赖于特定的采样策略,并提供参数来调整探索的搜索空间(参见第 3 节)font>。

最后,对于基于节点和边缘的预测任务,最近有大量基于现有和新颖的特定于图的深度网络架构的监督特征学习工作 [15、16、17、31、39]。这些架构使用几层非线性变换直接最小化下游预测任务的损失函数,从而实现高精度,但由于高训练时间要求而以可伸缩性为代价

3. FEATURE LEARNING FRAMEWORK

我们将网络中的特征学习表述为最大似然优化问题。让 G = ( V , E ) G = (V, E) G=(V,E) 是一个给定的网络。我们的分析是通用的,适用于任何 (非) 定向、 (非) 加权网络。 f : V → R d f : V → \R^d f:VRd 是从节点到特征表示的映射函数,旨在学习下游预测任务。这里 d d d 是一个参数,指定特征表示的维数。等效地, f f f 是大小为 ∣ V ∣ × d |V|× d V×d 的参数矩阵。对于每个源节点 u ∈ V u ∈ V uV,将 N S ( u ) ⊂ V N_S(u) ⊂ V NS(u)V 定义为节点 u u u 通过邻域采样策略 S S S 生成的网络邻域
在这里插入图片描述
为了使优化问题易于处理,我们做了两个标准假设:

  • 条件独立。给定源的特征表示,我们通过假设观察邻域节点的可能性独立于观察任何其他邻域节点来分解可能性:
    在这里插入图片描述

  • 特征空间的对称性。源节点和邻域节点在特征空间中具有相互对称的影响。因此,我们将每个源-邻域节点对的条件似然建模为一个 softmax 单元,通过它们的特征的点积参数化:
    在这里插入图片描述

有了上述假设,方程 1 中的目标简化为:
在这里插入图片描述
对于大型网络来说,每个节点的分区函数 Z u = ∑ v ∈ V e x p ( f ( u ) ⋅ f ( v ) ) Z_u = \sum _{v∈V} exp(f(u) · f(v)) Zu=vVexp(f(u)f(v)) 计算成本很高,我们使用负采样 [22] 对其进行近似。我们在定义特征 f f f 的模型参数上使用随机梯度上升优化方程 2。

基于Skip-gram架构的特征学习方法最初是在自然语言环境中开发的[21]。给定文本的线性性质,邻域的概念可以自然地使用连续单词上的滑动窗口来定义。然而,网络不是线性的,因此需要更丰富的邻域概念。为了解决这个问题,我们提出了一个随机过程,该过程对给定源节点u的许多不同的邻域进行采样。邻域NS(u)不仅限于直接邻居,而是可以根据采样策略s具有非常不同的结构

基于 Skip-gram 架构的特征学习方法最初是在自然语言的背景下开发的 [21]。鉴于文本的线性性质,邻域的概念可以使用连续单词上的滑动窗口自然地定义。然而,网络不是线性的,因此需要更丰富的邻域概念。为了解决这个问题,我们提出了一个随机过程,它对给定源节点 u u u 的许多不同邻域进行采样。邻域 N S ( u ) N_S(u) NS(u) 不仅限于直接邻域,还可以根据采样策略 S S S 具有截然不同的结构。

3.1 Classic search strategies

我们将源节点的邻域采样问题视为局部搜索的一种形式。如图 1 所示,其中给定一个源节点 u,我们旨在生成(采样)其邻域 N S ( u ) N_S(u) NS(u)。重要的是,为了能够公平地比较不同的采样策略 S S S,我们将邻域集 N S N_S NS 的大小限制为 k k k 个节点,然后为单个节点 u u u 采样多个集合。通常,有两种极端的采样策略来生成 k k k 个节点的邻域集 N S N_S NS

  • 广度优先采样 (Breadth-first Sampling,BFS):邻域 N S N_S NS 仅限于与源直接相邻的节点。例如,在图 1 中,对于大小为 k = 3 的邻域,BFS 对节点 s1、s2、s3 进行采样。
  • 深度优先采样 (Depth-first Sampling,DFS):邻域由在距源节点越来越远的距离处按顺序采样的节点组成。在图 1 中,DFS 采样 s4、s5、s6。

广度优先和深度优先采样代表了他们探索的搜索空间的极端场景,从而对学习的表示产生了有趣的影响。

特别是,网络中节点上的预测任务经常在两种相似性之间穿梭:同质性结构等价性[12]。

  • 在同质性假设 [7, 36] 下,高度互连且属于相似网络簇或社区的节点应该紧密嵌入在一起(例如,图 1 中的节点 s 1 s_1 s1 u u u 属于同一个网络社区)。
  • 相比之下,根据结构等效假设 [10],在网络中具有相似结构的节点应紧密嵌入在一起(例如,图 1 中的节点 s 6 s_6 s6 u u u 充当其相应社区的中心)。重要的是,与同质性不同,结构等价并不强调连通性节点在网络中可能相距很远,但仍具有相同的结构

在现实世界中,这些等价概念并不是唯一的。网络通常表现出两种行为,其中一些节点表现出同质性,而另一些则反映结构等价

我们观察到 BFS 和 DFS 策略在生成反映上述任何一个等价的表示方面起着关键作用。特别是,BFS 采样的邻域导致嵌入与结构等价密切对应。直观地,我们注意到,为了确定结构等效性,准确地描述局部邻域通常就足够了。例如,仅通过观察每个节点的直接邻域,就可以推断出基于网络角色(如网桥和集线器)的结构等效性。通过将搜索限制在附近的节点,BFS 实现了这种表征并获得了每个节点附近的微观视图。此外,在 BFS 中,采样邻域中的节点往往会重复多次。这也很重要,因为它减少了表征 1 跳节点(1-hop nodes)相对于源节点的分布的方差然而,对于任何给定的 k,BFS 只能探索图的一小部分

DFS 则相反,它可以探索网络的更大部分,因为它可以远离源节点 u u u(样本大小 k k k 是固定的)。在 DFS 中,采样节点更准确地反映了邻域的宏观视图,这对于基于同质性推断社区至关重要然而,DFS 的问题在于,不仅要推断网络中存在哪些节点到节点的依赖关系,而且还要描述这些依赖关系的确切性质,这一点很重要。这很难,因为我们对样本量有限制,而且要探索的邻域很大,导致方差很大。其次,移动到更大的深度会导致复杂的依赖关系,因为采样节点可能远离源并且可能不太具有代表性

3.2 node2vec

基于上述观察,我们设计了一种灵活的邻域采样策略,使我们能够在 BFS 和 DFS 之间进行平滑插值。我们通过开发一种灵活的有偏随机游走程序来实现这一点,该程序可以以 BFS 和 DFS 方式探索邻域。

3.2.1 Random Walks

形式上,给定一个源节点 u,我们模拟一个固定长度 l 的随机游走。令 ci 表示遍历中的第 i 个节点,从 c0 = u 开始。节点 ci 由以下分布生成
在这里插入图片描述
其中 πvx 是节点 v 和 x 之间的非归一化转移概率,Z 是归一化常数。

3.2.2 Search bias α

使我们的随机游走产生偏差的最简单方法是根据静态边权重 wvx 对下一个节点进行采样,即 πvx = wvx(在未加权图 wvx = 1 的情况下)。但是,这不允许考虑网络结构并指导搜索过程来探索不同类型的网络邻域。此外,与分别适用于结构等价和同质性的极端采样范式 BFS 和 DFS 不同,我们的随机游走应该适应这样一个事实,即这些等价概念不是竞争或排他性的,并且现实世界的网络通常表现出两者的混合。
在这里插入图片描述
我们用两个参数 p 和 q 来定义一个二阶随机游走来引导游走:考虑一个随机游走,它刚刚遍历边 (t, v),现在位于节点 v(图 2)。游走现在需要决定下一步,因此它评估从 v 开始的边 (v, x) 上的转移概率 πvx。我们将非归一化转移概率设置为 πvx = αpq(t, x) · wvx,其中
在这里插入图片描述
dtx 表示节点 t 和 x 之间的最短路径距离。请注意,dtx 必须是 {0, 1, 2} 之一,因此,这两个参数对于引导游走是必要且充分的。

直观地说,参数 p 和 q 控制游走探索和离开起始节点 u 邻域的速度。特别是,这些参数允许我们的搜索过程(近似)在 BFS 和 DFS 之间进行插值,从而反映对不同节点等价概念的亲和力。

返回参数,p。参数 p 控制在行走中立即重新访问节点的可能性

  • 将 p 设置为较高的值 (> max(q, 1)) 可确保我们在接下来的两个步骤中不太可能对已经访问过的节点进行采样(除非遍历中的下一个节点没有其他邻居)。该策略鼓励适度探索并避免采样中的 2 跳冗余
  • 另一方面,如果 p 很低(< min(q, 1)),它将导致游走回溯一步(图 2),这将使游走“局部”靠近起始节点 u。

进出参数,q。参数 q 允许搜索区分“向内”和“向外”节点。回到图 2,如果 q > 1,随机游走偏向靠近节点 t 的节点。这样的游走获得了相对于游走中的起始节点获得底层图的局部视图,并在由小区域内的节点组成的样本方面,近似 BFS 行为。

相反,如果 q < 1,则游走更倾向于访问距离节点 t 较远的节点。这种行为反映了鼓励向外探索的 DFS。然而,这里的一个本质区别是在随机游走框架内实现了类似 DFS 的探索。因此,采样节点与给定源节点 u 的距离并没有严格增加,但反过来,受益于易于处理的预处理和随机游走的卓越采样效率。请注意,通过将 πv,x 设置为游走 t 中前一个节点的函数,随机游走是二阶马尔可夫

随机游走的好处。与纯 BFS/DFS 方法相比,随机游走有几个好处。

  • 随机游走在空间和时间要求方面都具有计算效率。存储图中每个节点的直接邻居的空间复杂度为 O ( ∣ E ∣ ) O(|E|) O(E)。对于二阶随机游走,存储每个节点的邻居之间的互连是有帮助的,这会产生 O ( a 2 ∣ V ∣ ) O(a^2|V|) O(a2V) 的空间复杂度,其中 a 是图的平均度(degree),对于现实世界的网络通常很小。
  • 与经典的基于搜索的采样策略相比,随机游走的另一个关键优势是它的时间复杂度。特别是,通过在样本生成过程中施加图连通性,随机游走提供了一种方便的机制,通过跨不同源节点重用样本来提高有效采样率
  • 通过模拟长度为 l > k 的随机游走,由于随机游走的马尔可夫性质,我们可以一次为 l - k 个节点生成 k 个样本。因此,每个样本的有效复杂度是 O ( l k ( l − k ) ) O (\frac{l} {k(l−k)}) O(k(lk)l)例如,在图 1 中,对长度为 l = 6 的随机游走 {u, s4, s5, s6, s8, s9} 进行采样,结果 NS(u) = {s4, s5, s6},NS(s4) = {s5, s6, s8} 和 NS(s5) = {s6, s8, s9}请注意,样本重复使用可能会在整个过程中引入一些偏差。但是,我们观察到它大大提高了效率

3.2.3 The node2vec algorithm

在这里插入图片描述
node2vec 的伪代码在算法 1 中给出。在任何随机游走中,起始节点 u 的选择存在隐式偏差。由于学习了所有节点的表示,通过模拟从每个节点开始的 r 个固定长度 l 的随机游走来抵消这种偏差。在游走的每一步,采样都是基于转移概率 πvx 进行的。可以预先计算二阶马尔可夫链的转移概率 πvx,因此,使用别名采样可以在 O(1) 时间内有效地在模拟随机游走时对节点进行采样。 node2vec 的三个阶段,即计算转移概率的预处理、随机游走模拟和使用 SGD 的优化,是按顺序执行的。每个阶段都是可并行化和异步执行的,有助于 node2vec 的整体可扩展性。

3.3 Learning edge features

node2vec 算法提供了一种半监督方法学习网络中节点的丰富特征表示。然而,我们经常对涉及节点对而不是单个节点的预测任务感兴趣。例如,在链接预测中,我们预测网络中两个节点之间是否存在链接。由于我们的随机游走自然基于底层网络中节点之间的连接结构,因此我们使用自举方法 (bootstrapping approach) 对单个节点的特征表示将它们扩展到节点对

给定两个节点 u 和 v,在相应的特征向量 f(u) 和 f(v) 上定义一个二元算子 ◦ 以生成表示 g(u, v) 使得 g : V × V → R d ′ g : V × V → \R^{d'} g:V×VRd 其中 d’ 是对 (u, v) 的表示大小。我们希望为任何一对节点定义算子,即使这对节点之间不存在边,因为这样做使得表示对于链接预测有用,其中测试集包含真边和假边(即,不存在)。我们考虑了几种运算符 ◦ 的选择,如表 1 中总结的 d’ = d。
在这里插入图片描述

4. EXPERIMENTS

Eq2 中的目标独立于任何下游任务,并且 node2vec 提供的探索灵活性将学习的特征表示提供给下面讨论的各种网络分析设置。

4.1 Case Study: Les Misérables network

在第 3.1 节中,我们观察到 BFS 和 DFS 策略代表了基于同质性(即网络社区)和结构等效性(即节点的结构角色)原则的嵌入节点频谱的极端。我们现在的目标是通过经验证明这一事实,并表明 node2vec 实际上可以发现符合这两个原则的嵌入。

我们使用一个网络,其中节点对应于小说 Les Misérables [13] 中的角色边连接共同出现的角色。该网络有 77 个节点和 254 条边。我们设置 d = 16 并运行 node2vec 来学习网络中每个节点的特征表示。使用 k-means 对特征表示进行聚类。然后,在二维中可视化原始网络,节点现在根据聚类分配颜色
在这里插入图片描述
图 3(顶部)显示了设置 p = 1、q = 0.5 时的示例。注意网络区域(即网络社区)是如何使用相同颜色着色的。在此设置中,node2vec 发现了在小说的主要子情节中经常相互交互的角色聚类/社区由于字符之间的边缘基于共现,我们可以得出结论,这种表征与同质性密切相关

为了发现哪些节点具有相同的结构角色,我们使用相同的网络但设置 p = 1, q = 2,使用 node2vec 获取节点特征,然后根据获得的特征对节点进行聚类。这里 node2vec 获得了节点到聚类的互补分配,使得颜色对应于结构等价,如图 3(底部)所示。例如,node2vec 将蓝色节点嵌入在一起。这些节点代表充当小说不同子情节之间桥梁的角色。类似地,黄色节点主要代表处于外围且互动有限的角色。可以为这些节点聚类分配替代语义解释,但关键是 node2vec 不依赖于特定的等效概念。正如我们通过实验所表明的那样,这些等价概念通常在大多数现实世界的网络中表现出来,并且对预测任务的学习表示的性能产生重大影响。

4.2 Experimental setup

我们的实验评估了通过 node2vec 在标准监督学习任务上获得的特征表示:节点的多标签分类和边缘的链接预测。对于这两个任务,我们针对以下特征学习算法评估 node2vec 的性能:

  • Spectral clustering [29]:这是一种矩阵分解方法,我们将图 G 的归一化拉普拉斯矩阵的顶部 d 特征向量作为节点的特征向量表示。
  • DeepWalk [24]:这种方法通过模拟均匀随机游走来学习 d 维特征表示DeepWalk 中的采样策略可以看作是 node2vec 的一个特例,其中 p = 1 和 q = 1
  • LINE [28]:这种方法在两个独立的阶段学习 d 维特征表示。在第一阶段,它通过 BFS 风格的模拟在节点的直接邻居上学习 d/2 维。在第二阶段,它通过在距源节点 2 跳距离处严格采样节点来学习下一个 d/2 维

我们排除了其他矩阵分解方法,这些方法已经被证明不如DeepWalk [24]。我们还排除了最近的方法,GraRep [6],该方法将LINE一般化,以合并来自超过 2 跳的网络邻域的信息,但是不能有效地扩展到大型网络。

与先前工作中用于评估基于采样的特征学习算法的设置相比,我们为每种方法生成相同数量的样本,然后评估在预测任务中获得的特征的质量。在这样做时,我们完全因为实现语言(C/C++/Python)而忽略了观察到的性能提升,因为它是算法的次要因素。因此,在采样阶段,DeepWalk、LINE 和 node2vec 的参数设置为在运行时生成相同数量的样本。例如,如果 K 是总体采样预算,则 node2vec 参数满足 K = r·l·|V|。在优化阶段,所有这些基准测试都使用 SGD 进行优化,我们纠正了两个关键差异。首先,DeepWalk 使用分层采样来逼近 softmax 概率,其目标类似于 node2vec 使用的目标。然而,与负采样相比,分层 softmax 效率低下 [22]。因此,在保持其他一切不变的情况下,我们切换到 DeepWalk 中的负采样,这也是 node2vec 和 LINE 中事实上的近似。

其次,node2vec 和 DeepWalk 都有一个用于优化上下文邻域节点数量的参数,数量越大,需要的优化轮次就越多。对于 LINE,此参数设置为 unity,但由于 LINE 比其他方法更快地完成单个 epoch,我们让它运行 k 个 epoch。

用于 node2vec 的参数设置与用于 DeepWalk 和 LINE 的典型值一致。具体来说,我们设置 d = 128, r = 10, l = 80, k = 10,并且针对单个 epoch 运行优化。我们对 10 次随机种子初始化重复我们的实验,我们的结果在 p 值小于 0.01 时具有统计学意义。最佳输入输出和返回超参数是使用 10% 标记数据的 10 倍交叉验证来学习的在 p 上进行网格搜索,q ∈ {0.25, 0.50, 1, 2, 4}

4.3 Multi-label classification

在多标签分类设置中,每个节点都从有限集 L 中分配一个或多个标签。在训练阶段,我们观察一定比例的节点及其所有标签。任务是预测剩余节点的标签。这是一项具有挑战性的任务,尤其是在 L 很大的情况下。我们使用以下数据集:

  • BlogCatalog [38]:这是 BlogCatalog 网站上列出的博客作者的社会关系网络。标签代表通过博主提供的元数据推断出的博主兴趣。该网络有 10,312 个节点、333,983 条边和 39 个不同的标签。
  • Protein-Protein Interactions (PPI) [5]:我们使用智人的 PPI 网络子图。子图对应于由节点诱导的图,我们可以从标记基因集 [19] 中获得标签并表示生物状态。该网络有 3,890 个节点、76,584 条边和 50 个不同的标签。
  • Wikipedia [20]:这是出现在Wikipedia 转储的前一百万字节中的单词的共现网络。标签表示使用斯坦福词性标注器 [32] 推断的词性 (POS) 标签。该网络有 4,777 个节点、184,812 条边和 40 个不同的标签。

所有这些网络都表现出同质和结构等价的公平混合。例如,我们期望博主的社交网络表现出强烈的基于同质性的关系;然而,也可能有一些“熟悉的陌生人”,即不互动但分享兴趣的博主,因此在结构上是等效的节点。蛋白质-蛋白质相互作用网络中蛋白质的生物学状态也表现出两种类型的等价性。例如,当蛋白质执行与相邻蛋白质互补的功能时,它们表现出结构等效性,而在其他时候,它们基于同质性组织以帮助相邻蛋白质执行相似功能。词共现网络相当密集,因为在 Wikipedia 语料库的 2length 窗口中共现的词之间存在边。因此,具有相同 POS 标签的单词不难找到,具有高度的同质性。同时,由于句法语法模式,我们期望词性标记中的一些结构等价,例如名词后面的限定词、标点符号后面的名词等。
在这里插入图片描述
实验结果。节点特征表示被输入到具有 L2 正则化的 one-vs-rest 逻辑回归分类器。训练数据和测试数据平均分成 10 个随机实例。我们使用 Macro-F1 分数来比较表 2 中的性能,并且相对性能增益超过了最接近的基准。 Micro-F1 和准确性的趋势相似,未显示。

从结果中,很明显我们可以看到在探索邻域中增加的灵活性如何使 node2vec 优于其他基准算法。在 BlogCatalog 中,我们可以通过将参数 p 和 q 设置为较低的值来发现同质性和结构等价的正确组合,在 Macro-F1 分数中比 DeepWalk 提高 22.3%,比 LINE 提高 229.2%。 LINE 的性能比预期的要差,这可以用它无法重复使用样本来解释,而使用随机游走方法可以轻松完成这一壮举。即使在我们的其他两个网络中,存在混合等价的情况,node2vec 的半监督性质也可以帮助我们推断特征学习所需的适当探索程度。在 PPI 网络的情况下,最佳探索策略 (p = 4, q = 1) 与 DeepWalk 的统一 (p = 1, q = 1) 探索几乎无法区分,通过避免冗余,我们仅比 DeepWalk 略有优势在已经访问过的节点中通过高 p 值,但在 Macro-F1 分数中比 LINE 有令人信服的 23.8% 增益。然而,一般来说,均匀随机游走可能比 node2vec 学习的探索策略差得多。正如我们在维基百科词共现网络中看到的那样,统一游走不能引导搜索过程朝向最佳样本,因此,我们比 DeepWalk 获得了 21.8% 的增益,比 LINE 获得了 33.2% 的增益。
在这里插入图片描述
对于更细粒度的分析,我们还比较了性能,同时将训练测试拆分从 10% 更改为 90%,同时像以前一样在 10% 的数据上学习参数 p 和 q。为简洁起见,我们在图 4 中以图形方式总结了 Micro-F1 和 Macro-F1 分数的结果。在这里我们进行了类似的观察。所有方法都显着优于 Spectral 聚类,DeepWalk 优于 LINE,node2vec 始终优于 LINE,并且在跨领域的 DeepWalk 上取得了很大的改进。例如,在 70% 的标记数据下,我们在 BlogCatalog 上实现了比 DeepWalk 26.7% 的最大改进。在最坏的情况下,搜索阶段对学习表示几乎没有影响,在这种情况下 node2vec 相当于 DeepWalk。同样,与 LINE 相比,改进更为显着,除了在 BlogCatalog 上的显着增益(超过 200%)外,我们观察到在仅 10% 的标记数据上训练时,在 PPI 等其他数据集上的大幅改进高达 41.1%。

4.4 Parameter sensitivity

node2vec 算法涉及许多参数,在图 5a 中,我们使用标记数据和未标记数据之间的 50-50 分割来检查参数的不同选择如何影响 Node2vec 在 BlogCatalog 数据集上的性能。除被测参数外,所有其他参数均采用默认值。 p 和 q 的默认值设置为统一。

我们将 Macro-F1 分数测量为参数 p 和 q 的函数。 node2vec 的性能随着输入输出参数 p 和返回参数 q 的减小而提高。这种性能的提高可以基于我们期望在 BlogCatalog 中看到的同质和结构等价。虽然低 q 鼓励向外探索,但它由低 p 来平衡,确保游走不会离起始节点太远。

我们还检查了特征数量 d 和节点的邻域参数(游走次数 r、游走长度 l 和邻域大小 k)如何影响性能。我们观察到,一旦表示的维度达到 100 左右,性能就会趋于饱和。类似地,我们观察到增加每个源的游走次数和长度可以提高性能,这并不奇怪,因为我们有更大的总体采样预算 K 来学习表示。这两个参数对方法的性能都有相对较高的影响。有趣的是,上下文大小 k 也以增加优化时间为代价提高了性能。但是,在这种情况下,性能差异并不大。

4.5 Perturbation Analysis

在这里插入图片描述
对于许多现实世界的网络,我们无法获得有关网络结构的准确信息。我们进行了扰动研究,分析了与 BlogCatalog 网络中的边缘结构相关的两个不完美信息场景的 node2vec 的性能。在第一种情况下,我们将性能测量为缺失边的比例(相对于整个网络)的函数。缺失的边是随机选择的,受限于网络中连接组件的数量保持固定的约束。正如我们在图 5b(顶部)中看到的,随着缺失边缘比例的增加,Macro-F1 分数的下降大致呈线性,且斜率很小。在图随时间演变的情况(例如,引文网络)或网络建设成本高昂(例如,生物网络)的情况下,网络中缺失边的鲁棒性尤其重要。

在第二个扰动设置中,我们在网络中随机选择的节点对之间有噪声边缘。如图 5b(底部)所示,与缺失边的设置相比,node2vec 的性能最初下降的速度稍快,但是随着时间的推移,Macro-F1 分数的下降速度逐渐放缓。同样,node2vec 对错误边缘的鲁棒性在多种情况下很有用,例如用于构建网络的测量有噪声的传感器网络。

4.6 Scalability

在这里插入图片描述
为了测试可扩展性,我们使用 node2vec 学习节点表示,其中 Erdos-Renyi 图的默认参数值从 100 增加到 1,000,000 个节点,平均度数为 10。在图 6 中,我们凭经验观察到 node2vec 随着数量的增加呈线性扩展的节点在不到 4 小时内为 100 万个节点生成表示。采样过程包括计算游走(可以忽略不计)的转移概率的预处理和随机游走的模拟。优化阶段使用负采样 [22] 和异步 SGD [26] 变得高效

先前工作中的许多想法可作为使采样过程在计算上高效的有用指针。我们展示了在 DeepWalk [24] 中也使用的随机游走如何允许将采样节点重新用作出现在游走中的不同源节点的邻域。Alias sampling 允许我们的游走推广到加权网络,几乎没有预处理[28]。尽管我们可以根据基础任务和领域自由设置搜索参数,但学习搜索参数的最佳设置会增加开销。然而,正如我们的实验所证实的那样,这种开销是最小的,因为 node2vec 是半监督的,因此可以用很少的标记数据有效地学习这些参数

4.7 Link prediction

在链接预测中,给定一个网络,其中删除了一定比例的边缘,我们希望预测这些缺失的边缘。我们生成带标签的边数据集如下:为了获得正样本,我们从网络中随机抽取 50% 的边,同时确保边缘移除后得到的残差网络是连通的;为了生成负样本,我们随机抽取一个来自网络的相同数量的节点对,它们没有连接它们的边。
在这里插入图片描述
由于以前没有使用任何特征学习算法进行链接预测,我们还根据一些流行的启发式分数评估 node2vec,这些分数在链接预测中取得了良好的性能。我们考虑的分数是根据构成该对的节点的邻域集定义的(参见表 3)。我们在以下数据集上测试基准:

  • Facebook [14]:在 Facebook 网络中,节点代表用户,边代表任意两个用户之间的友谊关系。该网络有 4,039 个节点和 88,234 条边。
  • Protein-Protein Interactions (PPI) [5]:在智人的PPI 网络中,节点代表蛋白质,边表示一对蛋白质之间的生物相互作用。该网络有 19,706 个节点和 390,633 条边。
  • arXiv ASTRO-PH [14]:这是一个协作网络,由提交给电子版 arXiv 的论文生成,其中节点代表科学家,如果两位科学家在一篇论文中进行了合作,则他们之间存在优势。该网络有 18,722 个节点和 198,110 条边。
    在这里插入图片描述
    实验结果。我们在表 4 中总结了链路预测的结果。为便于演示,省略了每个 node2vec 条目的最佳 p 和 q 参数设置。我们可以从结果中得出的一般观察结果是,节点对的学习特征表示明显优于启发式基准分数,node2vec 在 arXiv 数据集上实现了最佳 AUC 改进,超过了最佳性能基线(Adamic-Adar [1] )。

在特征学习算法中,node2vec 在所有网络中的表现都优于 DeepWalk 和 LINE,在 AUC 分数上分别获得高达 3.8% 和 6.5% 的增益,从而为每种算法提供最佳的二元算子选择。当我们单独查看算子时(表 1),node2vec 优于 DeepWalk 和 LINE,除非有一些涉及加权 L1 和加权 L2 算子的情况,其中 LINE 表现更好。总体而言,与 node2vec 一起使用的 Hadamard 算子非常稳定,并且在所有网络中平均提供了最佳性能。

5. DISCUSSION AND CONCLUSION

本文将网络中的特征学习作为一个基于搜索的优化问题来研究。这种观点给了我们多重优势。它可以解释基于探索-开发权衡的经典搜索策略。此外,它在应用于预测任务时为学习的表示提供了一定程度的可解释性。例如,我们观察到 BFS 只能探索有限的邻居(neighborhoods)。这使得 BFS 适用于表征网络中依赖于节点的直接局部结构的等价结构。另一方面,DFS 可以自由探索网络邻域,这对于发现同质社区(homophilous communities)很重要,但代价是高方差。

DeepWalk 和 LINE 都可以看作是网络上的严格搜索(rigid search)策略

  • DeepWalk [24] 提出使用均匀随机游走进行搜索。这种策略的明显限制是无法控制已探索的邻居
  • LINE [28] 主要提出了一种广度优先策略,对节点进行采样并仅在 1 跳和 2 跳邻居上独立优化似然性。这种探索的效果更容易表征,但它具有限制性,并且在探索更深的节点时没有提供灵活性

相比之下,node2vec 中的搜索策略既灵活又可控,通过参数 p 和 q 探索网络邻域。虽然这些搜索参数具有直观的解释,但当我们可以直接从数据中学习它们时,我们会在复杂网络上获得最佳结果。从实际的角度来看,node2vec 具有可扩展性并且对扰动具有鲁棒性

我们展示了节点嵌入对链接预测的扩展如何胜过专门为此任务设计的流行启发式得分。我们的方法允许除了表 1 中列出的那些之外的其他二元算子。作为未来的工作,我们想探索 Hadamard 算子比其他算子成功的原因,并根据搜索参数为边建立可解释的等价概念。 node2vec 的未来扩展可能涉及具有特殊结构的网络,例如异构信息网络、具有显式域特征的节点和边缘网络以及有符号边缘网络。连续特征表示是许多深度学习算法的支柱,使用 node2vec 表示作为图上端到端深度学习的构建块会很有趣。

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

datamonday

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值