LINE 出自论LINE: Large-scale Information Network Embedding,与 DeepWalk 相比,比较明显的区别在于:
- DeepWalk 使用的深度优先搜索策略,而 LINE 使用了广度优先搜索策略。
- DeepWalk 仅适用于无权图,而LINE模型适用于带权图与无权图。
下图展示了一个简单的图,图中的边既可以是有向的,也可以是无向的,并且边的粗细程度也代表了权重的大小:
一阶相似度
作者认为可以用一阶相似度描述图中成对顶点之间的局部相似度,连接两个节点的边权重越大,则一阶相似度越高。若两个节点之间不存在边,则认为一阶相似度为 0。例如图中的节点6、7在低维空间中应该是比较靠近的,因为连接二者的边具有很大的权重,而5、6之间则的一阶相似度则为0。
为了能够通过节点的低维向量表示一阶相似度,我们还需要定义一个优化目标。假设用 u i , u j u_i, u_j ui,uj 作为节点的低维向量表示(Embedding向量),那么一阶相似度的计算就转换为学习一种函数映射 f ( u i , u j ) f(u_i,u_j) f(ui,uj),使得其映射结果可以表示边的权重。对于每一条无向边 ( i , j ) (i, j) (i,j),定义顶点 v i , v j v_i, v_j vi,vj 的联合概率密度为:
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(-u_i^T \cdot u_j)} p1(vi,vj)=1+exp(−uiT⋅uj)1
如果两个向量相似,则内积的结果也相对比较大,将内积结果作为 sigmoid 函数的输入,最终得到两个节点的联合概率分布 p 1 ( v i , v j ) p_1(v_i,v_j) p1(vi,vj)。
在得到联合概率分布之后,还需要一个“参照物”来指导它的学习,论文中将两个节点之间边的权重占比视为经验分别,并将它作为学习目标:
p ^ 1 ( i , j ) = w i j W W = ∑ ( i , j ) ∈ E w i j \hat p_1(i,j) = \frac{w_{ij}}{W} \\ W = \sum_{(i,j) \in E} w_{ij} p^1(i,j)=WwijW=(i,j)∈E∑wij
于是最终的优化目标是使得联合概率分布尽量接近经验分布,而K-L散度可以表示数据原始分布p和近似分布q之间的对数差值的期望,因此只要优化 p 1 ( v i , v j ) p_1(v_i, v_j) p1(vi,vj) 与 p ^ 1 \hat p_1 p^1 的K-L散度(忽略常数项),就能使二者的分布尽可能相似:
O 1 = − ∑ ( i , j ) ∈ E w i j l o g ( p 1 ( v i , v j ) ) O_1 = -\sum_{(i,j)\in E}w_{ij}log\big(p_1(v_i, v_j)\big) O1=−(i,j)∈E∑wijlog(p1(vi</