GraphEmbedding-LINE

paper: LINE: Large-scale Information Network Embedding

Intro

  • 包含一阶信息(直接相连的两节点的邻近度)和二阶信息(一对顶点的邻近度用临近节点的相似性衡量)的GE学习模型:只用到了一阶邻点
  • DeepWalk/node2vec: 基于高阶相似度的GE学习模型

Methods

  • 边权重矩阵W:损失函数计算时用
  • 节点权重矩阵:节点采样时用

一阶相似度

  • 只针对无向图,不支持有向图
  • 边(u,v)的权重Wuv表示u和v之间的一阶相似性,如果在u和v之间无边,它们的一阶相似性为0。
  • 经验分布,这里W是W矩阵的模
  • 预测分布
  • 目标函数 , d为距离函数,例如当d为KL散度且忽略常数项时(同交叉熵):

二阶相似度

  • 如果没有同样的相邻节点,二阶相似性为0
  • 经验分布 ,di是节点i的带权出度,是边(i,j)的权重,
  • 预测分布
  • 目标函数 ,这里为对节点i的加权,一般取 ,并取KL散度为距离函数时:

结合一阶和二阶

  • method1: 训完一阶训二阶,并将两者embedding concat
  • method2: 一起训

其他损失函数

  • pair loss: 用learn2rank的loss

优化

二阶相似度计算的负采样

  • 对softmax的优化:负采样,为sigmoid函数,利用出度构成的节点权重做采样,与w2v分布一致

边采样

  • O2的梯度与边权重wij有关,若学习率的设定由小权重决定,则遇到大权重时会梯度爆炸;反之则会梯度消失
  • 简单的优化方式:将权重为w的edge变为w条二进制edge —> oom —> edge sampling
  • 采样算法:alias算法,可以达到O(1)复杂度

Problems

  • 新节点的GE(新节点):
    • 新节点和已有节点相连:优化如下目标函数
    • 新节点不和已有节点相连:文中没给 —》利用side info
  • 低度数顶点(孤岛节点):对于一些顶点由于其邻接点非常少会导致embedding向量的学习不充分,论文提到可以利用邻居的邻居构造样本进行学习,这里也暴露出LINE方法仅考虑一阶和二阶相似性,对高阶信息的利用不足。

注意点

  • 边权重矩阵和节点权重矩阵(pagerank/出度/centrality/clustering coefficient/…)的设计
  • 不同的loss: KL/cross-entropy/rankloss/…
  • 采样算法

Pros & Cons

  • 效率高
  • 只用了一跳信息
  • 对孤岛节点和新节点没有好的处理