LINE: Large-scale Information Network Embedding
代码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],即使它们没有缩放。在现实世界数据中观察到的一阶邻近度不足以保存全局网络结构。作为补充,我们探索顶点之间的二阶接近度,这不是通过观察到的结合强度确定的,而是通过顶点的共享邻域结构确定的。二阶接近度的一般概念可以解释为共享邻居可能相似的节点。
图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)
G=(V,E),其中
V
V
V是顶点的集合,每个顶点代表一个数据对象,
E
E
E是顶点之间的边的集合,每个顶点代表之间的关系 两个数据对象。 每个边
e
∈
E
e∈E
e∈E是一个有序对
e
=
(
u
,
v
)
e=(u,v)
e=(u,v),并与权重
w
u
v
>
0
w_{uv}> 0
wuv>0关联,该权重表示关系的强度。 如果
G
G
G是无向的,则我们有
(
u
,
v
)
≡
(
v
,
u
)
(u,v)≡(v,u)
(u,v)≡(v,u)和
w
u
v
≡
w
v
u
w_{uv}≡w_{vu}
wuv≡wvu; 如果G是有向的,我们有
(
u
,
v
)
≠
(
v
,
u
)
(u,v)\neq(v,u)
(u,v)=(v,u)和
w
u
v
≠
w
v
u
w_{uv}\neq w_{vu}
wuv=wvu。
将信息网络嵌入低维空间在各种应用中很有用。 要进行嵌入,必须保留网络结构。 第一种直觉是必须保留局部网络结构,即顶点之间的局部成对邻近性。 我们将本地网络结构定义为顶点之间的一阶接近度:
定义2。(一阶邻近度)网络中的一阶邻近度是两个顶点之间的局部成对邻近度。 对于由边
(
u
,
v
)
(u,v)
(u,v)链接的每对顶点,该边的权重
w
u
v
w_{uv}
wuv表示
u
u
u和
v
v
v之间的一阶接近度。如果在
u
u
u和
v
v
v之间没有观察到边,则它们的一阶接近度为0 。
一阶接近度通常意味着现实网络中两个节点的相似性。 许多现有的图形嵌入算法(例如IsoMap,LLE,Laplacian特征图和图形分解)的目标是保留一阶接近度。
但是,在现实世界的信息网络中,观察到的链接仅占很小的比例,而许多其他链接却丢失了[10]。仅一阶邻近度不足以保留网络结构,因此寻找替代性的邻近度概念解决稀疏性问题很重要。 自然的直觉是,共享相似邻居的顶点往往彼此相似。 因此,我们定义了二阶邻近度,它补充了一阶邻近度并保留了网络结构。
定义3.(二阶邻近度)网络中一对顶点 ( u , v ) (u,v) (u,v)之间的二阶邻近度是它们的邻域网络结构之间的相似性。 数学上,让 p u = ( w u , 1 , . . . , w u , ∣ V ∣ ) p_u=(w_{u,1},... ,w_{u,| V |}) pu=(wu,1,...,wu,∣V∣)表示 u u u与所有其他顶点的一阶接近度,则 u u u和 v v v之间的二阶接近度由 p u p_u pu和 p v p_v pv之间的相似性确定。 如果没有顶点与 u u u和 v v v链接在一起,则 u u u和 v v v之间的二阶接近度为 0 0 0。
定义4.(大规模信息网络嵌入)给定一个大网络 G = ( V , E ) G=(V,E) G=(V,E),大规模信息网络嵌入的问题旨在将每个顶点 v ∈ V v∈V v∈V在一个低维空间 R d R^d Rd中表示, 即,学习函数 f G : V → R d f_G:V\to R^d fG:V→Rd,其中 d ≪ ∣ V ∣ d \ll\mid V \mid d≪∣V∣。 在空间 R d R^d Rd中,保留顶点之间的一阶接近度和二阶接近度。
4. LINE: LARGE-SCALE INFORMATION
理想的现实世界信息网络嵌入模型必须满足几个要求:
- 首先,它必须能够保留顶点之间的一阶接近度和二阶接近度。
- 第二,它必须扩展到非常大的网络,例如数百万个顶点和数十亿条边。
- 第三,它可以处理具有任意类型边缘的网络:有向,无向和/或加权。
在本节中,我们提出了一种新颖的网络嵌入模型,称为“ LINE”,它可以满足所有这三个要求。
4.1 Model Description
4.1.1 LINE with First-order Proximity
一阶邻近度是指网络中顶点之间的局部成对邻近度。 为了模拟一阶接近度,对于每个无向边
(
i
,
j
)
(i,j)
(i,j),我们定义顶点
v
i
v_i
vi和
v
j
v_j
vj之间的联合概率,如下所示:
p
1
(
v
i
,
v
j
)
=
1
1
+
e
x
p
(
−
u
⃗
i
T
⋅
u
⃗
j
)
(
1
)
p_1(v_i,v_j)=\frac{1}{1+exp(-\vec{u}_i^T\cdot \vec{u}_j)} \hspace{1cm}(1)
p1(vi,vj)=1+exp(−uiT⋅uj)1(1)
其中
u
⃗
i
∈
R
d
\vec{u}_i\in R^d
ui∈Rd是顶点
v
i
v_i
vi在低维空间的表示。方程(1)定义了空间
V
×
V
V\times V
V×V上的分布
p
(
⋅
,
⋅
)
p(\cdot,\cdot)
p(⋅,⋅),其经验概率定义为
p
^
1
(
i
,
j
)
=
w
i
j
W
\hat{p}_1(i,j)=\frac{w_{ij}}{W}
p^1(i,j)=Wwij,其中
W
=
∑
(
i
,
j
)
∈
E
w
i
,
j
W=\sum_{(i,j)\in E}w_{i,j}
W=∑(i,j)∈Ewi,j. 为保存一阶相似性,一种直接的方式是最小化以下目标函数:
O
1
=
d
(
p
^
1
(
⋅
,
⋅
)
,
p
1
(
⋅
,
⋅
)
)
(
2
)
O_1=d(\hat{p}_1(\cdot,\cdot),p_1(\cdot,\cdot))\hspace{1cm}(2)
O1=d(p^1(⋅,⋅),p1(⋅,⋅))(2)
其中
d
(
⋅
,
⋅
)
d(\cdot,\cdot)
d(⋅,⋅)是两个分布之间的距离。我们选择最小化两个概率分布的KL散度。 用KL-散度替换
d
(
⋅
,
⋅
)
d(·,·)
d(⋅,⋅),并省略一些常数,我们有:
O
1
=
∑
(
i
,
j
)
∈
E
w
i
j
l
o
g
p
1
(
v
i
,
v
j
)
(
3
)
O_1=\sum_{(i,j)\in E} w_{ij}log\hspace{0.1cm}p_1(v_i,v_j)\hspace{1cm}(3)
O1=(i,j)∈E∑wijlogp1(vi,vj)(3)
请注意,一阶接近度仅适用于无向图,不适用于有向图。 通过找到
{
u
⃗
i
}
i
=
1..
∣
V
∣
\{ \vec{u}_i\}_{ i = 1 .. | V |}
{ui}i=1..∣V∣ 最小化方程(3)中的目标,我们可以在d维空间中表示每个顶点。
4.1.2 LINE with Second-order Proximity
二阶接近度适用于有向图和无向图。 给定一个网络,并且不失一般性,我们假设它是有向的(无向边可以看作是两个方向相反且权重相等的有向边)。 二阶邻近度假设共享许多与其他顶点的连接的顶点彼此相似。 在这种情况下,每个顶点也被视为特定的“上下文”,并且假设在“上下文”上具有相似分布的顶点是相似的。 因此,每个顶点都扮演两个角色:顶点本身和其他顶点的特定“上下文”。 我们引入两个向量
u
⃗
i
\vec{u}_i
ui和
u
⃗
i
′
\vec{u}^\prime_i
ui′,其中
u
⃗
i
\vec{u}_i
ui是将
v
i
v_i
vi视为顶点时的
v
i
v_i
vi表示,而
u
⃗
i
′
\vec{u}^\prime_i
ui′是将
v
i
v_i
vi视为特定“上下文”时的
v
i
v_i
vi表示。 对于每个有向边
(
i
,
j
)
(i,j)
(i,j),我们首先将顶点
v
i
v_i
vi生成“上下文”
v
j
v_j
vj的概率定义为:
p
2
(
v
j
∣
v
i
)
=
e
x
p
(
u
⃗
j
′
T
⋅
u
⃗
i
)
∑
k
=
1
∣
V
∣
e
x
p
(
u
⃗
k
′
T
⋅
u
⃗
i
)
(
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)
p2(vj∣vi)=∑k=1∣V∣exp(uk′T⋅ui)exp(uj′T⋅ui)(4)
其中
∣
V
∣
|V|
∣V∣是顶点或“上下文”的数量。对于每个顶点
v
i
v_i
vi,等式(4)实际上定义了上下文的条件分布
p
2
(
⋅
∣
v
i
)
p_2(\cdot|v_i)
p2(⋅∣vi),即网络中整个顶点集。 如上所述,二阶接近度假设在上下文中具有相似分布的顶点彼此相似。 为了保持二阶接近度,我们应该使低维表示所指定的上下文
p
2
(
⋅
∣
v
i
)
p_2(·| v_i)
p2(⋅∣vi)的条件分布接近经验分布
p
^
2
(
⋅
∣
v
i
)
\hat{p}_2(·| v_i)
p^2(⋅∣vi)。 因此,我们最小化以下目标函数:
O
2
=
∑
i
∈
V
λ
i
d
(
p
^
2
(
⋅
∣
v
i
)
,
p
2
(
⋅
∣
v
i
)
)
(
5
)
O_2=\sum_{i\in V}\lambda_id(\hat{p}_2(\cdot|v_i),p_2(\cdot|v_i))\hspace{1cm}(5)
O2=i∈V∑λid(p^2(⋅∣vi),p2(⋅∣vi))(5)
其中
d
(
⋅
,
⋅
)
d(\cdot,\cdot)
d(⋅,⋅)是两个分布之间的距离。由于网络中顶点的重要性可能不同,因此我们在目标函数中引入
λ
i
\lambda_i
λi来表示网络中顶点
i
i
i的声望,可以通过度数degree来衡量或通过诸如PageRank [15]的算法来估计 。 经验分布
p
^
2
(
⋅
∣
v
i
)
\hat{p}_2(·| vi)
p^2(⋅∣vi)定义为
p
^
2
(
v
j
∣
v
i
)
=
w
i
j
d
i
\hat{p}_2(v_j|v_i)=\frac{w_{ij}}{d_i}
p^2(vj∣vi)=diwij,其中
w
i
j
w_{ij}
wij是边
(
i
,
j
)
(i,j)
(i,j)的权重,
d
i
d_i
di是顶点
i
i
i的出度,即
d
i
=
∑
k
∈
N
(
i
)
w
i
k
d_i=\sum_{k\in N(i)}w_{ik}
di=∑k∈N(i)wik,其中
N
(
i
)
N(i)
N(i)是顶点
v
i
v_i
vi的近邻集。在本文中,为简单起见,我们将
λ
i
\lambda_i
λi设置为顶点
i
i
i的度,即
λ
i
=
d
i
\lambda_i=d_i
λi=di,这里我们还采用KL-散度作为距离函数。 用KL-散度替换
d
(
⋅
,
⋅
)
d(·,·)
d(⋅,⋅),设置
λ
i
=
d
i
\lambda_i=d_i
λi=di并省略一些常数,我们有:
O
2
=
−
∑
(
i
,
j
)
∈
E
w
i
j
l
o
g
p
2
(
v
j
∣
v
i
)
(
6
)
O_2=-\sum_{(i,j)\in E}w_{ij}log\hspace{0.1cm} p_2(v_j|v_i)\hspace{1cm}(6)
O2=−(i,j)∈E∑wijlogp2(vj∣vi)(6)
通过学习 { u ⃗ } i = 1 , . . ∣ V ∣ \{\vec{u}\}_{i=1,..|V|} {u}i=1,..∣V∣和 { u ⃗ } i = 1 , . . ∣ V ∣ ′ \{\vec{u}\}^\prime_{i=1,..|V|} {u}i=1,..∣V∣′ 为了最小化这个目标,我们能够用 d d d维向量 u ⃗ i \vec{u}_i ui表示每个顶点 v i v_i vi。
4.1.3 Combining first-order and second-order proximities
为了通过保留一阶和二阶接近度来嵌入网络,我们在实践中发现的一种简单有效的方法是训练LINE模型,该模型分别保留一阶接近度和二阶接近度,然后对嵌入进行串联 通过两种方法对每个顶点进行训练。 结合这两种接近度的更原则的方法是共同训练目标函数(3)和(6),我们将在以后的工作中讨论这些目标函数。
4.2 Model Optimization
优化目标(6)在计算上很昂贵,在计算条件概率
p
2
(
⋅
∣
v
i
)
p_2(·| v_i)
p2(⋅∣vi)时,需要对整个顶点集求和。 为了解决这个问题,我们采用[13]中提出的负采样方法,该方法根据每个边缘
(
i
,
j
)
(i,j)
(i,j)的一些噪声分布对多个负边缘进行采样。 更具体地说,它为每个边
(
i
,
j
)
(i,j)
(i,j)指定以下目标函数:
l
o
g
σ
(
u
⃗
j
′
T
⋅
u
⃗
i
)
+
∑
i
=
1
K
E
v
n
∼
P
n
(
v
)
[
l
o
g
σ
(
−
u
⃗
j
′
T
⋅
u
⃗
i
)
]
(
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)
logσ(uj′T⋅ui)+i=1∑KEvn∼Pn(v)[logσ(−uj′T⋅ui)](7)
其中
σ
(
x
)
=
1
1
+
e
x
p
(
−
x
)
\sigma(x)=\frac{1}{1+exp(-x)}
σ(x)=1+exp(−x)1是sigmoid函数。第一项建模观察到的边缘,第二项建模从噪声分布得出的负边缘,而
K
K
K为负边缘的数量。我们按照[13]中的建议设置
P
n
(
v
)
∝
d
v
3
/
4
P_n(v)\varpropto d_v^{3 / 4}
Pn(v)∝dv3/4,其中
d
v
d_v
dv是顶点
v
v
v的出度。
对于目标函数(3),存在一个平凡解:
u
i
k
=
∞
u_{ik} =\infty
uik=∞,对于
i
=
1
,
.
.
.
,
∣
V
∣
i = 1,...,| V |
i=1,...,∣V∣ 并且
k
=
1
,
.
.
.
,
d
k = 1,...,d
k=1,...,d。 为了平凡解,我们仍然可以通过将
u
⃗
j
′
T
\vec{u}^{\prime T}_j
uj′T更改为
u
⃗
j
T
\vec{u}^{T}_j
ujT来利用负采样方法(7)。
我们采用异步随机梯度算法(ASGD)[17]来优化方程(7)。 在每个步骤中,ASGD算法都会对边缘的微型批次进行采样,然后更新模型参数。 如果对边缘
(
i
,
j
)
(i,j)
(i,j)进行采样,则对顶点
i
i
i的嵌入向量
u
i
u_i
ui梯度将计算为:
∂
O
2
∂
u
⃗
i
=
w
i
j
∂
l
o
g
p
2
(
v
j
∣
v
i
)
∂
u
⃗
i
(
8
)
\frac{\partial O_2}{\partial \vec{u}_i}=w_{ij}\frac{\partial\ log\ p_2 (v_j|v_i)}{\partial\vec{u}_i}\hspace{1cm}(8)
∂ui∂O2=wij∂ui∂ log p2(vj∣vi)(8)
注意,梯度将乘以边的权重。当边的权重具有高方差时,这将成为问题。在这样的网络中,梯度的标度是发散的,很难找到一个好的学习率。
4.2.1 Optimization via Edge Sampling
解决上述问题的直觉是,如果所有边缘的权重相等(例如,具有二进制边缘的网络),则选择合适的学习速率将没有问题。 因此,简单的处理是将加权边缘展开为多个二进制边缘,这样可以解决问题,但会大大增加内存。为了解决这个问题,可以从原始边采样并将采样边视为二进制边,并且采样概率与原始边权重成正比。 通过这种边采样处理,总体目标功能保持不变。 问题归结为如何根据边的权重对其进行采样。
令
W
=
(
w
1
,
w
2
,
.
.
.
,
w
∣
E
∣
)
W =(w1,w2,...,w | E |)
W=(w1,w2,...,w∣E∣)表示边权重序列。 可以简单地计算权重之和
w
s
u
m
=
∑
i
=
1
∣
E
∣
w
i
w_{sum} = \sum^ {| E |}_{ i = 1} w_i
wsum=∑i=1∣E∣wi,然后在
[
0
,
w
s
u
m
]
[0,w_{sum}]
[0,wsum]范围内对随机值进行采样,以查看随机值落入哪个间隔
[
∑
j
=
0
i
−
1
w
j
,
∑
j
=
0
i
w
j
]
[\sum^{i-1}_{j=0}w_j, \sum^{i}_{j=0}w_j]
[∑j=0i−1wj,∑j=0iwj]。 这种方法花费
O
(
∣
E
∣
)
O(| E |)
O(∣E∣)的时间来绘制样本,这在边数
∣
E
∣
| E |
∣E∣的情况下非常昂贵。 我们使用别名表方法[9]根据边缘的权重绘制样本,当从相同的离散分布中重复绘制样本时,只需要
O
(
1
)
O(1)
O(1)时间。
从别名表对边进行采样需要花费恒定时间
O
(
1
)
O(1)
O(1),而使用负采样进行优化需要花费
O
(
d
(
K
+
1
)
)
O(d(K + 1))
O(d(K+1))时间,其中
K
K
K是负采样的数量。 因此,总体而言,每个步骤都需要
O
(
d
K
)
O(dK)
O(dK)时间。 实际上,我们发现用于优化的步骤数通常与边数O(|E|)成正比。 因此,LINE的总时间复杂度为
O
(
d
K
∣
E
∣
)
O(dK | E |)
O(dK∣E∣),与边缘数
∣
E
∣
| E |
∣E∣成线性关系,并且不依赖于
∣
V
∣
| V |
∣V∣上的顶点数。 边缘采样处理提高了随机梯度下降的有效性而不会影响效率。
4.3 Discussion
我们讨论LINE模型的几个实际问题。
低度顶点。 一个实际的问题是如何以小度数准确地嵌入顶点。由于此类节点的邻居数量非常少,因此很难准确推断其表示形式,尤其是在很大程度上依赖于“上下文”数量的基于二阶接近度的方法中。对此的直观解决方案正在扩展 通过添加更高阶的邻居(例如邻居的邻居)来创建那些顶点的邻居。 在本文中,我们仅考虑将二阶邻居(即邻居的邻居)添加到每个顶点。 顶点i和它的二阶邻居
j
j
j之间的权重被测量为:
w
i
j
=
∑
k
∈
N
(
i
)
w
i
k
w
k
j
d
k
(
9
)
w_{ij}=\sum_{k\in N(i)}\ w_{ik}\frac{w_{kj}}{d_k}\hspace{1cm}(9)
wij=k∈N(i)∑ wikdkwkj(9)
新的顶点。 另一个实际问题是如何找到新到达的顶点的表示。 对于一个新的顶点
i
i
i,如果已知它与现有顶点的连接,我们可以在现有顶点上获得经验分布
p
^
1
(
⋅
,
v
i
)
\hat{p}_1(·,v_i)
p^1(⋅,vi)和
p
^
2
(
⋅
∣
v
i
)
\hat{p}_2(·| v_i)
p^2(⋅∣vi)。 根据目标函数(3)和(6),一种直接的方法是最小化以下目标函数之一:
−
∑
j
∈
N
(
i
)
w
j
i
l
o
g
p
1
(
v
j
,
v
i
)
o
r
−
∑
j
∈
N
(
i
)
w
j
i
l
o
g
p
2
(
v
j
∣
v
i
)
(
10
)
-\sum_{j\in N(i)}w_{ji}\ log\ p_1(v_j,v_i)\hspace{0.3cm} or \hspace{0.3cm} - \sum_{j\in N(i)}w_{ji}\ log\ p_2(v_j|v_i)\hspace{0.3cm}(10)
−j∈N(i)∑wji log p1(vj,vi)or−j∈N(i)∑wji log p2(vj∣vi)(10)
5. EXPERIMENTS
我们根据经验评估了LINE的有效性和效率。 我们将该方法应用于几种不同类型的大型现实网络,包括语言网络,两个社交网络和两个引用网络。
5.1 Experiment Setup
Data Sets
- (1)语言网络。我们从整个英语维基百科页面集构建了一个词共现网络。每个5字滑动窗口中的字被视为彼此同时出现。频率小于5的单词将被滤除。
- (2)社会网络。我们使用两个社交网络:Flickr和Youtube2。 Flickr网络比Youtube网络(与DeepWalk [16]中使用的网络相同)更密集。
- (3)引文网络。使用两种类型的引文网络:作者引文网络和论文引文网络。我们使用DBLP数据集[19]构建作者之间和论文之间的引文网络。作者引用网络记录了一位作者撰写并被另一位作者引用的论文数量。这些网络的详细统计信息汇总在表1中。它们表示各种信息网络:有向和无向,二进制和加权的。每个网络至少包含一百万个节点和数百万个边缘,最大的网络包含约200万个节点和十亿个边缘。
Compared Algorithms
我们将LINE模型与几种可以扩展到非常大型网络的现有图形嵌入方法进行了比较。 我们无法与MDS,IsoMap和Laplacian特征图等经典图形嵌入算法进行比较,因为它们无法处理这种规模的网络。
- Graph factorization图分解(GF)[1]。 我们将其与图分解的矩阵分解技术进行比较。 信息网络可以表示为亲和度矩阵,并且可以通过矩阵分解将其表示为具有低维向量的每个顶点。 图形分解通过随机梯度下降进行了优化,并且能够处理大型网络。 它仅适用于无向网络。
- DeepWalk [16]。 DeepWalk是最近提出的一种用于社交网络嵌入的方法,该方法仅适用于具有二进制边缘的网络。 对于每个顶点,使用从顶点开始的截断的随机游走来获取上下文信息,因此仅利用了二阶接近度。
- LINE-SGD。 这是第4.1节中介绍的LINE模型,该模型直接利用随机梯度下降来优化目标方程(3)或方程(6)。 通过这种方法,当对边缘进行采样以进行模型更新时,将边缘的权重直接乘以梯度。 此方法有两种变体:LINE-SGD(1st)和LINE-SGD(2nd),它们分别使用一阶和二阶接近度。
- LINE. 这是通过第4.2节中介绍的边缘采样处理而优化的LINE模型。 在每个随机梯度步骤中,以与边缘权重成正比的概率对边缘进行采样,然后将其视为二进制以进行模型更新。 还有两个变体:LINE(1st)和LINE(2nd)。 与图分解一样,LINE(1st)和LINE-SGD(1st)仅适用于无向图。 LINE(2nd)和LINE SGD(2nd)适用于无向图和有向图。
- LINE(1st + 2nd):要同时利用一阶和二阶接近度,一种简单有效的方法是将LINE(1st)和LINE(2nd)所学习的向量表示连接成一个更长的向量。 连接后,应重新对维度进行加权以平衡两种表示形式。 在监督学习任务中,可以基于训练数据自动找到维度的权重。 但是,在无人监督的任务中,设置权重更加困难。 因此,我们仅将LINE(1st + 2nd)应用于受监管任务的情况。
Parameter Settings
5.2 Quantitative Results
5.2.1 Language Network
- Word Analogy
Mikolov等人介绍了此任务。 [12]。给定一个单词对(a,b)和一个单词c,该任务旨在查找单词d,以使c和d之间的关系类似于a和b之间的关系,或表示为:a:b→c :?。我们可以看到LINE(2nd)胜过其他所有方法,包括图嵌入方法和Skip Gram。
评估单词嵌入质量的另一种方法是使用单词向量来计算文档表示,可以使用文档分类任务对其进行评估。
- Document Classification
我们下载Wikipedia页面的摘要。我们选择7种不同的类别进行分类,包括“艺术”,“历史”,“人类”,“数学”,“自然”,“技术”和“体育”。每个类别,我们随机选择10,000篇文章,并丢弃属于多个类别的文章。我们随机抽取不同比例的标签文档进行培训,其余的用于评估。所有文档向量都使用LibLinear包4来训练单对数逻辑回归分类器。我们报告了分类指标Micro-F1和Macro-F1 [11]。通过采样不同的训练数据,对10个不同的运行结果进行平均。
表3报告了Wikipedia页面分类的结果。LINE(1st + 2nd)方法的性能明显优于所有其他方法。这表明一阶和二阶接近度是互补的。
表4使用一阶和二阶接近度将最相似的词与给定词进行比较。我们可以看到,通过使用上下文接近度,二阶接近度返回的最相似的词都是与语义相关的词。一阶接近度返回的最相似词是语法和语义相关词的混合体。
5.2.2 Social Network
与语言网络相比,社交网络更为稀疏,尤其是Youtube网络。 我们通过一个多标签分类任务评估顶点嵌入,该任务将每个节点分配到一个或多个社区。 随机抽取不同百分比的顶点进行训练,其余的则用于评估。 在10个不同的运行中将结果取平均值。
- Flickr Network.
让我们首先看一下Flickr网络上的结果。我们选择最受欢迎的5个社区作为用于多标签分类的顶点类别。表5报告了结果。同样,LINE(1st + 2nd)明显优于其他所有方法。 LINE(1st)稍好于LINE(2nd),这与语言网络的结果相反。原因有两个方面:(1)在社交网络中,一阶接近度仍然比二阶接近度更重要,这表明紧密的联系; (2)当网络太稀疏且节点的邻居平均数太少时,二阶接近度可能变得不准确。
- Youtube Network.
表6报告了在Youtube网络上的结果,该结果非常稀疏,平均程度低至5。在大多数情况下,使用不同百分比的训练数据,LINE(1st)优于LINE(2nd),与 Flickr网络。通过将LINE学习到的表示与一阶和二阶邻近度相结合,LINE的性能优于128或256维的DeepWalk,这表明这两个邻近度是互补的并且能够解决 网络稀疏性问题。这意味着原始网络上的一阶和二阶接近度组合已经捕获了大多数信息,并且LINE(1st + 2nd)方法是一种非常有效的网络嵌入方法,适用于密集和稀疏网络。
5.2.3 Citation Network
我们在两个引文网络上展示了结果,这两个都是定向网络。 使用一阶接近度的GF和LINE方法均不适用于定向网络,因此,我们仅比较DeepWalk和LINE(2nd)。
- DBLP(AuthorCitation) Network.
表7报告了DBLP(AuthorCitation)网络上的结果。 由于该网络也非常稀疏,因此DeepWalk的性能优于LINE(2nd)。 但是,通过为小角度(小于500)的顶点递归添加邻居的邻居来重建网络,LINE(2nd)的性能将显着提高,并且性能优于DeepWalk。 通过随机梯度下降直接优化的LINE模型LINE(2nd)效果不理想。
- DBLP(PaperCitation) Network.
表8报告了DBLP(PaperCitation)网络上的结果。 LINE(2nd)的性能明显优于DeepWalk。 这是因为论文引用网络上的随机游走只能沿引用路径到达论文(即较旧的论文),而不能到达其他参考文献。 取而代之的是,LINE(2nd)代表每篇论文及其参考文献,这显然更合理。 通过以较小的度数(小于200)丰富相邻的顶点来重建网络时,可以进一步提高LINE(2nd)的性能。
5.3 Network Layouts
网络嵌入的一个重要应用是创建有意义的可视化效果,以在二维空间上布局网络。我们可视化从DBLP数据中提取的合作者网络。我们从三个不同的研究领域中选择了一些会议:WWW,“数据挖掘”中的KDD,NIPS,“机器学习”中的ICML,以及“计算机视觉”中的CVPR,ICCV。这些会议。程度小于3的作者被过滤掉,最后该网络包含18,561位作者和207,074条边。布局此合著者网络非常具有挑战性,因为三个研究领域非常接近。我们首先使用不同的嵌入方法将合作者网络映射到一个低维空间,然后使用t-SNE软件包将顶点的低维向量映射到一个二维空间[21]。图2比较了不同嵌入方法的可视化结果。使用图分解的可视化不是很有意义,因为属于同一社区的作者没有聚集在一起。 DeepWalk的结果要好得多。但是,许多属于不同社区的作者都紧密地聚集在中心区域,其中大多数是高度顶点。这是因为DeepWalk使用基于随机游动的方法来丰富顶点的邻居,由于随机性,尤其是对于度数较高的顶点,这会带来很多噪声。 LINE(2nd)的性能很好,并且生成了有意义的网络布局(具有相同颜色的节点分布得更近)。
5.4 Performance w.r.t. Network Sparsity
我们分析上述模型对网络的稀疏性上的性能。我们从原始网络中随机选择不同百分比的链接,以构建具有不同稀疏度的网络。我们可以看到,一开始网络非常稀疏时,LINE(1st)的性能就超过了LINE(2nd)。随着我们逐渐增加链接的百分比,LINE(2nd)开始胜过LINE(1st)。这表明当网络非常稀疏时,二阶邻近度会受到影响,而当节点附近有足够的节点时,二阶邻近度会超过一阶邻近度。图3(b)显示了w.r.t. 原始和重建的YouTube网络上的顶点度。 我们根据顶点的程度将其分为不同的组,包括(0,1],[2,3],[4,6],[7,12],[13,30],[31,+∞)和 然后评估不同组中顶点的效果。 总体而言,当顶点的度数增加时,不同模型的性能会提高。 在原始网络中,除了第一个组外,LINE(2nd)的性能优于LINE(1st),这表明第二阶接近度不适用于度数较低的节点。
5.5 Parameter Sensitivity
我们调查性能 参数维数d和不同模型的收敛性能。图4(a)报告了LINE模型对尺寸d的表现。 我们可以看到,尺寸过大时,LINE(1st)或LINE(2nd)的性能会下降。 图4(b)显示了LINE和DeepWalk 对优化过程中的样本数的表现。 LINE(2nd)始终超越LINE(1st)和DeepWalk,并且LINE(1st)和LINE(2nd)的融合速度都比DeepWalk快得多。
5.6 Scalability
图5(a)显示了在 Youtube数据集上的线程数。 加速非常接近线性。 图5(b)显示,当使用多个线程进行模型更新时,分类性能保持稳定。 这两个图一起表明LINE模型的推理算法具有相当的可扩展性。
6. CONCLUSION
本文提出了一种称为“ LINE”的新型网络嵌入模型,该模型可以轻松扩展到具有数百万个顶点和数十亿条边的网络。 它具有精心设计的目标函数,可以保留彼此互补的一阶和二阶邻近度。 提出了一种有效且高效的边缘采样方法进行模型推断,解决了加权梯度边缘随机梯度下降的局限性,且不影响效率。 在各种现实世界网络上的实验结果证明了LINE的效率和有效性。 将来,我们计划研究网络中一阶和二阶邻近度以外的高阶邻近度。 此外,我们还计划研究异构信息网络的嵌入,例如多种类型的顶点。