【2015/WWW】LINE:Large-scale Information Network Embedding
论文: LINE: Large-scale Information Network Embedding
源码: https://github.com/tangjianpku/LINE
TL; DR
DeepWalk首先使用DFS随机游走方法在图中进行采样,然后使用word2vec在采样的序列中学习图中顶点的低维向量表示。LINE也是一种基于邻域相似假设的方法,只不过与DeepWalk使用DFS构造邻域不同的是,LINE可以看作是一种使用BFS构造邻域的算法,包含一阶相似度和二阶相似度两种定义。LINE可以应用在有向/无向、无权/加权图中。DeepWalk仅能用于无权无向图中。
Model/Algorithm
节点相似度定义
LINE算法对图中顶点的相似度定义如下:
First-order proximity
一阶相似度用于描述图中成对顶点之间的局部相似度。例如,在社交网络中相互交友的人往往有着相似的兴趣;在万维网上相互链接的页面倾向于谈论类似的话题。形式化描述为若 , 之间存在直连边,则边权 即为两个顶点的相似度,若不存在直连边,则1阶相似度为0。 如上图,顶点6和7之间存在直连边,且边权较大,则认为两者相似且1阶相似度较高,而5和6之间不存在直连边,则两者间1阶相似度为0。
Second-order proximity
由于有些边观察不到等原因,一阶相似度不足以保存网络结构。因此提出共享相似邻居的顶点倾向于彼此相似,即二阶相似度。 例如,在社交网络中,分享相似朋友的人倾向于有相似的兴趣,从而成为朋友; 在词语共现网络中,总是与同一组词语共同出现的词往往具有相似的含义。
优化目标函数定义
First-order proximity Note:一阶相似模型仅能用于无向图中
对于每一条无向边 ,定义顶点 和 之间的联合概率为:
其中为顶点的低维向量表示。(可以视为一个内积模型用来计算两个顶点向量间的相似性)。
同时定义一个经验分布:。
优化目标为最小化两个分布间的距离:
是两个分布的距离,常用的衡量两个概率分布差异的指标为KL散度,使用KL散度并忽略常数项后为
Second-order proximity
对于图中每个顶点维护两个embedding向量,一个是该顶点本身的表示向量,一个是该点作为其他顶点的上下文顶点时的表示向量。
对于有向边 ,定义给定顶点 条件下,产生上下文(邻居)顶点 的概率为
其中 为上下文顶点的个数。
同时定义经验分布为:
其中表示边的边权,为顶点的出度,对于带权图,。
优化目标为最小化两个分布间的距离:
其中 为控制节点重要性的因子,可以通过顶点的度数或者PageRank等方法估计得到。
使用KL散度并设 ,忽略常数项,最终优化函数为
结合一阶相似度和二阶相似度
采用分别训练一阶相似度模型和二阶相似度模型,然后将学习的两个向量表示连接成一个更长的向量。更适合的方法是共同训练一阶相似度和二阶相似度的目标函数,比较复杂,文章中没有实现。
模型优化
负采样 Negative sampling
由于计算二阶相似度时,softmax函数的分母计算需要遍历所有顶点,这是非常低效的,论文采用了负采样优化的技巧,目标函数变为:
其中是负边的数量。论文中使用,其中是顶点的出度。
边采样 Edge sampling
注意到我们的目标函数在log之前还有一个权重系数 ,在使用梯度下降方法优化参数时, 会直接乘在梯度上。如果图中的边权方差很大,则很难选择一个合适的学习率。若使用较大的学习率那么对于较大的边权可能会引起梯度爆炸,较小的学习率对于较小的边权则会导致梯度过小。
对于上述问题,如果所有边权相同,那么选择一个合适的学习率会变得容易。这里采用了将带权边拆分为等权边的一种方法,假如一个权重为 的边,则拆分后为 个权重为1的边。这样可以解决学习率选择的问题,但是由于边数的增长,存储的需求也会增加。
另一种方法则是从原始的带权边中进行采样,每条边被采样的概率正比于原始图中边的权重,这样既解决了学习率的问题,又没有带来过多的存储开销。
这里的采样算法使用的是Alias算法,Alias是一种 时间复杂度的离散事件抽样算法。可以参考另一篇博客关于数学理论。
FAQ
度数很低的顶点如何处理?
这样的节点的邻居数量非常少,所以很难精确地推断它的表示,特别是基于二阶相似度的方法。解决方案是通过添加更高阶的邻居扩展这些顶点的邻居,例如将节点邻居的邻居作为节点的邻居。LINE中只考虑向每个顶点添加二阶邻居,即邻居的邻居。顶点i与其二阶邻居j之间的权重被测量为:
新加入的顶点如何处理?
对于新加入图的顶点 ,若该顶点与图中顶点存在边相连,我们只需要固定模型的其他参数,优化如下两个目标之一即可:
若不存在边相连,则需要利用一些side information。
Experiments
实验中涉及到的数据集如下:
实验结果如下:



结果可视化如下:
Thoughts
本文提出了一种称为“LINE”的新型node embedding模型,它可以很容易地扩展到具有数百万个顶点和数十亿边缘的网络。它精心设计的目标函数保留了一阶和二阶的相似性,这些相似性是互补的。针对模型提出了一种有效的边抽样方法,解决了加权边缘随机梯度下降的局限性,同时又不影响效率。各种实际网络的实验结果证明了LINE的高效性和有效性。
联系作者








