node2vec: Scalable Feature Learning for Networks

问题定义

给出一个图 G = ( V , E ) G = (V, E) G=(V,E),令 f : V − > R d f: V -> \Bbb{R}^d f:V>Rd为节点和向量表示(feature representation)间的映射,d为我们向量表示的维度。对图中的每个节点 u ∈ V u \in V uV,定义 N s ( u ) N_s(u) Ns(u)为通过采样策略 S S S得到的节点u的邻居节点。
我们将skip-gram架构扩展到图,尝试去优化以下目标函数:
max ⁡ f ∑ u ∈ V l o g P r ( N s ( u ) ∣ f ( u ) ) \max_f \sum_{u \in V} logPr(N_s(u)|f(u)) fmaxuVlogPr(Ns(u)f(u))为使此优化问题可解,我们基于以下两点假设:

  • 条件独立。我们假设已知一个节点的向量表示后,其每个邻居节点的取值概率是相互独立的。
    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))} Pr(nif(u))=vVexp(f(v)f(u))exp(f(ni)f(u))

基于以上假设,我们的目标函数可以简化为:
max ⁡ f ∑ u ∈ V [ − l o g Z u + ∑ n i ∈ N S ( u ) f ( n i ) ⋅ f ( u ) ] \max_f \sum_{u \in V} [-logZ_u + \sum_{n_i \in N_S(u)}f(n_i)\cdot f(u)] fmaxuV[logZu+niNS(u)f(ni)f(u)]其中 Z u = ∑ v ∈ V e x p ( f ( u ) ⋅ f ( v ) ) Z_u = \sum_{v \in V}exp(f(u)\cdot f(v)) Zu=vVexp(f(u)f(v)),在大型网络中很难计算,我们利用负采样去近似它。于是上式就可以通过随机梯度上升进行求解。

采样策略

对源节点的采样策略中有两种极端情况:广度优先(BFS)和深度优先(DFS)。图网络中的节点预测任务常在两种相似性中间徘徊:同质性和结构对等。在同质性条件下,互相连接的并且属于相似的簇的节点的embedding是相似的。而在结构对等的条件下,在图结构中扮演相似角色的节点embedding是相似的。在实际网络中通常是一些节点表现出同质性,而另一些表现出结构对等。
通过BFS进行采样得到的邻居节点通常会导致embedding有结构对等特性。直观来说要想获得结构对等性,就需要得到局部的邻居节点的性质。
而DFS能够探索网络中的大片区域,采样得到的节点能够更加宏观地对节点的邻近关系进行反映。

random walk

正式地,给出一个源节点 u u u,我们模拟固定长度 l l l的随机游走。令 c i c_i ci表示walk中的第 i i i个节点, c i c_i ci可从以下分布中生成:
P ( c i = x ∣ c i − 1 = v ) = { π v x / Z i f ( v , x ) ∈ E 0 o t h e r w i s e P(c_i=x| c_{i-1}=v)=\left\{ \begin{aligned} \pi_{vx}/Z & & if(v, x) \in E \\ 0 & & otherwise \end{aligned} \right. P(ci=xci1=v)={πvx/Z0if(v,x)Eotherwise
其中 π v x \pi_{vx} πvx为未归一化的转移概率, Z Z Z为归一化常数。
我们定义了一种2nd随机游走:考虑一个刚从节点 t t t走到 v v v的walk,现在它需要前进一步,因此要评估从 v v v x x x的转移概率,我们设置从当前节点 v v v到某节点 x x x的未归一化的转移概率为:
α p q ( t , x ) = { 1 / p i f d t x = 0 1 i f d t x = 1 1 / q i f d t x = 2 \alpha_{pq}(t,x)=\left\{ \begin{aligned} 1/p & & if d_{tx} = 0 \\ 1 & & if d_{tx} = 1 \\ 1/q & & if d_{tx} = 2 \end{aligned} \right. αpq(t,x)=1/p11/qifdtx=0ifdtx=1ifdtx=2
我们将未归一化的转移概率设置为 π v x = α p q ( t , x ) ⋅ w v x \pi_{vx} = \alpha_{pq}(t, x)\cdot w_{vx} πvx=αpq(t,x)wvx,其中 d t x d_{tx} dtx t t t x x x间的最短距离。
参数 p p p控制walk回头的几率。如果设置一个较大值(> max(q, 1)),那么接下来walk就有较小的概率访问它访问过的节点。如果p设置得较小(1,那么random walk会偏向离t近的节点,此时random walk接近于BFS,而若q<1,random walk会偏向于DFS。
除得到节点的embedding,也可以通过节点来得到边的表示。

实验

你可能感兴趣的:(论文笔记)