deepwalk 图向量

目录

  • 1 目的和思想
  • 2 模型原理
    • 2.1 random walk
    • 2.2 更新向量中参数
  • 3 deepwalk 相关知识
    • 3.1 Hierarchical softmax(层次 softmax)
  • 4 deepwalk 总结
    • 4.1 random walk 优点

1 目的和思想

deepwalk 模型的目的:将图的顶点表示为向量
deepwalk 的整体思想:通过word2vec中skip-gram思想,利用random walk生成序列,以 dfs 的思想游走
deepwalk 属于无监督模型
模型出自论文: DeepWalk: Online Learning of Social Representations

2 模型原理

模型实现:

  1. random walk 生成序列
  2. 通过 skip-gram 训练顶点向量
  3. 更新向量中参数

2.1 random walk

random walk 和 skip-gram 类似,以某一个顶点随机进行游走,到 w 范围内的顶点,表示中心词和周围词
deepwalk 图向量_第1张图片
随机以某点为初始点随机游走 w 长度,放入 input,依次选取顶点,再利用skip-gram训练词向量
deepwalk 图向量_第2张图片

算法1在第6步进行随机游走,第2步建立 Hierarchical softmax
deepwalk 图向量_第3张图片

2.2 更新向量中参数

算法2的第3步利用 P r ( r a n d o m   w a l k   n o d e   ∣   i n i t i a l   n o d e ) Pr(random\ walk\ node\ |\ initial\ node) Pr(random walk node  initial node) 为了计算梯度方向和大小,然后更新向量矩阵
deepwalk 图向量_第4张图片

3 deepwalk 相关知识

3.1 Hierarchical softmax(层次 softmax)

通过其将维度V变为log2V,采用哈夫曼树的思想将softmax转换成计算log2V个sigmoid

4 deepwalk 总结

deepwalk是根据nlp中的思想来设计的,将顶点用低维的向量来表示(Graph Embedding),DeepWalk 仅能用于无权图

4.1 random walk 优点

  1. 并行化:随机游走是局部的,对于一个大的网络来说,可以同时在不同的顶点开始进行一定长度的随机游走,多个随机游走同时进行,可以减少采样的时间
  2. 适应性:可以适应网络局部的变化。网络的演化通常是局部的顶点和边的变化,所以变化只会对部分随机游走路径产生影响

你可能感兴趣的:(graph,nlp,图嵌入)