题目:BiNE: Bipartite Network Embedding
作者:Ming Gao, Leihui Chen, Xiangnan He & Aoying Zhou
来源:SIGIR 2018
当前的许多网络表示学习方法主要是针对同质网络的,忽略了二部图的特殊性质。本文提出一种的专门针对二部图的网络表示学习方法。通过有偏随机游走,生成的节点序列很好地保留节点在原始二部图中的长尾分布。本文基于节点的显式联系和隐式联系,提出一种新的优化方法。
传统NE方法对于二部图而言不是最优的理由:
(1)没有考虑节点类型。与同质网络不同,二部图中有两种类型节点,虽然同类型节点之间不存在边,但是具有隐式联系。传统的随机游走方法虽然能够捕捉高阶隐式联系,但是不够高效。
(2)产生的序列可能无法保留二部图的特性。例如经过deepwalk随机游走采样后的序列,节点度并不满足幂律分布。而幂律分布是二部图的一个重要特性。
模型
总体流程
(1)通过原始的二部图分别生成U和V两张图
(2)在U和V上分别进行有偏随机游走,得到序列集合 D U D^U DU, D V D^V DV
(3)SGA更新代表节点 u i u_i ui 和 v j v_j vj 的embedding向量 u → i \overrightarrow{\mathbf{u}}_{i} ui 和 v → j \overrightarrow{\mathbf{v}}_{j} vj
我们定义一个二部图 G = ( U , V , E ) G=(U, V, E) G=(U,V,E) ,其中 U U U 和 V V V 分别代表两种类型节点集合。 E ⊆ U × V E \subseteq U \times V E⊆U×V 表示边,每条边有一个非负权值 w i j w_{ij} wij ,其中 W = [ w i j ] ∈ R ∣ U ∣ × ∣ V ∣ \mathbf{W}=\left[w_{i j}\right] \in \mathbb{R}^{|U|\times|V|} W=[wij]∈R∣U∣×∣V∣ 。以下使用 u → i \overrightarrow{\mathbf{u}}_{i} ui 和 v → j \overrightarrow{\mathbf{v}}_{j} vj 代表节点 u i u_i ui 和 v j v_j vj 的embedding向量,模型将二部图上的所有节点都映射成一个 d d d 维的embedding向量。 f : U ∪ V → R d f : U \cup V \rightarrow \mathbb{R}^{d} f:U∪V→Rd
建模显式关系
二部图中,存在于两种类型节点之间的边提供了显式关系。与LINE建模一阶相似度类似,本文将二部图节点的显式关系建模为两个相连节点的局部相似性, u i u_i ui和 v j v_j vj 联合概率为(经验分布):
(1) P ( i , j ) = w i j ∑ e i j ∈ E w i j P(i, j)=\frac{w_{i j}}{\sum_{e_{i j} \in E} w_{i j}}{\tag 1} P(i,j)=∑eij∈Ewijwij(1)
用 u i u_i ui和 v j v_j vj embedding的内积来估计局部相似性(重建分布)
(2) P ^ ( i , j ) = 1 1 + exp ( − u → i T v → j ) \hat{P}(i, j)=\frac{1}{1+\exp \left(-\overrightarrow{\mathbf{u}}_{i}^{T} \overrightarrow{\mathbf{v}}_{j}\right)}{\tag 2} P^(i,j)=1+exp(−uiTvj)1(2)
用KL散度衡量两个分布的差异,通过最小化该目标函数,学习得到表示
(3) minimize O 1 = K L ( P ∥ P ^ ) = ∑ e i j ∈ E P ( i , j ) log ( P ( i , j ) P ^ ( i , j ) ) ∝ − ∑ e i j ∈ E w i j log P ^ ( i , j ) \begin{aligned} \text { minimize } O_{1} &=K L(P \| \hat{P})=\sum_{e_{i j} \in E} P(i, j) \log \left(\frac{P(i, j)}{\hat{P}(i, j)}\right) \\ & \propto-\sum_{e_{i j} \in E} w_{i j} \log \hat{P}(i, j) \end{aligned}{\tag 3} minimize O1=KL(P∥P^)=eij∈E∑P(i,j)log(P^(i,j)P(i,j))∝−eij∈E∑wijlogP^(i,j)(3)
以上部分与LINE一阶相似度相同
建模隐式关系
两个同类型节点之间没有边直接连接,但是如果存在节点间存在路径,则二者之间存在某种隐式关系;其中路径的数目和长度表明该隐式关系的强度。直接计算两个节点之间的路径计算开销大,在大规模网络中难以实现。本文采用DeepWalk等工作中采用的随机游走策略。具体地,首先通过执行随机游走将二分图转换为两个顶点序列语料库; 然后从语料库中学习嵌入。
构建节点序列语料库
由于周期性的原因,二分图上没有静态的随机游走分布,所以直接在二分图上执行随机游走可能失败。为了解决该问题,我们考虑在两个具有同类型节点二阶节点相似度的同质图上进行随机游走。
定义两个节点的二阶相似度如下:
(4) w i j U = ∑ k ∈ V w i k w j k ; w i j V = ∑ k ∈ U w k i w k j w_{i j}^{U}=\sum_{k \in V} w_{i k} w_{j k} ; \quad w_{i j}^{V}=\sum_{k \in U} w_{k i} w_{k j}{\tag 4} wij