代码https://github.com/tangjianpku/LINE

ABSTRACT

  本文研究了将超大型信息网络嵌入到低维向量空间中的问题,这对于许多任务(例如可视化,节点分类和链接预测)很有用。大多数现有的图形嵌入方法无法扩展到通常包含数百万个节点的现实世界信息网络。在本文中,我们提出了一种新颖的网络嵌入方法,称为“ LINE”,适用于任意类型的信息网络:无向,有向和/或加权。该方法优化了精心设计的目标函数,该函数既保留了本地网络结构又保留了全局网络结构。提出了一种边缘采样算法,解决了经典随机梯度下降的局限性,并提高了推理的有效性和效率。经验实验证明了LINE在各种现实世界的信息网络(包括语言网络,社交网络和引用网络)上的有效性。该算法非常有效,能够在典型的单台机器上在几个小时内学习具有数百万个顶点和数十亿条边的网络的嵌入。 LINE的源代码可在线获得。

1. INTRODUCTION

  本文研究了将信息网络嵌入低维空间的问题,其中每个顶点都表示为低维向量。 这种低维嵌入在各种应用中非常有用,例如可视化[21],节点分类[3],链接预测[10]和推荐[23]。
  机器学习文献中已提出了多种图形嵌入方法(例如[4,20,2])。它们通常在较小的网络上表现良好。当涉及一个现实世界的信息网络时,这个问题变得更具挑战性,例如,经典图嵌入算法(例如MDS [4],IsoMap [20],Laplacian特征图[2])的时间复杂度至少是顶点数量的平方。尽管最近进行的一些研究都涉及大规模网络的嵌入,但是这些方法要么使用不是为网络设计的间接方法(例如[1]),要么缺少针对网络嵌入量身定制的明确目标函数(例如[16])。 ])。我们预期具有精心设计的目标函数(可保留图的属性)和有效的优化技术的新模型应该可以有效地找到数百万个节点的嵌入。
  在本文中,我们提出了一种称为“ LINE”的网络嵌入模型,该模型能够扩展到非常大的任意类型的网络:无向,有向和/或加权。该模型优化了保留本地和全局网络结构的目标。自然地,局部结构由网络中观察到的链接表示,这些链接捕获了顶点之间的一阶接近度。现有的大多数图形嵌入算法都设计为保留这种一阶接近度,例如IsoMap [20]和Laplacian特征图[2],即使它们没有缩放。在现实世界数据中观察到的一阶邻近度不足以保存全局网络结构。作为补充,我们探索顶点之间的二阶接近度,这不是通过观察到的结合强度确定的,而是通过顶点的共享邻域结构确定的。二阶接近度的一般概念可以解释为共享邻居可能相似的节点。
2015-LINE: Large-scale Information Network Embedding
  图1给出了一个说明性的例子。 由于顶点6和7之间的边缘权重较大,即6和7具有较高的一阶接近度,因此应在嵌入式空间中将它们彼此紧密地表示。 另一方面,尽管在顶点5和6之间没有链接,但它们共享许多公共邻居,即它们具有很高的二阶接近度,因此也应彼此紧密地表示。 我们期望对二阶接近度的考虑可以有效地补充一阶接近度的稀疏性,并更好地保留网络的全局结构。 在本文中,我们将提出精心设计的目标,以保留一阶和二阶邻近度。
  即使找到了合理的目标,针对非常大的网络进行优化也是一项挑战。对于现实世界的信息网络而言,直接部署随机梯度下降是有问题的。这是因为在许多网络中,对边缘进行加权,并且权重通常呈现高方差。考虑一个单词共现网络,其中单词对的权重(共现)范围可能从一到数十万。边缘的这些权重将乘以渐变,导致渐变爆炸,从而影响性能。为了解决这个问题,我们提出了一种新颖的边缘采样方法,该方法提高了推理的有效性和效率。我们对概率与权重成正比的边缘进行采样,然后将采样的边缘视为用于模型更新的二进制边缘。通过这种采样过程,目标函数保持不变,并且边缘的权重不再影响渐变。
  LINE非常通用,适用于有向图或无向图,加权图或未加权图。 我们使用各种现实世界的信息网络(包括语言网络,社交网络和引用网络)评估LINE的性能。 在多个数据挖掘任务(包括单词类比,文本分类和节点分类)中评估学习的嵌入的有效性。 结果表明,在有效性和效率方面,LINE模型均优于其他竞争基准。 它能够在几小时内在一台机器上学习具有数百万个节点和数十亿个边缘的网络的嵌入。
  我们做出以下贡献:

  • 我们提出了一种新颖的网络嵌入模型,称为“ LINE”,该模型适用于任意类型的信息网络,并可以轻松扩展到数百万个节点。 它具有精心设计的目标函数,可以保留一阶和二阶邻近度。
  • 我们提出了一种边缘采样算法来优化目标。 该算法解决了经典随机梯度算法的局限性,提高了推理的有效性和效率。
  • 我们在现实世界的信息网络上进行了广泛的实验。 实验结果证明了所提出的LINE模型的有效性和有效性。

2. RELATED WORK

  我们的工作通常与经典的图嵌入或降维方法有关,例如多维缩放(MDS)[4],IsoMap [20],LLE [18]和Laplacian Eigenmap [2]。 这些方法通常首先使用数据点的特征向量(例如,数据的K最近邻图)构造亲和图,然后将亲和图[22]嵌入到低维空间中。 但是,这些算法通常依赖于求解亲和度矩阵的前导特征向量,其复杂度至少是节点数量的平方,使得它们无法有效地处理大规模网络。
  在最新文献中,有一种称为图形分解的技术[1]。 通过矩阵分解发现大图的低维嵌入,该矩阵使用随机梯度下降进行了优化。 这是可能的,因为图形可以表示为亲和度矩阵。 但是,矩阵分解的目的不是为网络设计的,因此不一定保留全局网络结构。 直观地,图分解期望具有较高一阶接近度的节点被紧密表示。 取而代之的是,LINE模型使用了专门为网络设计的目标,该目标既保留了一阶和二阶邻近度。 实际上,图分解方法仅适用于无向图,而提出的模型适用于无向图和有向图。
  与我们有关的最新工作是DeepWalk [16],该工具将截短的随机游走部署到社交网络嵌入中。 尽管从经验上讲是有效的,但DeepWalk并没有提供明确的目标来阐明保留哪些网络属性。 直观上,DeepWalk期望具有较高二阶邻近度的节点产生相似的低维表示,而LINE保留一阶和二阶邻近度。 DeepWalk使用随机游走来扩展顶点的邻域,类似于深度优先搜索。 我们使用广度优先搜索策略,这是一种更合理的二阶接近度方法。 实际上,DeepWalk仅适用于未加权的网络,而我们的模型适用于具有加权和未加权边缘的网络。

3. PROBLEM DEFINITION

  我们使用一阶和二阶邻近度正式定义了大规模信息网络嵌入的问题。 我们首先定义一个信息网络,如下所示:

定义1.(信息网络)信息网络定义为G=(V,E)G =(V,E),其中VV是顶点的集合,每个顶点代表一个数据对象,EE是顶点之间的边的集合,每个顶点代表之间的关系 两个数据对象。 每个边eEe∈E是一个有序对e=(u,v)e=(u,v),并与权重wuv>0w_{uv}> 0关联,该权重表示关系的强度。 如果GG是无向的,则我们有(u,v)(vu)(u,v)≡(v,u)wuvwvuw_{uv}≡w_{vu}; 如果G是有向的,我们有(u,v)(v,u)(u,v)\neq(v,u)wuvwvuw_{uv}\neq w_{vu}
  将信息网络嵌入低维空间在各种应用中很有用。 要进行嵌入,必须保留网络结构。 第一种直觉是必须保留局部网络结构,即顶点之间的局部成对邻近性。 我们将本地网络结构定义为顶点之间的一阶接近度:

定义2。(一阶邻近度)网络中的一阶邻近度是两个顶点之间的局部成对邻近度。 对于由边(u,v)(u,v)链接的每对顶点,该边的权重wuvw_{uv}表示uuvv之间的一阶接近度。如果在uuvv之间没有观察到边,则它们的一阶接近度为0 。
  一阶接近度通常意味着现实网络中两个节点的相似性。 许多现有的图形嵌入算法(例如IsoMap,LLE,Laplacian特征图和图形分解)的目标是保留一阶接近度。
  但是,在现实世界的信息网络中,观察到的链接仅占很小的比例,而许多其他链接却丢失了[10]。仅一阶邻近度不足以保留网络结构,因此寻找替代性的邻近度概念解决稀疏性问题很重要。 自然的直觉是,共享相似邻居的顶点往往彼此相似。 因此,我们定义了二阶邻近度,它补充了一阶邻近度并保留了网络结构。

定义3.(二阶邻近度)网络中一对顶点(u,v)(u,v)之间的二阶邻近度是它们的邻域网络结构之间的相似性。 数学上,让pu=(wu,1,...,wu,V)p_u=(w_{u,1},... ,w_{u,| V |})表示uu与所有其他顶点的一阶接近度,则uuvv之间的二阶接近度由pup_upvp_v之间的相似性确定。 如果没有顶点与uuvv链接在一起,则uuvv之间的二阶接近度为00

定义4.(大规模信息网络嵌入)给定一个大网络G=(V,E)G=(V,E),大规模信息网络嵌入的问题旨在将每个顶点vVv∈V在一个低维空间RdR^d中表示, 即,学习函数fGVRdf_G:V\to R^d,其中dVd \ll\mid V \mid。 在空间RdR^d中,保留顶点之间的一阶接近度和二阶接近度。

4. LINE: LARGE-SCALE INFORMATION

  理想的现实世界信息网络嵌入模型必须满足几个要求:

  • 首先,它必须能够保留顶点之间的一阶接近度和二阶接近度。
  • 第二,它必须扩展到非常大的网络,例如数百万个顶点和数十亿条边。
  • 第三,它可以处理具有任意类型边缘的网络:有向,无向和/或加权。

在本节中,我们提出了一种新颖的网络嵌入模型,称为“ LINE”,它可以满足所有这三个要求。

4.1 Model Description

4.1.1 LINE with First-order Proximity

  一阶邻近度是指网络中顶点之间的局部成对邻近度。 为了模拟一阶接近度,对于每个无向边(i,j)(i,j),我们定义顶点viv_ivjv_j之间的联合概率,如下所示:
p1(vi,vj)=11+exp(uiTuj)1p_1(v_i,v_j)=\frac{1}{1+exp(-\vec{u}_i^T\cdot \vec{u}_j)} \hspace{1cm}(1)

其中uiRd\vec{u}_i\in R^d是顶点viv_i在低维空间的表示。方程(1)定义了空间V×VV\times V上的分布p(,)p(\cdot,\cdot),其经验概率定义为p^1(i,j)=wijW\hat{p}_1(i,j)=\frac{w_{ij}}{W},其中W=(i,j)Ewi,jW=\sum_{(i,j)\in E}w_{i,j}. 为保存一阶相似性,一种直接的方式是最小化以下目标函数:
O1=d(p^1(,),p1(,))(2)O_1=d(\hat{p}_1(\cdot,\cdot),p_1(\cdot,\cdot))\hspace{1cm}(2)
其中d(,)d(\cdot,\cdot)是两个分布之间的距离。我们选择最小化两个概率分布的KL散度。 用KL-散度替换d(,)d(·,·),并省略一些常数,我们有:
O1=(i,j)Ewijlogp1(vi,vj)(3)O_1=\sum_{(i,j)\in E} w_{ij}log\hspace{0.1cm}p_1(v_i,v_j)\hspace{1cm}(3)
  请注意,一阶接近度仅适用于无向图,不适用于有向图。 通过找到{ui}i=1..V\{ \vec{u}_i\}_{ i = 1 .. | V |} 最小化方程(3)中的目标,我们可以在d维空间中表示每个顶点。

4.1.2 LINE with Second-order Proximity

  二阶接近度适用于有向图和无向图。 给定一个网络,并且不失一般性,我们假设它是有向的(无向边可以看作是两个方向相反且权重相等的有向边)。 二阶邻近度假设共享许多与其他顶点的连接的顶点彼此相似。 在这种情况下,每个顶点也被视为特定的“上下文”,并且假设在“上下文”上具有相似分布的顶点是相似的。 因此,每个顶点都扮演两个角色:顶点本身和其他顶点的特定“上下文”。 我们引入两个向量ui\vec{u}_iui\vec{u}^\prime_i,其中ui\vec{u}_i是将viv_i视为顶点时的viv_i表示,而ui\vec{u}^\prime_i是将viv_i视为特定“上下文”时的viv_i表示。 对于每个有向边(i,j)(i,j),我们首先将顶点viv_i生成“上下文”vjv_j的概率定义为:
p2(vjvi)=exp(ujTui)k=1Vexp(ukTui)(4)p_2(v_j|v_i)=\frac{exp(\vec{u}^{\prime T}_j\cdot\vec{u}_i)}{\sum_{k=1}^{|V|}exp(\vec{u}^{\prime T}_k\cdot\vec{u}_i)}\hspace{1cm}(4)
其中V|V|是顶点或“上下文”的数量。对于每个顶点viv_i,等式(4)实际上定义了上下文的条件分布p2(vi)p_2(\cdot|v_i),即网络中整个顶点集。 如上所述,二阶接近度假设在上下文中具有相似分布的顶点彼此相似。 为了保持二阶接近度,我们应该使低维表示所指定的上下文p2vip_2(·| v_i)的条件分布接近经验分布p^2vi\hat{p}_2(·| v_i)。 因此,我们最小化以下目标函数:
O2=iVλid(p^2(vi),p2(vi))(5)O_2=\sum_{i\in V}\lambda_id(\hat{p}_2(\cdot|v_i),p_2(\cdot|v_i))\hspace{1cm}(5)
其中d(,)d(\cdot,\cdot)是两个分布之间的距离。由于网络中顶点的重要性可能不同,因此我们在目标函数中引入λi\lambda_i来表示网络中顶点ii的声望,可以通过度数degree来衡量或通过诸如PageRank [15]的算法来估计 。 经验分布p^2vi\hat{p}_2(·| vi)定义为p^2(vjvi)=wijdi\hat{p}_2(v_j|v_i)=\frac{w_{ij}}{d_i},其中wijw_{ij}是边(i,j)(i,j)的权重,did_i是顶点ii的出度,即di=kN(i)wikd_i=\sum_{k\in N(i)}w_{ik},其中N(i)N(i)是顶点viv_i的近邻集。在本文中,为简单起见,我们将λi\lambda_i设置为顶点ii的度,即λi=di\lambda_i=d_i,这里我们还采用KL-散度作为距离函数。 用KL-散度替换dd(·,·),设置λi=di\lambda_i=d_i并省略一些常数,我们有:
O2=(i,j)Ewijlogp2(vjvi)(6)O_2=-\sum_{(i,j)\in E}w_{ij}log\hspace{0.1cm} p_2(v_j|v_i)\hspace{1cm}(6)

  通过学习{u}i=1,..V\{\vec{u}\}_{i=1,..|V|}{u}i=1,..V\{\vec{u}\}^\prime_{i=1,..|V|} 为了最小化这个目标,我们能够用dd维向量ui\vec{u}_i表示每个顶点viv_i

4.1.3 Combining first-order and second-order proximities

  为了通过保留一阶和二阶接近度来嵌入网络,我们在实践中发现的一种简单有效的方法是训练LINE模型,该模型分别保留一阶接近度和二阶接近度,然后对嵌入进行串联 通过两种方法对每个顶点进行训练。 结合这两种接近度的更原则的方法是共同训练目标函数(3)和(6),我们将在以后的工作中讨论这些目标函数。

4.2 Model Optimization

  优化目标(6)在计算上很昂贵,在计算条件概率p2vip_2(·| v_i)时,需要对整个顶点集求和。 为了解决这个问题,我们采用[13]中提出的负采样方法,该方法根据每个边缘(i,j)(i,j)的一些噪声分布对多个负边缘进行采样。 更具体地说,它为每个边(i,j)(i,j)指定以下目标函数:
logσ(ujTui)+i=1KEvnPn(v)[logσ(ujTui)](7)log\sigma(\vec{u}^{\prime T} _j\cdot \vec{u}_i)+\sum_{i=1}^K E_{v_n \sim P_n(v)}[log\sigma(-\vec{u}^{\prime T} _j\cdot \vec{u}_i)]\hspace{1cm}(7)
其中σ(x)=11+exp(x)\sigma(x)=\frac{1}{1+exp(-x)}是sigmoid函数。第一项建模观察到的边缘,第二项建模从噪声分布得出的负边缘,而KK为负边缘的数量。我们按照[13]中的建议设置Pn(v)dv3/4P_n(v)\varpropto d_v^{3 / 4},其中dvd_v是顶点vv的出度。
  对于目标函数(3),存在一个平凡解:uik=u_{ik} =\infty,对于i=1,...,Vi = 1,...,| V | 并且k=1,...,dk = 1,...,d。 为了平凡解,我们仍然可以通过将ujT\vec{u}^{\prime T}_j更改为ujT\vec{u}^{T}_j来利用负采样方法(7)。

4.2.1 Optimization via Edge Sampling

4.3 Discussion

5. EXPERIMENTS

5.1 Experiment Setup

5.2 Quantitative Results

5.2.1 Language Network

5.2.2 Social Network

5.2.3 Citation Network

5.3 Network Layouts

5.4 Performance w.r.t. Network Sparsity

5.5 Parameter Sensitivity

5.6 Scalability

6. CONCLUSION

  

  

  

  

  
  

相关文章: