论文笔记(10): Node2Vec-Scalable Feature Learning for Networks

Node2Vec是一种2016年的图嵌入方法,是对DeepWalk的改进,提高了训练速度并开放源码。它通过参数化的随机游走策略结合深度优先和广度优先搜索,同时考虑网络结构和内容相似性。通过调整参数p和q,可以在DFS和BFS之间取得平衡,以适应不同应用场景。实验表明,Node2Vec在大规模图的相似性度量上表现良好,但训练时间较长。
摘要由CSDN通过智能技术生成

论文笔记:Node2Vec-Scalable Feature Learning for Networks

一、简介

node2vec是2016年提出的Graph Embedding表示方式,其训练速度快,并开放了源码,而且表示效果还不错,所以挺火。本质上来说,node2vec其实是基于DeepWalk的改进,所以要想了解node2vec,就需要先了解DeepWalk。这里对DeepWalk仅做简要介绍,详细内容还需要阅读原论文DeepWalk

二、DeepWalk

2.1 DeepWalk简介

Input and Output

​ 输入的是一个网络,其中颜色相同的结点表示拓扑关系上更为相近的结点。输出的是每个节点的二维向量,每个节点对应的向量关系如图所示。我们可以从这个图看出,越是网络结构相近的点,其对应的二维向量在二维空间上距离与近。

​ 这其实是一个降维的过程,但不是传统意义上的降维,而是将图结构(一个复杂的结构)降到易于表示的低维度。具体来说,就是将网络中的拓扑结构表示成一个低维向量,这个向量可以反应结点间的连接情况。

2.1 那么,如何得到向量表示呢?

DeepWalk是这么做的:

  • 针对网络中的每一个结点进行遍历,然后做随机游走算法,游走过程中得到了一系列有序结点。将这个节点序列类比于传统文本处理中的文章中的句子,而序列中的结点则可以类比句子中的单词。
  • 有了上面的类比,我们便可以借助文本处理中的word embedding思想,对其进行训练,得到对应的向量。

不难看出,上面的过程简单来说,可以分为两步:第一步随机游走得到节点序列,第二步SkipGram得到向量表示。注意,这里的随机游走其实是类似深度优先遍历的过程。

2.2 DeepWalk的缺点

理解了DeepWalk的原理之后,我们不难想出它的缺点。

  • 从随机游走来说,DeepWalk是简单的深度优先搜索的过程,深度优先往往增加了复杂度,而且没有考虑广度优先带来的周围邻居结构的影响,这里可以进行改进
  • 原文章中没有提出一个明确的优化目标函数,成为其他学者认为不严谨的地方
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值