论文:A Representation Learning Framework for Property Graphs
属性图表示学习框架PGE
作者:Yifan Hou, Hongzhi Chen, Changji Li, James Cheng, Ming-Chang Yang 香港中文大学计算机科学与工程系
来源:KDD 2019
论文链接:http://www.cse.cuhk.edu.hk/~jcheng/papers/pge_kdd19.pdf
github链接:https://github.com/yifan-h/PGE
图表示学习,又称graph embedding,在分类、预测、推荐等一系列机器学习应用中发挥了重要作用。然而,现有的工作在很大程度上忽略了在现代应用中的节点和边的属性中包含的丰富的信息,例如,属性图中就存在大量丰富的信息。迄今为止,大多数现有的graph embedding方法要么集中于仅具有图拓扑的图,要么仅考虑节点上的属性。文中提出了一个图表示学习框架PGE,它在graph embedding过程中同时包含了节点和边的属性。PGE利用节点聚类的方法来分配bias来区分节点的邻居,并利用多个数据矩阵来聚合基于bias策略采样的邻居的属性信息。PGE采用主流的inductive模型进行邻居聚集。最后实验中对该方法的有效性进行了详细的分析,并通过在实际数据集上的节点分类和链路预测等benchmark应用中,展示了PGE如何比最新的graph embedding方法获得更好的embedding结果,从而验证了PGE的性能。
相关概念
此文处理的图是属性图。因为目前的一些GNN的方法都没有考虑将节点和边所携带的丰富信息加入到 graph embedding过程中。对属性图的研究目前存在两个挑战:
现有的工作中,GCN利用节点属性信息生成节点embedding,而GraphSAGE将GCN从谱域扩展到空间中。在给定的应用中,GraphSAGE在信息聚集之前先训练一个权重矩阵,然后用训练好的矩阵将每个节点的邻居的属性信息聚合起来,计算节点的embedding。但是,GraphSAGE并没有对每个节点的属性不同的邻居进行区分,而是在聚合其属性信息时对所有邻居一视同仁。此外,GraphSAGE只考虑节点信息,而忽略边的方向和属性。除了节点或边的属性外,真实世界的图还有特殊的结构特征。例如,在社交网络中,节点往往以社区的形式组织起来,相似的节点要么是由于同质性(homophily)(The role of social networks in information diffusion,WWW 2012)特征而形成的邻居,要么虽然没有直接直接邻接,但是由于结构等价性特征而形成的结构相似的邻居[Community detection in graphs,2010;Structural role extraction & mining in large graphs,KDD 2012]。因此,考虑结构特征也很重要。为此,node2vec结合广度优先随机游走和深度优先随机游走两种策略来学习节点embedding,考虑同质性特征和结构等价特征。然而,node2vec只利用了这两个结构特性,没有考虑任何属性信息。
针对现有方法的局限性,文中提出了一种新的属性图embedding框架PGE。PGE将拓扑和属性信息结合到图的embedding过程中,采用有bias的方法来区分邻居和相应的连接的边的影响。该框架主要包括三个步骤:
实验的benchmark测试应用程序:节点分类和链接预测。结果表明,与现有的方法DeepWalk、node2vec、GCN和基于权重矩阵进行邻居聚合的GraphSAGE相比,PGE实现了显著的性能改进。实验验证了在图embedding中加入节点和边的属性信息以及拓扑信息的重要性。也证明了bias策略的有效性,该策略通过区分邻居来获得更好的embedding结果。
图的embedding方法主要有三种:矩阵分解、随机游走和邻居聚合。
随机游走的关键思想是,如果节点具有相似的embedding,那么这些节点通常倾向于出在短的随机游走上。
根据Representation learning on graphs: Methods and applications 2017:矩阵分解法和随机游走法是较浅的embedding方法,存在以下缺点
为了解决上述问题,一些方法是使用基于图的神经网络来学习节点embedding,这种方法通过压缩邻居信息将节点编码成向量(Deep neural networks for learning graph representations,AAAI 2016;Reducing the dimensionality of data with neural networks,science 2006; Structural deep network embedding KDD 2016)。然而,尽管这类方法可以共享参数,但严格地说,它们仍然是transductive的,并且由于自动编码器的输入维数等于节点数,因此在处理大型图数据时仍然存在性能瓶颈。
最近的一些工作, 如GCN、GraphSAGE、GAE等试图仅使用局部邻居而不是整个图来通过邻居聚合来学习节点embedding,这些方法考虑了节点上的属性信息。然而,现有的邻居聚合方法对邻居属性信息的处理是平等的,无法区分具有不同属性的邻居(和相连的边)的影响。
注:提取非欧氏距离的图数据的特征的一些方法还有:
(1)传统的机器学习核方法:
属性图模型具有通用性,可以表示其他常用的图模型:
∑ v i , v j ∈ V ∥ s G ( v i , v j ) − z v i ⊤ z v j ∥ = ∑ v i , v j ∈ V ∥ l ( s P ( v i , v j ) , s T ( v i , v j ) ) − z v i ⊤ z v j ∥ \sum_{v_{i}, v_{j} \in \mathcal{V}} \| s_{\mathcal{G}}\left(v_{i}, v_{j}\right)-\mathbf{z}_{v_{i}}^{\top} \mathbf{z}_{v_{j}}\|=\sum_{v_{i}, v_{j} \in \mathcal{V}} \| l \left(s_{\mathcal{P}}\left(v_{i}, v_{j}\right), s_{\mathcal{T}}\left(v_{i}, v_{j}\right)\right)-\mathbf{z}_{v_{i}}^{\top} \mathbf{z}_{v_{j}} \| vi,vj∈V∑∥sG(vi,vj)−zvi⊤zvj∥=vi,vj∈V∑∥l(sP(vi,vj),sT(vi,vj))−zvi⊤zvj∥
对于上述问题,很显然,对于像传统方法一样只考虑拓扑相似性 s T ( v i , v j ) s_{\mathcal{T}}\left(v_{i}, v_{j}\right) sT(vi,vj)不能收敛到全局最优解。给定一个节点 v v v和它的邻居 v i v_i vi和 v j v_j vj,属性相似性 s P ( v , v i ) s_{\mathcal{P}}\left(v, v_{i}\right) sP(v,vi)可能非常不同于 s P ( v , v j ) s_{\mathcal{P}}\left(v, v_{j}\right) sP(v,vj)。因此,PGE框架同时使用拓扑相似性和属性相似性去学习节点的embedding。
PGE主要由三个步骤组成:
步骤1的目的是根据节点 v v v的节点属性信息将邻居 N v \mathcal{N}_{v} Nv分成和节点 v v v相似和不相似两个类。
由于属性的高维和稀疏性(例如,属性值通常是文本,但也可以是数字和其他类型),在保持一个统一的全局标准对所有节点的邻居进行分类的同时,将节点的邻居分成相似组和不相似组是不容易的。例如,对于所有 v ∈ V v \in \mathcal{V} v∈V,可以尝试计算 v v v与每个邻居之间的属性相似度,然后设置阈值,将邻居划分为相似组和不相似组。然而,不同的节点可能需要不同的阈值,并且它们的相似度范围可能非常不同。此外,每个节点的邻居的分类方法可能是不同的,PGE框架实际上使用了2-hop邻居,而前面的例子只考虑了1-hop邻居。因此,需要一个统一的全局分类标准。为此,根据节点的属性对节点进行cluster,可以使得对节点邻居进行分类满足这个统一的全局分类标准。例如,根据节点 v v v的1-hop邻居和2-hop邻居是否位于与 v v v相同的cluster中,对它们进行相同方式的分类。
许多真实世界中的图的节点有很大的度,即邻居节点很多。因此没有必须考虑所有的节点进行信息聚合,否则内存和效率都面临很大的挑战。因此,文中使用bias b s b_s bs和 b d b_d bd采样一个固定size的邻居 N v s \mathcal{N}_{v}^s Nvs,于是就得到了一个采样图 G s = { V , E s } \mathcal{G}^{s}=\left\{\mathcal{V}, \mathcal{E}^{s}\right\} Gs={V,Es},其中 E s = { ( v , v ′ ) : v ′ ∈ N v s } \mathcal{E}^{s}=\left\{\left(v, v^{\prime}\right): v^{\prime} \in \mathcal{N}_{v}^{s}\right\} Es={(v,v′):v′∈Nvs}。由于是基于节点属性聚类后才进行采样的,因此采样图 G s = { V , E s } \mathcal{G}^{s}=\left\{\mathcal{V}, \mathcal{E}^{s}\right\} Gs={V,Es}最终包含了节点的属性信息和拓扑结构信息。所有,步骤2本质上是一个融合了属性相似性 s P ( v , v i ) s_{\mathcal{P}}\left(v, v_{i}\right) sP(v,vi)和拓扑相似性 s P ( v , v j ) s_{\mathcal{P}}\left(v, v_{j}\right) sP(v,vj)的映射 l ( ⋅ , ⋅ ) l(\cdot,\cdot) l(⋅,⋅)。
偏差 b s b_s bs和 b d b_d bd分别是指从不同的和相似的cluster中选择邻居的非标准化的可能性值。 b s b_s bs的值被设置为1,而 b d b_d bd可以根据在 G s \mathcal{G}^{s} Gs中选择不同邻居的概率(较大的bd意味着较高的概率)而改变。在GraphSAGE中,size=25是一个很好的平衡点,因为较大的size将显著增加模型的计算时间。使用PGE中区分邻居时,使用采样邻居的方式比使用全部邻居可以获得质量更好的embedding。
最后一个步骤是学习函数 ENC ( ⋅ ) \text{ENC}(\cdot) ENC(⋅)进行邻居聚合从而生成节点的embeddings。对于每一个节点,使用2-hop邻居生成 z v \mathbf{z}_{v} zv:
z v = σ ( W 1 ⋅ A ( z v 1 , ∑ v ′ ∈ N v s z v ′ 1 / ∣ N v s ∣ ) ) z v ′ 1 = σ ( W 2 ⋅ A ( p v ′ , ∑ v ′ ′ ∈ N v ′ s p v ′ ′ / ∣ N v ′ s ∣ ) ) \begin{array}{c}{\mathbf{z}_{v}=\sigma\left(W^{1} \cdot \mathrm{A}\left(\mathbf{z}_{v}^{1}, \sum_{v^{\prime} \in N_{v}^{s}} \mathbf{z}_{v^{\prime}}^{1} /\left|N_{v}^{s}\right|\right)\right)} \\ {\mathbf{z}_{v^{\prime}}^{1}=\sigma\left(W^{2} \cdot \mathrm{A}\left(p_{v^{\prime}}, \sum_{v^{\prime \prime} \in \mathcal{N}_{v^{\prime}}^{s}} p_{v^{\prime \prime}} /\left|N_{v^{\prime}}^{s}\right|\right)\right)}\end{array} zv=σ(W1⋅A(zv1,∑v′∈Nvszv′1/∣Nvs∣))zv′1=σ(W2⋅A(pv′,∑v′′∈Nv′spv′′/∣Nv′s∣))
利用矩阵 W i W^{i} Wi可以对不同属性赋予不同的权重,因为直接聚合(如取均值)节点属性向量不能捕获属性之间的差异,不同属性对embedding有不同程度的贡献。权重矩阵是数据驱动的,应该针对不同的数据集和应用分别进行训练,因为不同图数据中的节点具有不同类型的属性。权重矩阵可以使用Adam SGD优化器进行预训练,并为特定的应用定义损失函数,例如,对于节点分类,使用二进制交叉熵损失(多标记);对于链路预测,使用负采样的交叉熵损失。
接下来,对采样的图 G s \mathcal{G}^{s} Gs考虑边的方向和边的属性,使用和节点属性处理相同的策略。如果边是有向边,则分别考虑in-edges和out-edges。将边分成 k e k^e ke个cluster, C e = { C 1 e , C 2 e , … , C k e e } C^{e}=\left\{C_{1}^{e}, C_{2}^{e}, \ldots, C_{k^{e}}^{e}\right\} Ce={C1e,C2e,…,Ckee}。然后训练 2 × k e 2\times k^e 2×ke个矩阵, { W 1 1 , W 2 1 , … , W k e 1 } \left\{W_{1}^{1}, W_{2}^{1}, \ldots, W_{k^{e}}^{1}\right\} {W11,W21,…,Wke1}和 { W 1 2 , W 2 2 , … , W k e 2 } \left\{W_{1}^{2}, W_{2}^{2}, \ldots, W_{k^{e}}^{2}\right\} {W12,W22,…,Wke2}在2-hop邻居中为 k e k^e ke种不同类型的边聚合节点属性。最后,根据下式计算 z v \mathbf{z}_{v} zv:
z v = σ ( A ( W 0 1 ⋅ z v 1 , A C i e ∈ C e ( W i 1 ⋅ E v ′ ∈ N v s & ( v , v ′ ) ∈ C i e [ z v ′ 1 ] ) ) ) (1) \tag{1} \mathbf{z}_{v}=\sigma \left( \mathrm{A} \left(W_{0}^{1} \cdot \mathbf{z}_{v}^{1}, \mathrm{A}_{C_{i}^{e}\in C^{e}} (W_{i}^{1} \cdot \mathbb{E}_{v^{\prime} \in N_{v}^{\mathrm{s}} \& (v, v^{\prime}) \in C_{i}^{e}[\mathbf{z}_{v^{\prime}}^{1}]})\right)\right) zv=σ(A(W01⋅zv1,ACie∈Ce(Wi1⋅Ev′∈Nvs&(v,v′)∈Cie[zv′1])))(1)
z v ′ 1 = σ ( A ( W 0 2 ⋅ p v ′ , A C i e ∈ C e ( W i 2 ⋅ E v ′ ′ ∈ N v ′ s & ( v ′ , v ′ ′ ) ∈ C i e [ p v ′ ′ ] ) ) ) (2) \tag{2} \mathbf{z}_{v^{\prime}}^{1}=\sigma \left( \mathrm{A} \left( W_{0}^{2} \cdot p_{v^{\prime}}, \mathrm{A}_{C_{i}^{e} \in C^{e}}(W_{i}^{2} \cdot \mathbb{E}_{v^{\prime \prime} \in N_{v^{\prime}}^{s} \&(v^{\prime}, v^{\prime \prime}) \in C_{i}^{e}[p_{v^{\prime \prime}}]})\right)\right) zv′1=σ(A(W02⋅pv′,ACie∈Ce(Wi2⋅Ev′′∈Nv′s&(v′,v′′)∈Cie[pv′′])))(2)
PGE和GraphSAGE的区别:
接下来讨论这种有偏和无偏采样策略的不同。
文中认为邻居采样是随机游走的一个特例。例如,如果将步行长度设置为1,并执行10次步行,则可以将该策略视为固定大小为10的1-hop邻居采样。考虑到每一步的随机游走过程对所有节点都是一个独立同分布(i.i.d.)的过程,将有偏策略定义为一个 ∣ V ∣ × ∣ V ∣ |\mathcal{V}| \times|\mathcal{V}| ∣V∣×∣V∣的矩阵 P \mathbf{P} P,其中 P i , j P_{i,j} Pi,j是节点 v i v_i vi在随机游走中选择其邻居 v j v_j vj的概率。如果两个节点 v i v_i vi和 v j v_j vj不相连,则 P i , j = 0 P_{i,j}=0 Pi,j=0。类似地,定义无偏策略 Q \mathbf{Q} Q,其中任意节点的所有邻居都有相同的选择概率。假设存在一个最优策略 B \mathbf{B} B,它为一个给定的应用提供了最佳的embedding结果。
一些工作(HARP,2018;node2vec;Walklets)已经表明,在随机游走过程中对相似和不相似的邻居添加preference可以提高embedding结果,基于此得到如下结论:
对于一个有偏策略 P \mathbf{P} P,如果 ∥ B − P ∥ 1 < ∥ B − Q ∥ 1 \|\mathbf{B}-\mathbf{P}\|_{1} < \|\mathbf{B}-\mathbf{Q}\|_{1} ∥B−P∥1<∥B−Q∥1且 B ≠ Q \mathbf{B} \neq \mathbf{Q} B=Q,那么有偏策略 P \mathbf{P} P对于提高embedding结果有积极的影响。
因此,为了证明PGE的有偏策略的有效性,需要使策略 P \mathbf{P} P满足 ∥ B − P ∥ 1 ≤ ∥ B − Q ∥ 1 \|\mathbf{B}-\mathbf{P}\|_{1} \leq\|\mathbf{B}-\mathbf{Q}\|_{1} ∥B−P∥1≤∥B−Q∥1。文中证明了 b s b_s bs和 b d b_d bd可以用来调整策略 P \mathbf{P} P更接近 B \mathbf{B} B(而不是 Q \mathbf{Q} Q)。
假设节点基于节点属性信息 P V \mathcal{P}_{\mathcal{V}} PV被分类成为了 k k k个cluster: C = { C 1 , C 2 , … , C k } C=\left\{C_{1}, C_{2}, \ldots, C_{k}\right\} C={C1,C2,…,Ck}。
对于无偏策略,两个节点在每个随机游走step中相似度的期望为:
E [ s G ( v , v ′ ) ] = ∑ v ∈ V ∑ v i ∈ N v s G ( v , v i ) ∣ E ∣ \mathbb{E}\left[s_{\mathcal{G}\left(v, v^{\prime}\right)}\right]=\frac{\sum_{v \in \mathcal{V}} \sum_{v_{i} \in \mathcal{N}_{v}} s_{\mathcal{G}}\left(v, v_{i}\right)}{|\mathcal{E}|} E[sG(v,v′)]=∣E∣∑v∈V∑vi∈NvsG(v,vi)
对于文中的有偏策略,两个节点在每个随机游走step中相似度的期望为:
E [ s G ( v , v ′ ) ] = ∑ v ∈ V ∑ v i ∈ N v ∩ C v n s ( v ) ⋅ s G ( v , v i ) ∣ E ∣ k + ∑ v ∈ V ∑ v j ∈ N v ∩ ( C v ) c n d ( v ) ⋅ s G ( v , v j ) ∣ E ∣ ⋅ ( k − 1 ) k (3) \tag{3} \mathbb{E}\left[s_{\mathcal{G}\left(v, v^{\prime}\right)}\right]=\frac{\sum_{v \in \mathcal{V}} \sum_{v_{i} \in \mathcal{N}_{v} \cap C_{v}} n_{s}(v) \cdot s_{\mathcal{G}}\left(v, v_{i}\right)}{\frac{|\mathcal{E}|}{k}} +\frac{\sum_{v \in \mathcal{V}} \sum_{v_{j} \in \mathcal{N}_{v} \cap\left(C_{v}\right)^{c}} n_{d}(v) \cdot s_{\mathcal{G}}\left(v, v_{j}\right)}{\frac{|\mathcal{E}| \cdot(k-1)}{k}} E[sG(v,v′)]=k∣E∣∑v∈V∑vi∈Nv∩Cvns(v)⋅sG(v,vi)+k∣E∣⋅(k−1)∑v∈V∑vj∈Nv∩(Cv)cnd(v)⋅sG(v,vj)(3)
由于在一个随机游走step中,只有连接的节点才被选择,因此归一化了的bias n s ( v ) n_{s}(v) ns(v)和 n d ( v ) n_{d}(v) nd(v)可以使用下式推导得到:
n s ( v ) = b s b d ⋅ ∑ v ′ ∈ N v I { v ′ ∈ C v } + b s ⋅ ∑ v ′ ∈ N v I { v ′ ∈ ( C v ) c } n_{s}(v)=\frac{b_{s}}{b_{d} \cdot \sum_{v^{\prime} \in \mathcal{N}_{v}} \mathbb{I}\left\{v^{\prime} \in C_{v}\right\}+b_{s} \cdot \sum_{v^{\prime} \in \mathcal{N}_{v}} \mathbb{I}\left\{v^{\prime} \in\left(C_{v}\right)^{c}\right\}} ns(v)=bd⋅∑v′∈NvI{v′∈Cv}+bs⋅∑v′∈NvI{v′∈(Cv)c}bs
n d ( v ) = n s ( v ) × b d b s n_{d}(v)=n_{s}(v) \times \frac{b_{d}}{b_{s}} nd(v)=ns(v)×bsbd
对于公式(3),如果令 n d ( v ) = n s ( v ) n_{d}(v)=n_{s}(v) nd(v)=ns(v),那么就退化为无偏随机游走策略。
如果令 n d ( v ) ≠ n s ( v ) n_{d}(v) \neq n_{s}(v) nd(v)=ns(v),可以通过赋值 b d > b s b_d > b_s bd>bs调整偏策略使用公式(1)来选择更多不相似的邻居,通过赋值 b s > b d b_s > b_d bs>bd来调整有偏策略使用(2)来选择更多相似的邻居。
假设聚类结果是不重要的,可以至少得到一个cluster,那么可以推导得到:
∑ C i ∈ C ∑ v , v ′ ∈ C i s P ( v , v ′ ) 1 2 ∑ C i ∈ C ∣ C i ∣ ⋅ ( ∣ C i ∣ − 1 ) > ∑ v , v ′ ∈ V s P ( v , v ′ ) 1 2 ∣ V ∣ ⋅ ( ∣ V ∣ − 1 ) \frac{\sum_{C_{i} \in C} \sum_{v, v^{\prime} \in C_{i}} s_{\mathcal{P}}\left(v, v^{\prime}\right)}{\frac{1}{2} \sum_{C_{i} \in C}\left|C_{i}\right| \cdot\left(\left|C_{i}\right|-1\right)}>\frac{\sum_{v, v^{\prime} \in \mathcal{V}} s_{\mathcal{P}}\left(v, v^{\prime}\right)}{\frac{1}{2}|V| \cdot(|V|-1)} 21∑Ci∈C∣Ci∣⋅(∣Ci∣−1)∑Ci∈C∑v,v′∈CisP(v,v′)>21∣V∣⋅(∣V∣−1)∑v,v′∈VsP(v,v′)
由于 l ( ⋅ , ⋅ ) l(\cdot,\cdot) l(⋅,⋅)是一个关于 s P ( v , v ′ ) s_{\mathcal{P}}\left(v, v^{\prime}\right) sP(v,v′)的非负映射。于是有
∑ C i ∈ C ∑ v , v ′ ∈ C i s G ( v , v ′ ) 1 2 ∑ C i ∈ C ∣ C i ∣ ⋅ ( ∣ C i ∣ − 1 ) > ∑ v , v ′ ∈ V s G ( v , v ′ ) 1 2 ∣ V ∣ ⋅ ( ∣ V ∣ − 1 ) (4) \tag{4} \frac{\sum_{C_{i} \in C} \sum_{v, v^{\prime} \in C_{i}} s_{\mathcal{G}}\left(v, v^{\prime}\right)}{\frac{1}{2} \sum_{C_{i} \in C}\left|C_{i}\right| \cdot\left(\left|C_{i}\right|-1\right)}>\frac{\sum_{v, v^{\prime} \in \mathcal{V}} s_{\mathcal{G}}\left(v, v^{\prime}\right)}{\frac{1}{2}|V| \cdot(|V|-1)} 21∑Ci∈C∣Ci∣⋅(∣Ci∣−1)∑Ci∈C∑v,v′∈CisG(v,v′)>21∣V∣⋅(∣V∣−1)∑v,v′∈VsG(v,v′)(4)
从公式(4)可以看出,如果节点 v v v和节点 v ′ v^{\prime} v′属于相同的cluster,那么相似度 s G ( v , v ′ ) s_{\mathcal{G}}\left(v, v^{\prime}\right) sG(v,v′)更高。因此,根据公式(3)和公式(4),可以得出结论:参数 b s b_s bs和 b d b_d bd能够用于选择相似和不相似的邻居。
接下来,考虑1-hop邻居的最优化的策略 B \mathbf{B} B,其中 B i , j = I { v j ∈ N v i } ⋅ b v i , v j ∗ \mathbf{B}_{i, j}=\mathbb{I}\left\{v_{j} \in \mathcal{N}_{v_{i}}\right\} \cdot b_{v_{i}, v_{j}}^{*} Bi,j=I{vj∈Nvi}⋅bvi,vj∗, b v i , v j ∗ b_{v_{i}, v_{j}}^{*} bvi,vj∗是 B i , j \mathbf{B}_{i,j} Bi,j归一化的最优的bias值。相似地,无偏策略 Q i , j = I { v j ∈ N v i } ⋅ 1 ∣ N v i ∣ \mathbf{Q}_{i,j}=\mathbb{I}\left\{v_{j} \in \mathcal{N}_{v_{i}}\right\} \cdot \frac{1}{\left|N_{v_{i}}\right|} Qi,j=I{vj∈Nvi}⋅∣Nvi∣1。因此,有
∥ B − Q ∥ 1 = ∑ v i ∈ V ∑ v j ∈ V ∣ b v i , v j ∗ − 1 ∣ N v i ∣ ∣ \|\mathbf{B}-\mathbf{Q}\|_{1}=\sum_{v_{i} \in \mathcal{V}} \sum_{v_{j} \in \mathcal{V}}\left|b_{v_{i}, v_{j}}^{*}-\frac{1}{\left|\mathcal{N}_{v_{i}}\right|}\right| ∥B−Q∥1=vi∈V∑vj∈V∑∣∣∣∣bvi,vj∗−∣Nvi∣1∣∣∣∣
对于文中的有偏策略
P i , j = I { v j ∈ N v i ∩ C v i } ⋅ n s ( v ) + I { v j ∈ N v i ∩ ( C v i ) c } ⋅ n d ( v ) \mathbf{P}_{i, j}=\mathbb{I}\left\{v_{j} \in \mathcal{N}_{v_{i}} \cap C_{v_{i}}\right\} \cdot n_{s}(v)+ \mathbb{I}\left\{v_{j} \in \mathcal{N}_{v_{i}} \cap\left(C_{v_{i}}\right)^{c}\right\} \cdot n_{d}(v) Pi,j=I{vj∈Nvi∩Cvi}⋅ns(v)+I{vj∈Nvi∩(Cvi)c}⋅nd(v)
∑ v i ∈ V ∑ v j ∈ V ∣ b v i , v j ∗ − 1 ∣ N v i ∣ ∣ ≥ ∑ v i ∈ V ∑ v j ∈ V ∣ b v i , v j ∗ − I { v j ∈ N v i ∩ C v i } ⋅ n s ( v ) − I { v j ∈ N v i ∩ ( C v i ) c } ⋅ n d ( v ) ∣ \sum_{v_{i} \in \mathcal{V}} \sum_{v_{j} \in \mathcal{V}}\left|b_{v_{i}, v_{j}}^{*}-\frac{1}{\left|N_{v_{i}}\right|}\right| \geq \sum_{v_{i} \in \mathcal{V}} \sum_{v_{j} \in \mathcal{V}} \left| b_{v_{i}, v_{j}}^{*}-\mathbb{I}\left\{v_{j} \in\right. \left.\mathcal{N}_{v_{i}} \cap C_{v_{i}}\right\} \cdot n_{s}(v)-\mathbb{I}\left\{v_{j} \in \mathcal{N}_{v_{i}} \cap\left(C_{v_{i}}\right)^{c}\right\} \cdot n_{d}(v) \right| vi∈V∑vj∈V∑∣∣∣∣bvi,vj∗−∣Nvi∣1∣∣∣∣≥vi∈V∑vj∈V∑∣∣∣bvi,vj∗−I{vj∈Nvi∩Cvi}⋅ns(v)−I{vj∈Nvi∩(Cvi)c}⋅nd(v)∣∣∣
因此,如果为 b s b_s bs和 b d b_d bd赋合适的值(下一节讨论),那么 ∥ B − P ∥ 1 < ∥ B − Q ∥ 1 \|\mathbf{B}-\mathbf{P}\|_{1} < \|\mathbf{B}-\mathbf{Q}\|_{1} ∥B−P∥1<∥B−Q∥1。上述分析可以推广到多跳邻居的情况。
接下来讨论如何为邻居采样的偏差 b s b_s bs和 b d b_d bd设置适当的值,并分析cluster数对PGE性能的影响。
对于PGE的步骤3中的邻居聚集,一个精确的embedding应该通过覆盖包含节点 v v v的整个连通分量来获得,其中k跳(k是最大可达hop)中的所有邻居都应该聚合。然而,对于一个大型图,邻居聚集的执行时间在2-hop以上迅速增加(特别是对于幂律图更具有挑战性)。因此,只考虑2-hop邻居。为了减少精度的下降,可以通过在2-hop中选择不同的邻居来扩大邻居对embedding z v \mathbf{z}_{v} zv的贡献。
对于一个节点 v v v和它的两个邻居 v i v_i vi和 v j v_j vj,假设 N v i = N v j \mathcal{N}_{v_{i}}=N_{v_{j}} Nvi=Nvj但是 ∣ p v − p v i ∣ < ∣ p v − p v j ∣ \left|p_{v}-p_{v_{i}}\right|<\left|p_{v}-p_{v_{j}}\right| ∣pv−pvi∣<∣∣pv−pvj∣∣。因此,有 s T ( v , v i ) = s T ( v , v j ) s_{\mathcal{T}}\left(v, v_{i}\right)=s_{\mathcal{T}}\left(v, v_{j}\right) sT(v,vi)=sT(v,vj), s P ( v , v i ) > s P ( v , v j ) s_{\mathcal{P}}\left(v, v_{i}\right)>s_{\mathcal{P}}\left(v, v_{j}\right) sP(v,vi)>sP(v,vj)。由于 l ( ⋅ , ⋅ ) l(\cdot,\cdot) l(⋅,⋅)是一个非负映射,因此有 s G ( v , v i ) > s G ( v , v j ) s_{\mathcal{G}}\left(v, v_{i}\right)>s_{\mathcal{G}}\left(v, v_{j}\right) sG(v,vi)>sG(v,vj)。基于 z v \mathbf{z}_{v} zv和 z v ′ 1 \mathbf{z}_{v^{\prime}}^{1} zv′1的定义,通过扩展 z v \mathbf{z}_{v} zv和 z v ′ 1 \mathbf{z}_{v^{\prime}}^{1} zv′1,可以得到
z v = σ ( W 1 ⋅ A ( z v 1 , ∑ v ′ ∈ N v s σ ( W 2 ⋅ A ( p v ′ , ∑ v ′ ′ ∈ N v ′ s p v ′ ′ / ∣ N v ′ s ∣ ) ) / ∣ N v s ∣ ) ) (5) \tag{5} \mathbf{z}_{v}=\sigma\left(W^{1} \cdot \mathrm{A}\left(\mathbf{z}_{v}^{1}, \sum_{v^{\prime} \in \mathcal{N}_{v}^{s}} \sigma\left(W^{2} \cdot \mathrm{A}\left(p_{v^{\prime}}, \sum_{v^{\prime \prime} \in \mathcal{N}_{v^{\prime}}^{s}} p_{v^{\prime \prime}} /\left|\boldsymbol{N}_{v^{\prime}}^{s}\right|\right)\right) /\left|\boldsymbol{N}_{v}^{s}\right|\right)\right) zv=σ⎝⎛W1⋅A⎝⎛zv1,v′∈Nvs∑σ⎝⎛W2⋅A⎝⎛pv′,v′′∈Nv′s∑pv′′/∣Nv′s∣⎠⎞⎠⎞/∣Nvs∣⎠⎞⎠⎞(5)
公式(5)聚合了节点的属性向量 p v p_v pv(在 z v ′ 1 \mathbf{z}_{v^{\prime}}^{1} zv′1中表示)和节点的2-hop邻居的属性向量,最后得到embedding z v \mathbf{z}_{v} zv。这个过程可以理解为一个由 s P ( v , v ′ ) s_{\mathcal{P}}\left(v, v^{\prime}\right) sP(v,v′)到 s G ( v , v ′ ) s_{\mathcal{G}}\left(v, v^{\prime}\right) sG(v,v′)的转换。因此,一个越小的 s P ( v , v ′ ) s_{\mathcal{P}}\left(v, v^{\prime}\right) sP(v,v′)可能对 z v \mathbf{z}_{v} zv贡献一个越大的改变。
对于公式(5),如果 ∣ p v − p v i ∣ < ∣ p v − p v j ∣ \left|p_{v}-p_{v_{i}}\right|<\left|p_{v}-p_{v_{j}}\right| ∣pv−pvi∣<∣∣pv−pvj∣∣,则可以得到 ∥ z v 1 − z v i 1 ∥ 1 < ∥ z v 1 − z v j 1 ∥ 1 \left\|\mathbf{z}_{v}^{1}-\mathbf{z}_{v_{i}}^{1}\right\|_{1}<\left\|\mathbf{z}_{v}^{1}-\mathbf{z}_{v_{j}}^{1}\right\|_{1} ∥∥zv1−zvi1∥∥1<∥∥∥zv1−zvj1∥∥∥1。因此,对于embeddings,有 ∥ z v − z v i ∥ 1 < ∥ z v − z v j ∥ 1 \left\|\mathbf{z}_{v}-\mathbf{z}_{v_{i}}\right\|_{1}<\left\|\mathbf{z}_{v}-\mathbf{z}_{v_{j}}\right\|_{1} ∥zv−zvi∥1<∥∥zv−zvj∥∥1。由于 v v v和 v i v_i vi以及 v v v和 v j v_j vj相互影响,可以得出结论:对于固定跳的邻居聚集,不相似度越大的邻居对节点embedding的负影响更大。也就是说,对于固定跳邻居的聚集,需要设置 b d > b s b_d > b_s bd>bs来获得更好的embedding结果,最后的实验也验证了这一点。
除了 b s b_s bs和 b d b_d bd的值外,PGE第1步得到的cluster的数量也会影响节点embedding的质量。考虑一个平均度为 ∣ E ∣ / ∣ V ∣ |\mathcal{E}| /|\mathcal{V}| ∣E∣/∣V∣的随机图 G = { V , E , P } \mathcal{G}=\{\mathcal{V}, \mathcal{E}, \mathcal{P}\} G={V,E,P}。假设在步骤1中从 G \mathcal{G} G中获得 k k k个cluster,那么与节点 v v v处于同一个cluster邻居的平均数量为 ∣ N v ∣ / k = ( ∣ E ∣ / ∣ V ∣ ) / k \left|\mathcal{N}_{v}\right| / k=(|\mathcal{E}| /|\mathcal{V}|) / k ∣Nv∣/k=(∣E∣/∣V∣)/k。如果 k k k很大,大多数邻居将被聚类于和节点 v v v不同的cluster。相反,一个小的 k k k意味着邻居更有可能和节点 v v v在同一个cluster。因此,对于有偏策略的节点embedding, k k k的值太大太小都不合适,因为这种情况下的所有邻居要么是相似的,要么是不相似的,这本质上使得邻居不可区分(in-differentiable)。因此,为了保证有偏策略的有效性, k k k值不应该落在两个极端中。根据实验结果,发现 k k k值接近平均度数是一个不错的选择。
除了bias的值、cluster的数量,边的属性对embedding结果也有巨大的提升。现实世界中的图,例如设计网络图,边都有类似“positive”和“negative”的属性。考虑一个社交网络图 G = { V , E , P } \mathcal{G}=\{\mathcal{V}, \mathcal{E}, \mathcal{P}\} G={V,E,P},它有两种类型的边, E = E + ∪ E − \mathcal{E}=\mathcal{E}^{+} \cup \mathcal{E}^{-} E=E+∪E−。假设有一个节点 v v v有两个邻居 v i v_i vi和 v j v_j vj,这些邻居有相同的属性 p v i = p v j p_{v_i}=p_{v_j} pvi=pvj,并且拓扑信息相同 N v i = N v j \mathcal{N}_{v_{i}}=\mathcal{N}_{v_{j}} Nvi=Nvj,但是这两个节点和 v v v所连的边的类型不同,也就是 ( v , v i ) ∈ E + , ( v , v j ) ∈ E − \left(v, v_{i}\right) \in \mathcal{E}^{+} ,\left(v, v_{j}\right) \in \mathcal{E}^{-} (v,vi)∈E+,(v,vj)∈E−。如果只用公式(5),不区分边的信息,那么就不能区分节点 v i v_i vi和 v j v_j vj的embedding。为了能考虑到边的信息,为每一个属性引入一个额外的矩阵。例如,前面的例子中,为属性“positive”和“negative”引入两个额外的矩阵,即此时 k e = 2 k^e=2 ke=2。对于有向图,进一步用不同的权重矩阵分别考虑in/out-neighbors。
two benchmark applications:
Baseline Methods
Datasets
bias数量的影响
cluster数量的影响