【读论文】node2vec: Scalable Feature Learning for Networks

来源:互联网 发布:linux shell 等待 编辑:程序博客网 时间:2024/04/30 05:52

开学第一次组会要将的一篇文章,作为这两年比较出名的network embedding方法,node2vec在去年提出来的时候也是非常有名的,不过之前一直没来得及看,刚好接着讲组会的机会来看一下。

算法方面

看完的整体感受上,这篇文章的主要思路和Deepwalk很接近的,但是是对Deepwalk的一种改进,即其提出了一个有监督的random walk方法,每次节点往下走到不同节点的概率不一样了。然后这种方法可以有效的综合BFS和DFS。用随机游走的话,时间和空间复杂度都有着非常不错的效果。
作者在写法上,是倒着来的,即先叙述了一下BFS和DFS的优缺点,即BFS能够探究图中的结构性质,而DFS则能够探究出内容上的相似性(相邻节点之间的相似性)。其中结构相似性不一定要相连接,甚至可能相距很远。
而除了以上选取context数据集的部分,比较新颖之外,剩下的监督过程也就是用的word2vec那一套东西。
作者对比自己的算法和之前的Deepwalk和LINE算法,认为:

  • Deepwalk算法,相当于作者算法的一种特例,就是最平凡情况下的让其随机游走。
  • LINE算法本质上相当于一个限制的BFS,只不过它只找一度和二度的节点。不能够去探寻到更远的节点。

实验部分

作者首先用了一个case study来论述自己的BFS和DFS能够分别学习出network communities和network communities。作者用的例子是《悲惨世界》中的人物关系图作为例子。感觉这个例子还是非常能够吸引人,而且可视化效果做的也非常不错呢。
实验部分做的非常的完整,不仅有传统的任务效果评估,而且还有参数敏感度,复杂度,扰动分析。

0 0