【Graph Embedding】Node2Vec:一种有偏的随机游走

1. Introduction

我们今天看的论文是斯坦福大学的同学 2016 年发表于的 ACM 的论文——《node2vec: Scalable Feature Learning for Networks》,到目前为止已经被引用 2600 多次。

在这篇论文中作者提出了一个半监督学习算法——Node2Vec,采用了有偏的随机游走算法并结合 Skip-gram 算法学习 Network Embedding,Node2Vec 可以通过参数设置来控制搜索策略,从而有效的平衡了 Embedding 的同质性和结构有效性。

接下来我们来看一下 Node2Vec 的具体实现。

2. Node2Vec

首先引入用于学习节点 Embedding 的 Skip-gram 算法,并给出目标函数为:
m a x    ∑ u ∈ V l o g   P r ( N S ( u ) ∣ f ( u ) ) max \; \sum_{u \in V} log \ Pr(N_S(u) | f(u)) \\ maxuVlog Pr(NS(u)f(u))
其中,u 为节点, N s ( u ) N_s(u) Ns(u) 为节点 u 通过采样策略 S 得到的邻居, f ( u ) f(u) f(u) 是一个映射矩阵,相当于 Work2Vec 中的输入向量。

为简便起见,我们给出两个假设:

  • 条件独立性假设:假设观察一个节点的领域与观察其他节点的领域相互独立,所以我们有:
    P r ( N S ( u ) ∣ f ( u ) ) = ∏ n i ∈ N S ( u ) P r ( n i ∣ f ( u ) ) Pr(N_S(u) | f(u)) = \prod_{n_i \in N_S(u)} Pr(n_i | f(u)) \\ Pr(NS(u)f(u))=niNS(u)Pr(nif(u))

  • 特征空间对称型假设:在特征空间中,源节点与邻节点相互对称。所以我们有:
    p r ( n i ∣ f ( u ) ) = e x p ( f ( n i ) ⋅ f ( u ) ) ∑ v ∈ V e x p ( f ( v ) ⋅ f ( u ) ) pr(n_i | f(u)) = \frac{exp(f(n_i) \cdot f(u))}{\sum_{v\in V} exp(f(v) \cdot f(u)) } \\

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值