node2vec 在DeepWalk 的基础上引入了网络的同质性(homophily)和结构性(structural equivalence)的概念。
同质性指节点同属于某一个社区,在下图中u和s1,s2,s3同属于一个社区。
结构性指节点的结构类似,如下图中s6与u虽然属于两个不同的社区,但是他们都属于中心节点,结构类似。
**广度优先采样(BFS)**邻域N仅限于源的近邻节点。例如,在图1中,对于大小为k=3的邻域,BFS对节点s1、s2、s3进行采样。(反映了结构性)
**深度优先采样(DFS)**邻域由节点组成,这些节点在距源节点越来越远的地方连续采样。在图1中,DFS采样s4、s5、s6。(反映了同质性)
Node2Vec
node2vec 通过节点间的跳转概率来混合BFS和DFS。定义一个2阶的带有参数p和q的random walk 。考虑如下图的一个刚刚遍历了边(t,v), 停留在节点 v的random walk。
其中为节点v和x的转移概率,用下列公式表示:
其中:
上式中,参数p被称为返回参数(return parameter),p越小,随机游走回节点t的可能性越大,node2vec就更注重表达网络的结构性。p越大时,鼓励深度遍历
参数q被称为进出参数(in-out parameter),q>1 时, node2vec 类似BFS, 更注重表达网络的结构性, q<1时,则随机游走到远方节点的可能性越大,类似DFS,node2vec更注重表达网络的同质性。