LINE理论
1)介绍
LINE也是一种基于邻域相似假设的方法,只不过与DeepWalk使用DFS构造邻域不同的是,LINE可以看作是一种使用BFS构造邻域的算法。此外,LINE还可以应用在带权图中(DeepWalk仅能用于无权图)。
LINE在图上定义了两种相似度:一阶相似度与二阶相似度。
一阶相似度:用于描述图中成对顶点之间的局部相似度。形式化描述为若 u , v \bf u,v u,v之间存在直连边,则边权 w u v w_{\bf uv} wuv即为两个顶点的相似度;若不存在直连边,则一阶相似度为0。如上图中的6、7两个结点就拥有很高的一阶相似度。
二阶相似度:所比较的是两个结点邻居的相似程度。若 u , v \bf u,v u,v之间拥有相同的邻居,他们也更加的相似;若不存在相同的邻居顶点,则2阶相似度为0。例如下图中的5、6两点拥有很高的二阶相似度。用一句俗话来概括就是“我朋友的朋友也可能是我的朋友”
2)优化目标
一阶相似度
一阶相似度只能用于无向图当中。
对于每一条无向边
(
i
,
j
)
(i,j)
(i,j),定义经验分布(两个结点实际的一阶相似度):
p
1
^
(
v
i
,
v
j
)
=
w
i
j
W
,
W
=
∑
(
i
,
j
)
∈
E
w
i
j
\hat{p_1}(v_i,v_j)=\frac{w_{ij}}{W},W=\sum_{(i,j)\in E} w_{ij}
p1^(vi,vj)=Wwij,W=(i,j)∈E∑wij
定义顶点
v
i
v_i
vi和
v
j
v_j
vj之间的联合概率(两个结点embedding之间的相似度):
p
1
(
v
i
,
v
j
)
=
1
1
+
e
x
p
(
−
u
→
i
T
⋅
u
→
j
)
p_1(v_i,v_j)=\frac{1}{1+exp(-\overrightarrow{u}^T_i \cdot \overrightarrow{u}_j)}
p1(vi,vj)=1+exp(−uiT⋅uj)1
优化目标为最小化:
O
1
=
d
(
p
^
1
(
⋅
,
⋅
)
,
p
1
(
⋅
,
⋅
)
)
O_1=d(\hat{p}_1(\cdot,\cdot),p_1(\cdot,\cdot))
O1=d(p^1(⋅,⋅),p1(⋅,⋅))
d
(
⋅
,
⋅
)
d(\cdot,\cdot)
d(⋅,⋅)是两个分布的距离,常用的衡量两个概率分布差异的指标为KL散度:
D
K
L
(
p
^
1
∣
∣
p
1
)
=
∑
(
i
,
j
)
∈
E
p
^
1
(
v
i
,
v
j
)
log
(
p
^
1
(
v
i
,
v
j
)
p
1
(
v
i
,
v
j
)
)
=
⋯
=
∑
(
i
,
j
)
∈
E
p
^
1
(
v
i
,
v
j
)
log
p
^
1
(
v
i
,
v
j
)
−
∑
(
i
,
j
)
∈
E
p
^
1
(
v
i
,
v
j
)
log
p
1
(
v
i
,
v
j
)
\begin{aligned} D_{KL}(\hat{p}_1||p_1)&= \sum_{(i,j)\in E}\hat{p}_1(v_i,v_j) \log(\frac{\hat{p}_1(v_i,v_j)}{p_1(v_i,v_j)})\\ &=\cdots \\ &=\sum_{(i,j)\in E}\hat{p}_1(v_i,v_j)\log{\hat{p}_1(v_i,v_j)}-\sum_{(i,j)\in E}\hat{p}_1(v_i,v_j)\log{p_1(v_i,v_j)} \end{aligned}
DKL(p^1∣∣p1)=(i,j)∈E∑p^1(vi,vj)log(p1(vi,vj)p^1(vi,vj))=⋯=(i,j)∈E∑p^1(vi,vj)logp^1(vi,vj)−(i,j)∈E∑p^1(vi,vj)logp1(vi,vj)
∑
(
i
,
j
)
∈
E
p
^
1
(
v
i
,
v
j
)
log
p
^
1
(
v
i
,
v
j
)
\sum_{(i,j)\in E}\hat{p}_1(v_i,v_j)\log{\hat{p}_1(v_i,v_j)}
∑(i,j)∈Ep^1(vi,vj)logp^1(vi,vj)已知,为常数项,求最小值时可忽视,有:
O
1
=
−
∑
(
i
,
j
)
∈
E
w
i
j
log
p
1
(
⋅
,
⋅
)
O_1=-\sum_{(i,j)\in E}w_{ij}\log{p_1(\cdot,\cdot)}
O1=−(i,j)∈E∑wijlogp1(⋅,⋅)
二阶相似度
这里对于每个顶点 i i i维护两个embedding向量,一个是该顶点本身的表示向量 u → i \overrightarrow{u}_i ui,一个是该点作为其他顶点的上下文顶点时的表示向量 u → i ′ \overrightarrow{u}^\prime_i ui′。
对于有向边
(
i
,
j
)
(i,j)
(i,j),定义给定顶点
v
i
v_i
vi条件下,经验分布定义(两个结点实际的二阶相似度):
p
2
^
(
v
j
∣
v
i
)
=
w
i
j
d
i
\hat{p_2}(v_j|v_i)=\frac{w_{ij}}{d_i}
p2^(vj∣vi)=diwij
其中,
w
(
i
j
)
w_(ij)
w(ij)是边
(
i
,
j
)
(i,j)
(i,j)的边权
,
,
,
d
i
d_i
di是顶点
v
i
v_i
vi的出度,对于带权图,
d
i
=
∑
k
∈
N
(
i
)
W
i
k
d_i=\sum_{k\in N(i)} W_{ik}
di=∑k∈N(i)Wik
产生上下文(邻居)顶点
v
j
v_j
vj的概率(两个结点embedding的相似度):
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
)
p_2(v_j|v_i)=\frac{exp(\overrightarrow{u}^{\prime T}_j \cdot \overrightarrow{u}_i)}{\sum^{|V|}_{k=1} exp(\overrightarrow{u}^{\prime T}_k \cdot \overrightarrow{u}_i)}
p2(vj∣vi)=∑k=1∣V∣exp(uk′T⋅ui)exp(uj′T⋅ui)
其中,
∣
V
∣
|V|
∣V∣为上下文顶点的个数。
优化目标为最小化:
O
2
=
∑
i
∈
V
λ
i
d
(
p
^
2
(
⋅
∣
v
i
)
,
p
2
(
⋅
∣
v
i
)
)
O_2=\sum_{i\in V}\lambda_i d(\hat{p}_2(\cdot|v_i),p_2(\cdot|v_i))
O2=i∈V∑λid(p^2(⋅∣vi),p2(⋅∣vi))
其中,
λ
i
\lambda_i
λi为控制节点重要性的因子,可以通过顶点的度数或者PageRank等方法估计得到。
使用KL散度并设
λ
i
=
d
i
\lambda_i=d_i
λi=di,忽略常数项,有:
O
2
=
−
∑
(
i
,
j
)
∈
E
w
i
j
log
p
1
(
v
j
∣
v
i
)
O_2=-\sum_{(i,j)\in E}w_{ij}\log{p_1(v_j|v_i)}
O2=−(i,j)∈E∑wijlogp1(vj∣vi)
最终要获得同时包含有一阶相似度和二阶相似度的embedding,只需要将通过一阶相似度获得的embedding与通过二阶相似度获得的embedding拼接即可。
Graph Embedding——(1)DeepWalk理论
Graph Embedding——(3)Node2vec理论
Graph Embedding——(4)Struc2vec理论
Graph Embedding——(5)SDNE理论
Graph Embedding常见类型的理论详解