【论文阅读】Degree-Based Random Walk Approach for Graph Embedding

1,301 阅读24分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情

前言

Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~   自我介绍 ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国奖、省奖...已保研。 学习经验:扎实基础 + 多做笔记 + 多敲代码 + 多思考 + 学好英语!   唯有努力💪  

知其然 知其所以然!

  本文仅记录自己感兴趣的内容

简介

原文链接:arxiv.org/abs/2110.13…

年度:2021

Abstract

图嵌入是一种用数值向量表示局部和全局邻域信息的方法,是实际系统数学建模的重要组成部分

在众多的嵌入算法中,基于随机游走的算法已经被证明是非常成功的

这些算法通过创建具有预定步数的大量随机漫步来收集信息

创建随机漫游是嵌入过程中要求最高的部分

计算需求随着网络规模的增大而增加

此外,对于现实世界的网络,考虑到所有节点处于相同的基础上,低度节点的数量过多会造成数据不平衡的问题


本文提出了一种计算量较小、节点连通性感知的均匀采样方法

在该方法中,随机游走的次数与节点的度数成比例地产生

  • 当该算法应用于大型图时,该算法的优势更加明显

使用CORA和CiteSeer两个网络进行了比较研究

  • 与固定步数情况相比,对于节点分类和路段预测计算,该方法所需的计算量大约减少50%,才能达到相同的精度

1 Introduction

网络无处不在,是模拟生物、物理和社会系统的主要基础设施

在任何特定事件中,确定节点的作用对于更好地了解动态以及在必要时采取预防措施(例如,在流行病例中谁传播疾病更快,在社会网络中谁影响他人等)都是至关重要的

因此,通过引入一种将图的元素映射到低维表示的设备,网络是建模和理解真实世界系统的关键工具

为了实现这一目标,重要的是在现实世界和人工网络中看到的非常广泛的图结构中保留单个节点的局部和全局属性


对如此广泛的现象进行数学建模需要很好地描述节点之间的底层连接结构

节点的连通性决定了交互和动态的模式

例如,在社交网络中,推荐一个新朋友或预测一个人的角色需要不同的方法,主要来源于拓扑结构,比如考虑共同邻居的数量、链接的强度,或者处于同一个社区

主要任务包括节点分类[1,2]、链接预测[3,4]、异常检测[5,6]和社区检测[7]

许多机器学习算法[8,9,10]已经被证明在预测、分类、重建和各种更复杂的任务中非常成功

为了每一项任务的成功,特别准备的输入数据是必要的

图形是不同的数据结构,与机器学习算法的通常输入相比,它们具有更丰富的特征,如图片或分类项目

因此,需要一种算法来捕捉这些高维数据背后的信息,以引入机器学习算法作为输入向量


传统的提取图的结构特征的方法使用统计技术11,12,13,14,15

传统的方法费时费力,不能充分挖掘图的隐含特征

最近,一种新的思想被采用,即通过机器学习技术将节点嵌入到低维向量空间中,即表示学习

在文献中,已经提出了广泛的方法([16]用于调查)

从自然语言处理中引入的方法被用于将图的连通性结构嵌入到n维向量中

该方法利用了自然语言的结构和图的连通性结构之间的相似性


一些成功的方法使用随机游走来收集节点的局部和全局连通性结构

使用随机游走统计背后的想法是争取节点的共现

在重复的随机行走中访问给定节点的邻居

节点在同一随机游走中的共同出现确保了节点组的连通性

在随机行走期间收集的信息被用于与自然语言处理算法相类比

  • 众所周知的基于随机游走的嵌入方法有DeepWalk[17]和node2vec[18]
  • 这两种方法都是浅嵌入的,并且都遵循了一种使用共现统计的优化策略

最近的许多研究都使用了随机游走的方法

这些研究通过使用各种随机游走方法来减少训练样本的数量和计算成本,从而执行各种网络分析任务

  • 在[22,23]中,节点是基于从一个节点开始并继续到下一个节点的随机游动的指定特征来嵌入的
  • Role2vec[22]使用属性随机行走对语料库进行采样,这保留了每个节点的结构类型,并提高了可用空间的效率
  • 基于每个周围节点的结构模式,RiWalk[23]通过为每个节点构建重新标记的子图来学习每个节点的嵌入,并在创建的子图上执行随机漫游
  • 作为一种可伸缩的图嵌入方法,DiaRW[24]最近被提出为一种使用度偏向随机游走和可变长度策略的方法。DiaRW方法根据源节点在减少采样冗余方面的中心性来创建随机游动
  • 为了修改节点在行走时的偏好,BalNode2Vec[25]定义了节点的网络邻域的概念,并开发了一种适应图结构的平衡随机行走过程
  • Fazaeli和Momtazi在[26]中提出了GuidedWalk,该方法背后的思想是利用随机游走阶段节点的标签信息来增加访问同一类节点局部结构的概率
  • Wang等人[27]提出了HashWalk方法来保持网络拓扑结构,提高节点嵌入性。该方法首先将网络中的团压缩成单个节点,然后利用随机游走的方法得到压缩后的团序列

然而,即使最先进的基于随机行走的嵌入方法已经取得了一些好处,它们也不能忽视行走过程中随机性带来的限制

例如,消除过采样(随机漫游的数量与节点的度数成正比)


嵌入策略保证节点的相似度与对应的嵌入向量的相似度相关

  • Node2vec和DeepWalk算法都使用相同的随机游走方法从图中收集信息
  • DeepWalk和node2vec的不同之处在于它们使用不同的优化和近似来计算嵌入。此外,这两种方法使用相同的用户定义的步数初始值和步长来捕捉特征。这些值由用户在数据收集阶段开始时设置,最佳值只能通过反复试验才能实现。

在现实世界网络中,无标度网络具有特殊的地位,因为它们代表了现实世界网络中的大多数类别[28]

无标度网络的特征幂率度分布是低度节点较多,高度节点较少的标志

因此,固定数量的随机游动对低度节点进行过采样,而高度节点不能根据需要进行采样

在所有节点都被认为是平等的情况下,为了增加高阶节点的采样率,需要增加从每个节点开始的漫游数量

这种情况对应于计算时间的增加与网络的大小成比例

同时,这会导致低度节点的漫游次数过多

这种情况会导致在嵌入阶段创建不平衡的数据


本文旨在对特征提取算法提出一种改进方案

为了消除过采样,随机游走的次数与节点的度数成正比

对低阶节点的采样相对少于对高阶节点的采样

考虑到无标度网络中低度节点和高度节点的比例,该选择大大减少了总步数,同时提高了高度节点的采样率

这一修改引入了对随着网络规模的增长而增加的计算时间的补救措施,并且它还有助于克服不平衡的数据问题。

在所提出的模型中,从每个节点开始的行走次数与节点的关联度成正比,而不是固定的数目,而对于其余的嵌入节点,则使用node2vec策略

2 Method

表征学习在自然语言处理领域(如word2vec[29,30])的成功实现,通过优化邻域保持似然概念,为网络表征学习的新方向铺平了道路

文档是单词的集合 在word2vec中,单词的特征是从与相关单词的相对出现中提取的,或者换句话说,从邻近单词(在相同的窗口大小中)中提取 文本文档由已经存在的句子组成 句子是代表词与词之间关系的自然结构 对于网络的节点,不存在这样的序列或分组 在图表上使用表征学习技术的困难似乎是构建句子式的结构 要获得这种为节点引入顺序并揭示隐藏特征的结构化结构,随机游动是最好的候选者,并且经常使用

图(G)本质上由两个部分组成:节点(N)和边(E)

  • 节点是由边连接的实体
  • 图中的每个节点(nin_i)都有一个邻居集。这些邻居将由一组具有某种策略的随机漫游来确定。该策略必须保证将局部和全局邻域信息整合到嵌入中

在这里插入图片描述

如图1所示,第三个节点有5个邻居,n3={n1n2n4n5n6}n_3=\{n_1,n_2,n_4,n_5,n_6\}

如果我们从节点n3n_3开始两次随机行走,遵循相同的策略(行走长度为4)

  • 则第一次行走(W1W_1)可以是(n3n1n2n3n5)(n_3→n_1→n_2→n_3→n_5)
  • 第二次行走(W2W_2)可以是(n3n5n6n7n8n_3→n_5→n_6→n_7→n_8)

这些步行将给出类似句子的序列:

在这里插入图片描述

创建类似句子的节点序列背后的想法是用对应的嵌入向量来表示节点之间的相似性

每一次随机行走都会产生一个序列,该序列具有节点之间固有的隐藏特征

漫游长度能够更深入地渗透到图表中,而漫游的数量增加了不同的连接模式

因此,可以获得更准确的嵌入向量

因此,必须有足够的步长来映射从每个节点开始的不同路径


为了检测图中节点的相似性,必须同时考虑连通性和结构相似性

在node2vec模型中,参数p和q允许对漫游中节点的局部和全局邻域进行采样

  • 参数p控制返回到上一个节点的概率
  • 而q值使访问遥远的邻居成为可能
  • 对于较低的p值,它会导致通过图形重新访问已经访问过的邻居

在固定数量的漫游情况下,相同数量的漫游分别从每个节点开始

在行走次数与节点的度数成正比的情况下,从节点开始的行走次数被给出为,

在这里插入图片描述

式中

  • NWiNW_ikik_i是开始行走的次数和第ii个节点的度。
  • NWPD是每度行走的次数

NWiNW_i是该节点需要游走的次数 kik_i是该节点的度 NWPDNWPD是定义每个度需要走多少次

图2展示了样本网络中基于度的node2vec和node2vec在随机游走策略方面的差异

在这里插入图片描述


在这里插入图片描述

算法1显示了使用基于度数的加权采样方法创建每个节点的随机游动的伪代码

这种方法提供了更均匀的网络采样,因为节点具有不同数量的邻居

此外,对于大型网络,它还提高了采样效率

对于大规模无标度网络,概率分布由下式给出,

在这里插入图片描述 其中

  • kmink_minγγ分别是最小连通节点的次数和次数指数

因此,平均度数是,

在这里插入图片描述 其中

  • kmink_{min}kmaxk_{max}分别是节点之间存在的最小和最大度

对于无标度网络,最小度和最大度之间的关系可以给出为, 在这里插入图片描述 其中NN是节点数

使用最大度关系(等式)4)在公式3中,平均度由下式给出, 在这里插入图片描述

对于大型无标度网络,平均度与最小度kmink_{min}成正比

因此,对于基于度的方法,随机行走的总数TNWTNW由关系NWPD×N×<k>NWPD×N×<k>给出,其中

  • NWPDNWPD是每度的随机行走的数目
  • 即使随机行走的总数随着网络规模NN而增加
  • 最小度比例(Eq.5)以最小的计算量保证嵌入的质量

在该方法中,每条边以相等的概率成为随机游动的起始边缘,从而消除了固定数量的随机游动方法的过采样


对于固定数量的随机游动情况,每个节点的随机游动次数必须随着网络规模的增加而增加,因为最大程度随着网络规模的增加而增加(等式4)

除非这样做,否则无法准确地对集线器节点进行采样

为了达到相同的精度,漫游的数量必须随着大小的增加而增加

因此,计算工作量并不随大小线性增加。此外,从每个节点开始相同数量的随机行走可能会导致为低度节点创建非常相似的序列

这种过采样是冗余信息,并且在嵌入阶段成为不平衡数据的来源

在自然语言的情况下,句子的自然流动决定了单词的连接结构

虽然有些词经常出现,但在句子中很少出现不常见的词

因此,处理有意义的句子的嵌入算法自然地区分常用单词(中心节点,高度节点)和不常用单词(低度节点)

在图表示算法中,这种自然的区别只能通过图的连通性结构来实现

最简单、最明显的选择是节点的度数

如果从任何节点开始的漫游次数与其度数成正比,则这些节点的出现将与该节点的连通结构成正比。这种方法有三个优点:

  • 度数越高的节点,越偏重于生成加权嵌入向量的句型结构。这种基于程度的方法与随机游走的随机性质相结合,对应于提高效率的重要性抽样
  • 大量的低度节点造成了不平衡的数据问题。低度节点的高贡献度遮蔽了图的某些特征;通过在随机游走次数中选择度比例,数据不平衡问题将被消除
  • 选择基于度数的随机游走大大减少了计算时间。因此,可以使用大尺寸的图形

该模型使用node2vec策略来访问邻居节点,不同的是,从每个节点开始的行走次数与节点的度数成正比,而不是固定的数目

3 Experimental Results and Analysis

使用三种不同的网络测试了固定和基于度的随机游走次数的效果

这些网络中的第一个是Zachary空手道俱乐部网络[31]。这个小型且经过充分研究的网络被用作测试用例,也是一个讨论基于度的随机游走和固定数量的随机游走在较大网络上的含义的平台

选择两个真实世界网络Cora[32]和CiteSeer[33]作为真实世界网络的测试环境。以节点分类和链接预测为应用领域

表1提供了用于实验分析的数据集的详细信息

在这里插入图片描述

3.1 Zachary Karate Club network

采用固定随机游动和基于度数的随机游走两种方法计算Zachary空手道俱乐部网络的嵌入向量

除了一些详细的研究[34],Zachary空手道俱乐部网络通常被认为是一个两个社区的网络

为了比较嵌入质量,在随机游走次数最少的情况下,考虑了两个准则:

  • i)嵌入向量之间的余弦相似性
  • ii)利用降维技术识别网络中的社区

对于这两种情况,都会增加行走次数,直到获得可比较的结果

当达到目标时,比较计算工作量

3.1.1 Cosine similarity studies

检验嵌入质量的一种方法是利用余弦相似度来识别最相似的节点

通过保持窗口大小(WS=5)和嵌入向量维度(32)不变来计算嵌入向量

对于每个节点,无论是否连接,都会计算与其余节点的余弦相似度

余弦相似度最大的节点创建了一组拓扑相似的节点。余弦相似性结果如图3所示 在这里插入图片描述

如图3所示,相似性计算表明有两个不同的社区

此外,社区由显示为Zachary空手道俱乐部网络社区的节点组成[31]

在基于度的情况下,每个度5次步行(总共780次步行)已经足够进行这种社区分离

对于固定随机行走的情况,获得了相同的结果,每个节点40次行走(总共1360次行走)

行走次数的差异清楚地表明了较大网络在计算时间上的增长

3.1.2 Community detection by using dimensional reduction

图3显示,即使是简单的相似性研究也揭示了与网络良好建立的社区结构一致的社区

降维和聚类使用的是Python NetworkX 1包的多维缩放(MDS)和K-Means算法

将嵌入向量空间映射到二维向量上,使用K-均值算法进行社区识别

嵌入的质量是高维和低维向量空间相似性的保证

图4显示了社区及其组成节点。对于固定和基于度数的漫游情况,嵌入向量维、漫游长度和窗口大小分别为32、10和5

在这里插入图片描述

对于类似的社区识别,对于固定数目的随机行走,实现了1360次行走,而对于基于度的方法,观察到总共5×ki=7805×k_i=780次行走是足够的

图3和图4表明,即使对于较小的图,基于度的随机游走方法的计算密集度也较低

随着规模的增大,无标度网络的幂律行为成为低度节点增加的指示性因素

因此,基于度的方法的优势在大型网络中变得更加突出

3.2 CORA and CiteSeer datasets

CORA数据集由2,708个节点和5,429条边组成

同样,CiteSeer数据集由3,327个节点和4,732条边组成(表1)

通过使用上述数据集,使用基于度数和固定数目的随机游动来创建嵌入向量

嵌入向量用于

  • i)节点分类
  • ii)链路预测

对于节点分类,采用降维和K-均值算法,类似于第3.1.2节中解释的方法

采用SCRICKIT-LEARN PYTHN包[35]的Logistic RegressionCV程序进行预测

通过使用Hadamard、L1、L2和Average算法从节点嵌入向量构造链路嵌入向量[18]

在测试运行期间,观察到Hadamard技术给出了最好的链接预测分数

在所有的链接预测计算中都使用Hadamard算子

在这项实验研究中,主要关注的是观察准确性、随机行走的次数和长度之间的相关性。

在将网络的拓扑结构映射到嵌入上时,路径的数量和长度这两个参数起着至关重要的作用


表2和表3分别给出了CORA和CiteSeer数据集上的节点分类精确值、总行走次数的相对百分比和每节点20次运行的精度增益

在这里插入图片描述

在这里插入图片描述

表2和表3显示了准确值随行走次数的增加而提高的情况

在基于度数的情况下,精确值从每度1次开始增加,在每度3次时达到平台期

平台值也是通过使用每个节点的固定步数(20)获得的精确值

当检查表2和表3时,可以看到,即使在精度达到与原始算法相当的值之后,每度的步数仍在继续增加

例如

  • 对于CORA数据集表2,原始算法(每个节点具有固定的步数(20))的准确率达到84.9%。基于度的方法在每个节点的每度2到3次之间达到相同的精度。这相当于步行次数减少了59%到38.8%
  • 对于CiteSeer数据集表3,每个节点固定运行20次的原始方法达到76%的准确率。基于度数的方法在每个节点的度数为2到3之间具有相同的精度。这大约相当于计算时间的64.98%到47.74%的收益

为了表明精度与所获得的值持平,增加了随机游走的次数,这降低了计算效率的增益

计算增益和精度取决于网络的结构,以及使用所获得的随机游走来测量网络参数

根据以上讨论,可以预测CORA和CiteSeer数据集的计算增益平均为50%


图5显示了CORA数据集的行走次数、行走长度和节点分类的准确性(图5a)以及链接预测(图5b)之间的关系

在这里插入图片描述

CORA网络被用作准确性与步行长度(10到50步)的测试场

每个子图(图5、a和b)包含表示每个节点的随机漫游的增加数目和每个节点的固定数目(20)的行进的线条

从下到上的线条表示每度步行次数的增加

在某一点上,基于度数的方法和固定步数的精度变得相等

对于给定的每度步行次数,观察到的总体趋势是,随着步行长度的增加,精度也会增加

对于相对较长的跑步,可以看到一个平台期

随着漫游次数的增加,即使是较短的随机漫游也会产生接近平台值的精确值

对于CiteSeer数据集,观察到的行为非常相似


在使用随机行走创建句子状结构时,有两个参数起着至关重要的作用:

  • 行走的次数
  • 行走的长度(每次新行走的步数)

为了提高计算效率,必须对这两个参数进行优化,以最小的计算量达到最高的精度

图5专门用来进行这样的比较讨论

图5在节点分类(图5a)和链接预测(图5b)上比较了基于度的和原始的node2vec算法。


虽然使用了通过使用CORA数据集的节点获得的相同的句子状节点序列,但节点分类和链接预测需要不同的处理技术

在节点分类的情况下,基于度的方法通过使用更短的随机游动达到并超过了原始算法的精度

对于CORA数据集,大约20步,每度步数大于2,就足以达到并超过原始算法所获得的精度

这一点可视为最优步行步数点。对于链接预测(图5b),使用40步长的随机游走可以达到相同的情况

为了说明这些事实,在(图5a)和(图5b)中增加了小数字


表4和表5显示了CiteSeer数据集的节点分类和链接预测数据 在这里插入图片描述

在这里插入图片描述

从20步步行长度开始,基于度数的方法最早达到每度3到4步的接近平台值的精度

基于度的随机游走方法与基于度的随机游走方法的总行走次数之比表明了基于度的随机游走方法的效率

使用表4和表5中给出的值,基于度数的步进总数与每个节点的固定步数之间的比较表明,大约减少50%的工作量就足以获得类似的精度

4 Conclusions

图为成对关系的局部和全局邻域信息提供了一种有效的抽象

图形表示的主要缺点是非常有价值的信息不能直接嵌入到可用于进一步处理的数值向量中。有大量关于嵌入方法的文献,具有不同的效率

矩阵方法和随机游走为大多数提出的解决方案提供了基础。在基于随机游走的解决方案中,DeepWalk和node2vec两种最好的嵌入方法利用了自然语言处理中引入的浅层神经网络技术

这种类似句子的结构是通过使用随机游走技术创建的,这是嵌入过程中计算密集的部分

在这两种方法中,从每个节点开始固定数量的随机漫步

通过优化控制参数的值来确定行走次数


在该方法中,行走的次数与节点的度数成正比,而不是每个节点的步数是固定的

基于度的数游选择也有三个优点

  • i)度高的节点更注重句子状的结构,这将与重要性采样相对应
  • ii)通过在随机游走的数量中选择度成比例,低度节点的贡献将被抑制,从而消除了数据不平衡问题
  • iii)基于度的随机游走大大减少了计算时间

因此,所提出的方法在无标度网络上是最有效的


对于大型无标度网络,基于度的抽样方法将更加有效,因为总行走次数与平均度成正比(Eq.3)它是网络的最小度的倍数)

该方法在保证总步数尽可能少的情况下,实现了邻域的正确采样

考虑到现实世界中的大多数网络都是大而无标度的,选择与节点的度数成正比的步数的优势变得更加明显


对于相当小的格子,对所提出的方法进行了测试

三个网络,Zachary空手道俱乐部,CORA,和CiteSeer数据集被用于节点分类和链接预测

观察到,对于Cora和CiteSeer数据集,比固定行走次数少大约50%的计算量就足以达到相同的节点分类和链路预测精度

在文献中,许多成功执行的节点分类和链接预测算法都是基于随机行走的

匿名随机行走的想法也是基于随机行走的。我们未来工作的主要方向将是将基于度的随机行走的思想推广到匿名随机行走

读后总结

总结:游走次数不是固定的,依据度进行调整

结语

文章仅作为个人学习笔记记录,记录从0到1的一个过程

希望对您有一点点帮助,如有错误欢迎小伙伴指正

在这里插入图片描述