Node2vec: Scalable Feature Learning for Networks(KDD16)

Node2vec: Scalable Feature Learning for Networks(KDD16)阅读笔记

作者:斯坦福大学 Aditya Grover,Jure Leskovec


研究内容

  • 研究问题:学习网络的特征表示,将节点映射到低维空间,并且最大程度的保留节点的邻居信息。
  • 现有方法的不足:不能获取和表示网络中连接模式的多样性diversity
  • 研究方法:提出node2vec算法框架,定义邻居节点的灵活表示,设计了一种biased随机游走步骤。
  • 效果:能学习更加丰富的表示,在多标签分类和链接预测方面达到了state-of-the-art的水平。

具体实施

node2vec是一个半监督的算法,主要是学习网络中的节点边特征。使用二阶随机游走算法生成节点的网络邻居。

三个阶段:1. 预处理:计算节点间的转移概率 π v x \pi_{vx} πvx; 2. 模拟随机游走; 3. 通过SGD对目标函数进行优化。

搜索策略:对于大规模网络来说,计算一个节点的邻居节点需要耗费很多时间,所以我们可以采用采样的方法来估计它。而不同的搜索策略会导致节点的邻居节点不同。传统的搜索策略包括BFS(广度优先采样),DFS(深度优先采样)。这两种策略对应于我们在对网络中的节点进行embedding时关注的两个假设,分别为:homophily(同质性) and structural equivalence(结构等价性)。

  • 同质性假设:节点高度互联且在同一网络集群和社区的节点的embedding也应该相近。

  • 结构等价性假设:在网络中担任角色类似的节点的embedding也应该相似。
    网络中节点的同质性和结构等价性

如上图,上面的一个图表示的是同质性假设,相同颜色的节点说明在同一社区或者高度互联。下面的一个图表示的是结构等价性假设,相同颜色的节点说明在网络中担任的角色相同。

本文与其他工作的不同之处,在于结合了BFS和DFS,不再固定节点v到x的转移概率,而是通过一个权重来计算,即 π v x = α p q ( t , x ) ∗ w v x \pi_{vx}=\alpha_{pq}(t,x)*w_{vx} πvx=αpq(t,x)wvx
α p q ( t , x ) = { 1 p  if  d t x = 0 1  if  d t x = 1 1 q  if  d t x = 2 \alpha_{pq}(t,x)=\begin{cases} \frac{1}{p} & \text{ if } d_{tx}=0 \\ 1 & \text{ if } d_{tx}=1 \\ \frac{1}{q} & \text{ if } d_{tx}=2 \end{cases} αpq(t,x)=p11q1 if dtx=0 if dtx=1 if dtx=2
其中, d t x d_{tx} dtx表示 t t t x x x之间的最短路径。因为是2阶随机游走,所以 d t x d_{tx} dtx只能是0,1,2三个值。 p p p q q q控制游走的速度。

2阶随机游走中的边权重

  • Return parameter, p: 控制了在遍历过程中立即重新访问节点的可能性。为了避免冗余,应该设置为一个比较高的值。

  • In-out parameter, q: 参数 q q q允许搜索区分向内和向外的节点。如果 q &gt; 1 q&gt;1 q>1,随机游走更偏向于在距离 t t t较近的地方游走,如果 q &lt; 1 q&lt;1 q<1,则偏向于距离 t t t较远的地方游走。

可以看出,通过将 π v , x \pi_{v,x} πv,x设置为关于 t t t的函数,则随机游走是一个2阶马尔科夫过程。

边特征:在进行链接预测(给定两个节点,预测节点间是否存在边)时,其他的工作更关注成对的节点,而本文的工作中,关注的是单个节点,通过一个二元运算符对单个节点的特征向量进行处理。可以获得任意两节点间的表示 g ( u , v ) g(u,v) g(u,v)

项目代码https://github.com/aditya-grover/node2vec

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值