【论文阅读】SINE: Scalable Incomplete Network Embedding Embedding

288 阅读17分钟

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

前言

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

知其然 知其所以然!

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

简介

原文链接:ieeexplore.ieee.org/document/85…

会议:2018 IEEE International Conference on Data Mining (ICDM CCF B类)

代码:github.com/daokunzhang…

年度:2018/11/17

Abstract

属性网络嵌入旨在学习网络中节点的低维向量表示,其中每个节点都包含丰富的描述节点内容的属性/特征

由于网络拓扑结构和节点属性往往表现出高度的相关性,将节点属性接近性纳入网络嵌入有利于学习良好的向量表示

在现实中,大规模网络往往存在不完整/缺失的节点内容或链接,而现有的属性网络嵌入算法都是在网络完备的假设下运行的

因此,它们的性能很容易受到数据缺失的影响,并且可伸缩性很差


在本文中,我们提出了一种可扩展的不完全网络嵌入(Scalable Incomplete Network Embedding, SINE)算法,用于从不完全图学习节点表示

  • SINE制定了一个概率学习框架,它分别对节点-上下文和节点-属性关系进行建模
  • 与现有的带有属性的网络嵌入算法不同,SINE提供了更大的灵活性,可以充分利用有用的信息,减轻缺失信息对表示学习的负面影响
  • 提出了一种基于随机梯度下降的在线算法来学习节点表示,使得SINE能够以较高的学习效率扩展到大规模网络

我们通过在真实网络上的大量实验来评估SINE的有效性和效率

  • 实验结果证实,在缺少链接和节点属性的设置下,SINE在各种任务(包括节点分类、节点聚类和链接预测)中表现优于最先进的基线
  • 在具有数百万节点/边和高维节点特征的大规模网络中,SINE也被证明是可扩展和高效的

I. I NTRODUCTION

网络嵌入又称网络表示学习,其目的是通过保留网络结构和其他侧信息,将网络的每个节点嵌入到一个低维向量空间中

因此,将机器学习技术应用到新的向量空间中,可以很容易地完成网络分析任务

由于网络应用(如社交网络)的日益普及,现实世界中的网络通常规模较大,包含大量节点、链接和高维内容特征

这些挑战推动了该领域许多网络嵌入解决方案的发展


两种主流的网络嵌入算法包括:

  • (1)只保留网络结构的结构保留网络嵌入方法,如DeepWalk [1], LINE [2], node2vec[3]
  • (2)属性网络嵌入方法,如TADW [4], HSCA [5], MVC-DNE [6],用节点属性增强了网络结构

由于保留结构的网络嵌入方法只利用了网络的拓扑结构,因此与结合节点内容和结构信息进行嵌入学习的属性网络嵌入方法相比,具有一定的劣势

同时,现有的属性网络嵌入方法虽然可以利用节点内容,但往往假设输入网络是完整的,无法处理缺失的数据

此外,由于计算成本高,它们的可伸缩性很差

综上所述,现有的归因网络嵌入方法存在两大缺陷:

  • 容易丢失数据:由于各种原因,现实世界的网络通常是不完整的,缺少边缘和/或缺少节点内容特征[7]
    • 首先,隐私或法律限制使得节点属性或节点之间部分连接的敏感信息不可访问
    • 其次,网络规模太大,使其成本过高,甚至不可能直接获得完整的网络。相反,通常的做法是获取大型网络的较小样本进行分析。采样后的网络不可避免地包含大量缺失的节点和链路
    • 第三,网络本质上是动态的,因此新加入的节点往往只有很少的链接或内容特征。所有这些方面导致了噪声和不完整的网络。虽然研究表明联合利用网络结构和节点属性可以提高嵌入性能,但现有的带属性网络嵌入算法要求节点属性全部完整。当网络中的节点没有属性或属性的重要维度不可观察时,现有方法容易出现这种数据缺失
  • 可扩展性差:大多数的归因网络嵌入算法依赖于矩阵分解(如TADW [4], HSCA[5])或深度神经网络(如MVC-DNE[6])来融合网络结构和节点属性的信息,从而学习出更好的联合表示。矩阵分解或深度神经网络的计算成本较高,其时间复杂度至少是节点数量的二次元,无法扩展到具有大量节点和高维节点特征的大规模网络。因此,开发高效、有效的网络嵌入算法是一个迫切的需求

上述观察激发了我们的研究,以找到一个更好的网络表示,不仅对网络中的缺失数据具有鲁棒性,而且可以扩展到大规模网络


在本文中,我们提出了一种新的带属性的网络嵌入算法,称为SINE,它提供了一个概率公式:

  • 1)建模节点和上下文关系对,以捕获随机游动中更广泛的结构依赖
  • 2)对节点和属性关系进行建模,充分利用可用的节点内容信息

与现有的带有属性的网络嵌入算法不同,SINE提供了一种灵活的方法来利用有用的信息,减少由于网络结构和/或节点属性上存在缺失数据而对学习的嵌入表示造成的负面影响

我们推出了一种基于随机梯度下降的在线优化策略,使SINE具有较高的学习效率和扩展到大型网络的能力

我们评估了SINE在现实网络中各种任务的有效性和效率,包括节点分类、聚类和链路预测

与最先进的基线相比,SINE被证明对缺失的链接和节点属性具有健壮性,而且还可扩展到大规模网络


本文的主要贡献有三个方面:

  • 我们改进了现有的网络嵌入学习的现实缺失数据设置,允许嵌入倾斜是高效和准确的现实网络
  • 我们提出了一种可扩展的高效算法,结合网络结构和节点属性来学习联合嵌入表示,从而减少信息缺失的负面影响
  • 我们评估了提出的方法在不同的缺失数据设置下的有效性,显示了其优越的性能,最先进的基线

II. RELATED WORK

A. Network Embedding

现有的无监督网络嵌入研究可分为两类[8]:

  • 一种是只利用网络结构来学习节点嵌入的保留结构的网络嵌入算法
  • 另一种是将网络结构与节点属性耦合以更有效地进行网络嵌入的归属网络嵌入算法

1)保留结构的网络嵌入:

  • 受Skip-Gram[9]启发,DeepWalk[1]通过保留共享相似上下文的节点之间的相似性来学习节点表示。DeepWalk采用随机漫步的方法获取节点上下文
  • node2vec [3] (DeepWalk的一种变体)利用有偏随机漫步来捕获更灵活的结构上下文
  • LINE[2]通过直接建模一阶接近(连接节点之间的接近)和二阶接近(共享直接邻居的节点之间的接近)来学习节点嵌入
  • GraRep[10]通过建模节点与其k步邻居之间的关系进一步考虑高阶近邻
  • M-NMF[11]通过团体结构来补充局部结构的邻近性,学习团体保持节点表示。深度学习技术也被用来学习深度的、非线性的节点表示
  • DNGR[12]采用堆叠降噪自编码器[13]学习深度低维节点嵌入
  • SDNE[14]设计了一个半监督自动编码器来学习保持一阶和二阶接近的节点表示

这些算法只利用网络结构来学习节点表示,而忽略节点内容信息

在链接稀疏的情况下,这些算法不能产生令人满意的结果

2)属性化网络嵌入:

  • TADW[4]通过归纳矩阵分解[15]将节点文本特征纳入网络嵌入
  • HSCA[5]通过增强嵌入空间的一阶邻近性来增强TADW
  • pRBM[16]利用受限玻尔兹曼机[17]构造节点属性表示,同时保持连接节点之间的相似性。为了处理带有噪声的用户配置文件特征的社交网络
  • UPP-SNE[18]通过对用户配置文件特征执行结构感知的非线性映射来学习节点表示
  • CANE[19]通过相互注意机制从节点属性学习上下文感知的节点嵌入
  • MVC-DNE[6]采用深度多视图学习学习对网络结构和节点内容特征进行编码的节点表示
  • GraphSAGE[20]通过邻域特征聚合,从节点内容特征归纳推断节点表示
  • AANE[21]通过寻找一个低维的内容特征子空间来学习节点表示,在这个子空间中,连接节点之间的距离被惩罚

上述属性网络嵌入方法都假定网络是完备的

当网络中存在丢失的数据时,特别是节点属性上的数据,它们的性能会急剧下降,因为它们缺乏处理丢失数据的能力

此外,由于这些方法大多基于矩阵分解和深度学习技术,因此大多数方法的可扩展性也较差

相比之下,我们的工作提出了一种有效和高效的方法来学习对缺失数据稳健的节点嵌入

B. Incomplete Graph Mining

网络中数据缺失现象非常普遍,但对不完全网络挖掘的研究却很少

众所周知,如果简单地忽略缺失的数据,网络分析结果将严重倾斜

因此,在进行网络分析之前,研究的重点是缺失数据的归责

  • [22]研究的是网络补全问题,其重点是学习一个适合网络观察部分的概率模型,然后利用该模型推断网络中缺失的节点和链接
  • 更具体地说,[23]解决了从大型图表的抽样快照中恢复丢失的感染和流行病源节点的问题
  • 在[24]中引入了图识别的概念,旨在从一个有噪声的、不完整的输入图中推断出一个干净的输出网络
  • [25]研究了非随机缺失数据对常见网络测度的影响,如中心性、同质性、拓扑和集中化

然而,对于大规模不完全网络的网络嵌入和鲁棒算法的研究却鲜有人关注

III. PROBLEM DEFINITION AND PRELIMINARIES

A. Problem Definition

假设给定一个不完整的网络 G=(V,E,A,X,Ω)G = (V, E, A, X, Ω),其中

  • VV 是节点集
  • EE 是观察到的边集
  • AA 是节点属性集
  • XRV×AX ∈ R^{|V|×|A|} 是节点特征矩阵,每个观察到的元素Xij0X_{ij} \geq 0表示属性ajAa_j ∈ A在节点viVv_i ∈ V的出现次数/权重
  • Ω{0,1}V×AΩ ∈ \{0, 1\}^{|V|×|A|} 表示是否观察到节点属性值 XijX_{ij}
    • Ωij=1Ω_{ij} = 1 表示观察到的 XijX_{ij}
    • Ωij=0Ω_{ij} = 0 表示未观察到的 XijX_{ij}
    • 对于属性取连续值的网络,可以应用离散化将连续属性转换为离散属性

不完全网络嵌入的目标是利用 EEXX 中的不完全信息来学习映射函数 Φ:viVRV×dΦ : v_i ∈ V → R^{|V |×d}

学习到的节点表示 Φ(vi)Φ(v_i) 预计是 (1) 低维 d<<Vd << |V|,和 (2) 为下游任务提供信息,例如节点分类、节点聚类和链路预测等

B. DeepWalk

Skip-Gram 模型 [9] 通过捕获共享相似上下文的单词之间的语义相似性来学习单词表示。

DeepWalk 通过使用随机游走来收集节点上下文,将 Skip-Gram 的思想从词表示学习推广到网络嵌入。

给定一个长度为LL 的截断随机游走 vr1,vr2,,vri,vrL{v_{r1} , v_{r2} , · · · , v_{ri} , · · · v_{rL} }

DeepWalk 通过使用它来预测其上下文节点来学习节点 vriv_{ri} 的表示 Φ(vri)Φ(v_{ri}),这是通过求解 以下优化问题

在这里插入图片描述 其中vritvri+t vri{v_{r_{i−t}},···,v_{r_{i+t}}} \ v_{ri}vriv_{ri}tt窗口大小内的上下文节点

通过条件独立假设,概率P(vritvri+t vrivri)P({v_{r_{i−t}},···,v_{r_{i+t}}} \ v_{r_i} |v_{r_i})可展开为 在这里插入图片描述 在[18]之后,考虑所有生成的随机漫步,DeepWalk的整体优化问题可以重新表述为 在这里插入图片描述 其中n(vi,vj)n(v_i, v_j)vjv_j作为viv_i的上下文节点在窗口大小内所有生成的随机游走中出现的总次数

整体优化问题可以通过随机抽样一个节点上下文对(vi,vj)(v_i, v_j)和最小化以下部分目标来解决: 在这里插入图片描述

IV. SINE: SCALABLE INCOMPLETE NETWORK EMBEDDING

A. Model Architecture

受到DeepWalk[1]的启发,SINE允许共享相似上下文节点的节点拥有相似的表示,从而将网络结构编码为节点嵌入

这是通过最小化Eq.(4)中的DeepWalk部分目标来实现的,对于从随机漫步中收集的每个节点上下文对(vi,vj)(v_i, v_j)

除了拓扑结构,我们还希望共享相似属性的节点在新的向量空间中接近

遵循Skip-Gram[9]的机制,我们使用节点viv_i对每个观察到的节点属性共现对(vi,aj)(v_i, a_j)预测其共现属性aja_j,使学习到的节点表示尊重该属性

这是通过尽量减少以下目标实现的:

在这里插入图片描述 如图1所示,SINE的学习框架是一个三层神经网络:

  • 第一层是每个节点viv_i的onehot表示
  • 隐藏层是通过线性变换构造的节点表示Φ(vi)RdΦ(v_i) ∈ R^d 从权重矩阵 WinRV×dW ^{in} ∈ R^{|V|×d} 的输入层
  • 输出层是 softmax 条件概率 P(vjvi)P(ajvi)P(v_j |v_i) 和 P(a_j |v_i),对于每个节点 vjv_j 和每个属性 aja_j,分别具有权重矩阵 Wout,sRd×VW^{out,s}∈ R^{d×|V|} 的隐藏层 和 Wout,aRd×AW^{out,a} ∈ R^{d×|A|}

在这里插入图片描述

给定 one-hot 表示 p(i)RVp^{(i)} ∈ R^{|V|} 节点 viv_ipi(i)=1p^{(i)}_i = 1pj(i)=0p^{(i)}_j = 0 对于 j=ij = i,隐藏层中的节点表示Φ(vi)Φ(v_i) 构造为 在这里插入图片描述 其中 wiinw^{in}_iWinRv×dW^{in} \in R^{|v| \times d} 的第 i 行的转置(从输入层到隐藏层的权重矩阵)

在输出层,对于节点上下文对(vi,vj)(v_i, v_j),概率P(vjvi)P(v_j |v_i)由softmax信号建模:

在这里插入图片描述 其中 wjout,sw^{out,s}_jWout,sRd×VW^{out,s} ∈ R^{d×|V|} 的第 jj 列 (从隐藏层到输出层的权重矩阵,用于预测节点上下文)

同理,对于节点属性共现对(vi,aj)(v_i, a_j),概率P(ajvi)P(a_j |v_i)的模型为

在这里插入图片描述 其中wjout,aw^{out,a}_jWout,aRd×aW^{out,a}∈R^{d×| a|}的第j列(从隐层到输出层预测节点属性的权值矩阵)

通过对Eq.(4)中的结构保持目标和Eq.(5)中的节点属性保持目标进行强化,可以得到保存了可用结构和节点内容信息的节点表示Φ()Φ(·)

通过求解如下的整体优化问题:

在这里插入图片描述 其中α1和α2是平衡结构保持目标和节点内容保持目标的权衡参数

它们被设置为

在这里插入图片描述

在Eq.(10)中,我们只关心n(vi,vj)n(v_i, v_j)ΩijXijΩ_{ij}X_{ij}的非零值

  • 即从观察链路收集到的节点上下文对和观察到的节点属性共现对,它们的数目分别远小于V×V|V|×|V|V×A|V|×|A|

这样可以充分利用现有的网络结构和节点内容信息,减少信息缺失的负面影响

B. Model Optimization

我们通过随机梯度下降交替最小化Eq.(4)和Eq.(5)中的部分目标来解决Eq.(9)中的整体优化问题

在每次迭代时,根据n(vi,vj)n(v_i, v_j)ΩijXijΩ_{ij}X_{ij}的分布分别抽样一个节点上下文对(vi,vj)(v_i, v_j)或一个节点属性共出现对(vi,aj)(v_i, a_j)

对于采样的节点上下文对(vi,vj)(v_i, v_j),采用负采样来加快训练速度

因此,式(4)中的部分目标OijsO^s_{ij}可以重新表述为

在这里插入图片描述 其中

  • VnegV_{neg}为负节点采样的集合

参数通过梯度下降法更新:

在这里插入图片描述

其中

  • η为学习率

梯度计算如下

在这里插入图片描述 同理,对于每个采样的节点属性共现对(vi,aj)(v_i, a_j),采用负采样,将式(5)中的部分目标OijaO^a_{ij}近似为

在这里插入图片描述

式中

  • AnegA_{neg}为负属性抽样的集合

参数更新为

在这里插入图片描述 梯度计算如下

在这里插入图片描述


算法1给出了所提出的SINE算法的主要过程

  • 在第1步,SINE在每个节点上以LL的长度开始随机漫步γγ
  • 在第2步,统计窗口大小为tt的节点上下文对n(vi,vj)n(v_i, v_j)的频率
  • 在步骤3-14中,SINE用随机梯度下降法更新参数
  • 在每次迭代中,SINE对一个随机开关变量r(0,1)r∈(0,1)进行采样,以确定最小化的是结构保持目标还是节点属性保持目标,阈值为0.5。为了采样节点上下文对和节点属性对,使用了别名表方法[26],这只需要O(1)时间
  • 迭代结束后,用WinW^{in}和 Eq.(6)构造节点表示Φ()Φ(·) 在这里插入图片描述

SINE的时间复杂度仅依赖于最大迭代次数和学习到的节点表示维数dd

最大迭代次数的尺度为O(max(nnz(ΩijXij)V))O(max(nnz(Ω_{ij}X_{ij}),|V|))

  • 其中nnz(ΩijXij)nnz(Ω_{ij}X_{ij})ΩijXijΩ_{ij}X_{ij}中非零值的个数,即观测到的节点属性共现对的个数
  • V|V|为随机行走收集到的节点上下文对的规模

因此,SINE的总体时间复杂度为O(dmax(nnz(ΩijXij)V))O(d·max(nnz(Ω_{ij} X_{ij}), |V|)),保证了其良好的可扩展性

V. EXPERIMENTS

A. Benchmark Networks

在这里插入图片描述

B. Baseline Methods

....

C. Experimental Settings

...

D. Performance Comparison on Incomplete Networks

在这里插入图片描述

.....

VI. CONCLUSION

大规模网络通常包含不完整的节点属性和/或缺失的链接,这给属性网络嵌入带来了巨大的挑战

由于节点属性或链接的缺失会导致节点相似度估计的不准确,现有的大多数方法都容易出现数据缺失,而数据缺失信息的轻微存在会严重影响算法性能

在本文中,我们提出了一种新的可扩展的不完全网络嵌入(SINE)方法,该方法利用无上下文和节点-属性关系的概率学习来解决大规模网络中的数据缺失问题

SINE通过一个三层神经网络将网络节点内容和拓扑结构耦合在一起,其中每个节点通过考虑上下文节点和节点的可观察属性来学习其表示

通过这样做,SINE完全减少了缺失数据对节点表示学习的影响

提出了一种基于随机梯度下降的在线算法,以保证正弦函数可以扩展到大规模网络

大量的实验和比较证明了正弦函数在大规模不完整网络学习嵌入中的有效性和可扩展性

读后总结

2022/07/22 第一次阅读

文章的主要思路还是利用随机游走 + Skip-Gram模型

只是这里得到最后有两个概率P(vjvi)P(v_j|v_i)P(ajvi)P(a_j|v_i)

也就是使得结构和属性与节点ii类似的节点嵌入更近

结语

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

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

在这里插入图片描述