node2vec核心思想

[kdd2016] node2vec: Scalable Feature Learning for Networks

node2vec的核心在于得到从每一个节点 u u u出发,定长 l l l的随机游走序列集合,进而得到每个节点的“新邻居”,然后用word2vec的思想来学习更新每一个节点的表示向量。
在这里插入图片描述
目标: \textbf{目标:} 目标:假定一个随机游走序列 → t → v → \rightarrow t\rightarrow v\rightarrow tv 刚从 t t t v v v,如何找到 v v v的下一步?

对于节点 v v v来说,它下一步的概率是基于它的前一个节点 t t t和它的下一步节点 x x x的关系决定的。其中, x x x也可能是 t t t,因为对于无向图来说, t t t也是 v v v的邻居。
定义 d t x d_{tx} dtx,表示 v v v的前一个节点 t t t和下一个节点 x x x之间的最短路径长度, d t x = { 0 , 1 , 2 } d_{tx}=\{0,1,2\} dtx={0,1,2},即所谓的二阶。如图,

  • v v v的下一步就是 t t t,即 d t x = 0 d_{tx}=0 dtx=0 v → x v\rightarrow x vx的搜索偏差(search biases) α = 1 / p \alpha=1/p α=1/p
  • v v v的下一步 x x x也是 t t t的邻居,即 d t x = 1 d_{tx}=1 dtx=1 v → x v\rightarrow x vx的搜索偏差 α = 1 \alpha=1 α=1
  • v v v的下一步 x x x不是 t t t的邻居,即 d t x = 2 d_{tx}=2 dtx=2 v → x v\rightarrow x vx的搜索偏差 α = 1 / q \alpha=1/q α=1/q

其中, q q q为前进参数(In-Out parameter),若 q &gt; 1 q&gt;1 q>1, 则到达 v v v之后的下一步会更接近 t t t(BFS);反之会远离 t t t (DFS)。 p p p为回溯参数(return parameter),决定有多大的概率会回到上一个节点,若 p &gt; m a x ⁡ ( q , 1 ) p&gt;max⁡(q,1) p>max(q,1),则会使游走尽可能不回溯;若 p &lt; m i n ⁡ ( q , 1 ) p&lt;min⁡(q,1) p<min(q,1),则使整个游走最终接近链路的起始节点。

这样就算出了该游走从 t t t到达 v v v之后,下一步要到达节点 x x x的搜索偏差 α \alpha α。若每条路径对应的有初始权重 w v x w_{vx} wvx(没有则默认为1),则对前面得到的每条路径的搜索偏差 α \alpha α乘上对应的权重,即 v → x v\rightarrow x vx的概率为 π v x = α w v x \pi_{vx}=\alpha w_{vx} πvx=αwvx。接着对节点 v v v到达的所有的下一个节点的路径概率 π v . \pi_{v.} πv.归一化,然后采用Alias采样可以得到下一步到达的节点 x x x。(其中,Alias采样只是让采样更快 O ( 1 ) O(1) O(1),不会对结果造成影响)
node2vec伪码

  • 7
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值