node2vec是一个用于图表示学习的算法框架。给定任何图,它可以学习节点的连续特征表示,然后可以用于各种下游机器学习任务。
从下图中我们可以观察到,节点u和节点s1属于相同的紧密联结社区,u和s6在这两个不同的社区中扮演相同的结构角色——中心节点。现实世界的网络通常表现出这种混合。因此,必须考虑一种灵活的算法,该算法可以学习遵守两个原则的节点表示:
- 将来自同一网络社区的节点紧密嵌入在一起的表示的能力
- 共享相似角色的节点具有相似的embedding
这将允许特征学习算法在广泛的领域和预测任务中推广。
将网络特征学习看作一个最大似然优化问题。给定网络G=(V,E)。令为从顶点到我们想要学习的下游预测任务的特征表示的映射函数。这里的d是特征表示的维度参数。f是一个大小的矩阵。对于V中每个顶点u,定义为顶点u通过临近采样策略S得到的网络邻域。
寻求优化以下目标函数,该目标函数最大化观察节点u的网络邻域NS(u)的对数概率,条件是其特征表示,由f给出:
为了使优化问题易于处理,我们做了两个标准假设:
- 条件独立。
- 特征空间的对称性。源节点和邻域节点在特征空间中相互对称。
高度互联且属于类似网络集群或社区的节点应紧密嵌入在一起(例如图1中的节点s1和u属于同一网络社区)。根据结构等效假设,在网络中具有类似结构角色的节点应紧密嵌入在一起(例如,图1中的节点u和s6充当其相应社区的枢纽)。与同源性不同的是,结构等价性并不强调连通性;具有结构等价性的两个节点在网络中可能相距很远,并且仍然具有相同的结构角色。在现实世界中,这些等价概念并不是排他性的,网络通常表现出两种行为,其中一些节点表现出同源性,而另一些则反映出结构等效性。
基于以上观察,我们设计了一种灵活的邻域采样策略,允许我们在BFS和DFS之间平滑插值。我们通过开发一个灵活的有偏随机游走程序来实现这一点,该程序可以以BFS和DFS的方式探索社区。
随机游走
形式上,给定一个源节点u,我们模拟固定长度l的随机游走。让表示游动中的第个节点,从c0=u开始。节点ci由以下分布生成:
式中,是节点v和x之间的非规范化转移概率,Z是规范化常数。