DeepWalk原理理解:DeepWalk: online learning of social representations

文献:DeepWalk: online learning of social representations

对比阅读了几篇关于网络表示学习的文献,其中一篇包括DeepWalk的提出,下面将自己对于论文的理解和论文的笔记组织好记录下来。


deep walk 的提出是针对网络表示学习的稀疏性提出来的,网络表示学习的稀疏性问题对于统计学习任务有一定难度。

deep walk 学习的是图中顶点的社会特征(the social representation of graph's vertices),它对随机游走进行了改进:一种缩短了的流式随机游走的方法( a stream of short random walk).

下图引自论文中:

DeepWalk原理理解:DeepWalk: online learning of social representations_第1张图片


利用流式的短的随机游,提出了一个通用的语言模型探究图结构

 根据随机游走中包含的顶点来估计下一个顶点出现的概率:

 

需要一个映射函数:

这个映射函数表示了顶点之间隐藏的社会特征(social representation),其中这个映射函数是一个|V| x d的矩阵

由此一来,eq.1式转化为:

关于随机游走值得关注的问题:随机游走的长度会越来越大(walk length grows),这样以来我们在计算eq.1或者eq. 2式条件概率的时候会出现困难。

针对上面这个问题对随机游走进行了改进:

  • 通过单词来预测上下文而不是通过上下文来预测单词
  • 上下文的组成有单词左右两边的信息组成
  • 去掉顺序的约束

 

对随机游走进行了改进后,eq.2 的问题转化


deep walk 的算法描述

deep walk包括两个部分,一个是随机游走生成器,一个是更新程序

DeepWalk原理理解:DeepWalk: online learning of social representations_第2张图片

 

DeepWalk原理理解:DeepWalk: online learning of social representations_第3张图片


在本文中涉及到的一个streaming 方法,是为了在不知道整个图的情况下,也可以采用本算法。

streaming approach could 被implemented without knowledge of the entire graph.


源码的学习

 

默认生成.adjlist的文件

DeepWalk原理理解:DeepWalk: online learning of social representations_第4张图片

生成.mat的文件

DeepWalk原理理解:DeepWalk: online learning of social representations_第5张图片 

 

评估

 

你可能感兴趣的:(网络表示学习)