Graph Embedding——(3)Node2vec理论

Node2vec理论

1)介绍

前面介绍过基于DFS邻域的DeepWalk和基于BFS邻域的LINE。

node2vec是一种综合考虑DFS邻域和BFS邻域的graph embedding方法。简单来说,可以看作是deepwalk的一种扩展,是结合了DFS和BFS随机游走的deepwalk。

在这里插入图片描述

2)优化目标

f ( u ) f(u)f(u)是将顶点u uu映射为embedding向量的映射函数,对于图中每个顶点u uu,定义N S ( U ) N_S(U)NS(U)为通过采样策略 S SS采样出的顶点u uu近邻顶点集合。

node2vec优化的目标是给定每个顶点条件下,令其近邻顶点(如何定义近邻顶点很重要)出现的概率最大。即:
m a x f ∑ u ∈ V log ⁡ P r ( N S ( u ) ∣ f ( u ) ) \underset{f}{max}\quad \sum_{u\in V} \log{Pr(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))

  • 特征空间对称性假设

    这里是说一个顶点作为源顶点和作为近邻顶点的时候共享同一套embedding向量。(对比LINE中的2阶相似度,一个顶点作为源点和近邻点的时候是拥有不同的embedding向量的)

    在这个假设下,上述条件概率公式可表示为:

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))

根据以上两个假设条件,最终的目标函数表示为:
m a x f ∑ u ∈ V [ − ∣ N S ( u ) ∣ log ⁡ Z u + ∑ n i ∈ N S ( u ) f ( n i ) ⋅ f ( u ) ] \underset{f}{max}\quad \sum_{u\in V}\bigg[-|N_S(u)|\log{Z_u}+\sum_{n_i\in N_S(u)}f(n_i)\cdot f(u)\bigg]fmaxuV[NS(u)logZu+niNS(u)f(ni)f(u)]
其中,Z u = ∑ v ∈ V e x p ( f ( n i ) ⋅ f ( u ) ) Z_u=\sum_{v\in V}{exp(f(n_i)\cdot f(u))}Zu=vVexp(f(ni)f(u))。由于归一化因子Z u Z_uZu的计算代价高,所以采用负采样技术优化。

3)顶点序列采样策略

node2vec引入两个超参数p ppq qq来控制随机游走的策略,假设现在游走序列从t tt走到v vv,这时候需要算出三个系数,分别作为控制下一步走向方向的偏置α \alphaα
α 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)} = \begin{cases} \frac{1}{p} & if \quad d_{tx}=0 \\ 1 & if \quad d_{tx}=1 \\ \frac{1}{q} & if \quad d_{tx}=2 \\ \end{cases}αpq(t,x)=p11q1ifdtx=0ifdtx=1ifdtx=2
其中,d t x d_{tx}dtx代表t tt结点到下一步结点x xx的最短路,最多为2。

  • d t x = 0 d_{tx}=0dtx=0时,表示下一步游走是回到上一步的结点;

  • d t x = 1 d_{tx}=1dtx=1时,表示下一步游走跳向t tt的另外一个邻居结点;

  • d t x = 2 d_{tx}=2dtx=2时,表示下一步游走向更远的结点移动。

下面讨论超参数p ppq qq 对游走策略的影响。

  • 对于p pp

    参数p pp控制重复访问刚刚访问过的顶点的概率。 注意到p pp仅作用于d t x = 0 d_{tx}=0dtx=0的情况,而d t x = 0 d_{tx}=0dtx=0表示顶点 x xx就是访问当前顶点v vv之前刚刚访问过的顶点。 那么若p pp 较高,则访问刚刚访问过的顶点的概率会变低,反之变高。

  • 对于q qq

    参数q qq控制的是游走向更远方向的概率,也就是激进探索系数。如果q qq较大,那么游走策略则更偏向于广度优先策略,若1 11较小,则偏向于深度优先策略。

下面的图描述的是当从t tt访问到v vv时,决定下一个访问顶点时每个顶点对应的α \alphaα

preview

给定当前顶点 v vv,给定当前顶点x xx 的概率为:
P ( c i = x ∣ c i − 1 = v ) = { π v x Z i f ( v , x ) ∈ E 0 i f o t h e r w i s e P(c_i=x|c_{i-1}=v) = \begin{cases} \frac{\pi_{vx}}{Z} & if \quad (v,x)\in E \\ 0 & if \quad otherwise \\ \end{cases}P(ci=xci1=v)={Zπvx0if(v,x)Eifotherwise
π v x \pi_{vx}πvx是顶点 v vv和顶点 x xx之间的未归一化转移概率,π v x = α p q ( t , x ) ⋅ w v x \pi_{vx}=\alpha_{pq}(t,x)\cdot w_{vx}πvx=αpq(t,x)wvxw v x w_{vx}wvx是顶点 v vv和顶点 x xx之间的权重,Z ZZ是归一化常数。

Graph Embedding——(1)DeepWalk理论
Graph Embedding——(2)LINE理论
Graph Embedding——(4)Struc2vec理论
Graph Embedding——(5)SDNE理论
Graph Embedding常见类型的理论详解


版权声明:本文为qq_43760191原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。