[论文阅读笔记] node2vec:Scalable Feature Learning for Networks


本文结构

  1. 解决问题
  2. 主要贡献
  3. 算法原理
  4. 参考文献

(1) 解决问题

由于DeepWalk的随机游走是完全无指导的随机采样,即随机游走不可控。本文从该问题出发,设计了一种有偏向的随机游走策略,使得随机游走可以在DFS和BFS两种极端搜索方式中取得平衡。


(2) 主要贡献

Contribution: 本篇论文主要的创新点在于改进了随机游走的策略,定义了两个参数p和q,使得随机游走在BFS和DFS两种极端中达到一个平衡,同时考虑到局部和宏观的信息。


(3) 算法原理

node2vec算法框架主要包含两个部分:首先在图上做有偏向的随机游走,其次将得到的节点序列输入Skip-Gram模型学习节点表示向量嵌入(不再赘述,参考DeepWalk)。

有偏的随机游走策略

其定义了两个参数p(向后参数)和q(向前参数),在广度优先搜索(BFS)和深度优先搜索(DFS)两种极端中达到一个平衡,从而同时考虑到局部和全局的结构信息。给定源点u,利用有偏随机游走生成长度为L的序列,随机游走的转移概率计算公式设计如下:

ci表示序列中的第i个点,c0=u,Z为一个归一化常数。分母πvx为v到x的非归一化的转移概率,如下所示(dtx为上一跳节点t与下一跳考虑跳转节点的距离):

以一个例子来解释,如下图所示:

假设随机游走的上一跳节点是t,当前节点是v,则依据上述转移概率公式的设计下一跳节点怎么选择呢?下一跳节点可能是x1,x2,x3和t。由于x1与上一跳节点距离1跳,因此下一跳到节点x1的非归一化转移概率为1,而x2、x3与上一跳节点距离2跳,因此下一跳到x2和x3的非归一化转移概率均为1/q,此外t与上一跳节点距离0跳,因此下一跳到t的非归一化转移概率为1/p。以上便是Node2vec中设计的权衡BFS和DFS的随机游走策略。

通过以上方式生成同构网络上的随机游走序列之后,采用Skip-Gram模型训练节点向量即可。


(4) 参考文献

Grover A, Leskovec J. node2vec: Scalable feature learning for networks[A]. Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining[C]. 2016: 855–864.


[论文阅读笔记] node2vec Scalable Feature Learning for Networks的更多相关文章

  1. [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks

    [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...

  2. 论文解读(node2vec)《node2vec Scalable Feature Learning for Networks》

    论文题目:<node2vec Scalable Feature Learning for Network>发表时间:  KDD 2016 论文作者:  Aditya Grover;Adit ...

  3. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  4. [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding

    [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...

  5. 论文阅读笔记二十三:Learning to Segment Instances in Videos with Spatial Propagation Network(CVPR2017)

    论文源址:https://arxiv.org/abs/1709.04609 摘要 该文提出了基于深度学习的实例分割框架,主要分为三步,(1)训练一个基于ResNet-101的通用模型,用于分割图像中的 ...

  6. 论文阅读笔记十九:PIXEL DECONVOLUTIONAL NETWORKS(CVPR2017)

    论文源址:https://arxiv.org/abs/1705.06820 tensorflow(github): https://github.com/HongyangGao/PixelDCN 基于 ...

  7. [论文阅读笔记] LouvainNE Hierarchical Louvain Method for High Quality and Scalable Network Embedding

    [论文阅读笔记] LouvainNE: Hierarchical Louvain Method for High Quality and Scalable Network Embedding 本文结构 ...

  8. [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks

    [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...

  9. [置顶] 人工智能(深度学习)加速芯片论文阅读笔记 (已添加ISSCC17,FPGA17...ISCA17...)

    这是一个导读,可以快速找到我记录的关于人工智能(深度学习)加速芯片论文阅读笔记. ISSCC 2017 Session14 Deep Learning Processors: ISSCC 2017关于 ...

随机推荐

  1. PyQt(Python+Qt)学习随笔:树型部件QTreeWidget中的topLevelItem、indexOfTopLevelItem和takeTopLevelItem方法

    老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 获取指定位置顶层项 树型部件QTreeWidget中,通过topLevelItem方法根据位置索引取 ...

  2. 「Elasticsearch」SpringBoot快速集成ES

    Elastic Search 的底层是开源库 Lucene.但是Lucene的使用门槛比较高,必须自己写代码去调用它的接口.而Elastic Search的出现正是为了解决了这个问题,它是 Lucen ...

  3. IKUN python 反序列化

    题目过程1.一开始提示说要买到V6,观察源码,发现/static/img/lv/lv4.png.注册之后尝试寻找V6.观察url发现/shop?page=2.尝试写脚本匹配一下.发现在第181页. i ...

  4. Leetcode学习笔记(4)

    题目1 ID121 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润. 注意你不能在买入股 ...

  5. Linux 服务分类

    一,服务分类 1,服务简介与分类 1,服务的分类 启动与自启动 1,服务启动:就是在当前系统中让服务运行,并提供功能 2,服务自启动:自启动是指让服务在系统开机或重启动之后,随着系统的启动而自动启动的 ...

  6. Robot framework 环境搭建+图标处理

    场景:随着现在项目各种赶工,很多时候界面上的功能还没有实现,这时就可以先对接口进行验证,提早发现一些和预期不一致的错误. Robot framework需要的几个知识点: 测试库:RF是大树,测试库就 ...

  7. Vue项目上线环境部署,项目优化策略,生成打包报告,及上线相关配置

    Node.js简介 Node.js是一个基于Chrome V8引擎的JavaScript运行环境,用来方便快速地搭建易于扩展的网络应用.Node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻量 ...

  8. 移动端和PC端区分

    1.移动端包括:浏览器.ios/android.qq端.微信端 九度数据官网源码.修改,要跳转的链接即可. function browserRedirect() { var sUserAgent = ...

  9. Docker修改默认的网段

    一,问题 docker安装后默认的网段是172.17网段的,和真实环境网段冲突导致本机电脑无法连接docker机器. 二,解决办法 修改docker默认网段 1,先把docker停止 systemct ...

  10. redis位操作

    setbit 设置指定key的偏移量处的值 key:键值 offset:二进制数据的偏移量(注意从左开始为第0位) value:要设置的值(0或1) getbit 获取对应key的offset处的值 ...