GNN,deep walk 与 LINE

deep walk

简述

word2vec 工作,skip-gram 模式下的优化目标是 P ( { v i − 2 , v i − 1 , v i + 1 , v i + 2 } ∣ v i ) P(\{v_{i-2},v_{i-1},v_{i+1},v_{i+2}\}|v_i) P({ vi2,vi1,vi+1,vi+2}vi),即在自然语言序列中,使用当前词预测周围的邻居,最终学习到每个word的向量表示,可以反映它们各自在语义空间中的位置。

类比于word2vec, deepwalk希望从graph中学习节点的空间表示。
deepwalk 算法包括两部分:

  1. 随机游走,从图中提取序列,对标word2vec中的自然语言序列。
  2. 沿用 word2vec 提出的 skip-gram 算法作学习。

随机游走

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-go1GRFei-1597371150373)(C:/Users/yichu.dyc/Desktop/pro_/deep_walk.jpg)]

从每个结点出发n_walks次,每一步都采取均匀采样的方式选择当前结点的邻接结点作为下一步的结点随机游走。当游走的路径长度达到walk_length后,停止一次游走。这样就生成了一个个游走的序列,每个序列都称为一个walk。每个walk都被当成Word2Vec中的一个句子,而每个结点都是Word2Vec中的一个词。

数据集

评测

LINE

deepwalk有两处不足:

  1. 图中的边通常具有权重,通过游走得到序列的过程已经损失了图中的精密复杂信息。
  2. 当图规模较大时,游走生成的序列将膨胀到难以接受。
    LINE的贡献就是对以上不足的改善:

参考

  1. paper, deep walk
  2. LINE: Large-scale Information Network Embedding

你可能感兴趣的:(概率图模型)