Weisfeiler-Lehman(WL)算法

The Weisfeiler-Lehman Test of Isomorphism

  • 图核使用来自WeisfeilerLehmanWeisfeiler-Lehman同构检验的概念,更具体地讲是其一维变体,也称为“朴素顶点修饰”
  • 该算法的关键思想是通过对相邻节点的节点标签排序后的集合来扩展节点标签,并将这些扩展后的标签压缩为新的短标签
  • alphabetalphabet ΣΣ必须足够大才能使ff内射性。 对于两个图,Σ=2n|Σ| = 2n个满足条件。

Weisfeiler-Lehman(WL)算法

  • a(a)网络中每个节点有一个labellabel,如图中的彩色的123451,2,3,4,5
  • b(b)标签扩展:做一阶广度优先搜索,即只遍历自己的邻居。比如在图a(a)网络GG中原(5)(5)号节点,变成(5,234)(5,234),这是因为原5(5)节点的一阶邻居有2342,3和4
  • c(c)标签压缩:仅仅只是把扩展标签映射成一个新标签,如 5,234=>135,234 => 13
  • d(d)压缩标签替换扩展标签
  • e(e)数标签:比如在GG网络中,含有11号标签22个,那么第一个数字就是22。这些标签的个数作为整个网络的新特征

算法:
假设要测试同构的两张图为GGGG’,那么在结点vv的第ii次迭代里,算法都分别做了四步处理:标签复合集定义、复合集排序、标签压缩和重标签
Weisfeiler-Lehman(WL)算法

  • WL testWL\ test的复杂度是O(hm)O(hm),其中h为iterationiteration次数,mm是一次iterationiterationmultisetmultiset的个数

一维的WeisfeilerLehmanWeisfeiler-Lehman如下所示:
Weisfeiler-Lehman(WL)算法
Weisfeiler-Lehman(WL)算法
稳定后,统计两张图的labellabel的分布,如果分布相同,则一般认为两张图时同构的。
Weisfeiler-Lehman(WL)算法
注意:我们可以发现,WL testWL\ test方法的步骤和GNNsGNNs具有异曲同工之妙,都是通过不断聚合邻居信息,得到节点的新表示,这也是为什么KipfKipf20172017GCNGCN的论文中单独讨论和GCNGCNWLtestWL test关系的原因。而正是这种统一性,才使得本文能以 WL testWL\ test 为基础来分析GNNsGNNs框架。

The General Weisfeiler-Lehman Kernels

1.The Weisfeiler-Lehman Kernel Framework

  • WeisfeilerLehman algorithmWeisfeiler-Lehman\ algorithm 对图GGGG'的结点进行重标签时,只有当两个结点vvvv'有相同的标签复合集,它们生成的新标签才一样。
  • 因此,我们可以认为对所有图进行标签压缩和重标签时,标签映射函数ff都是一样的,定义为r((V,E,li))=(V,E,l(i+1))r((V, E, l_i)) = (V, E, l_{(i+1)}),其中,VV是图GG的结点集,EE是图GG的边集,lil_il(i+1)l_{(i+1)}分别是WeisfeilerLehman algorithmWeisfeiler-Lehman\ algorithm 在第ii次和第i+1i+1次迭代时生成的标签集。
    Weisfeiler-Lehman(WL)算法
    G0G_0是原始图,G1=r(G0)G_1 = r(G_0)是第一次重新贴标产生的图,依此类推.
    Weisfeiler-Lehman(WL)算法
    Weisfeiler-Lehman(WL)算法
    性质
  • 1.半正定矩阵的行列式是非负的。
  • 2.两个半正定矩阵的和是半正定的
  • 3.Gi=rG(i1)=(r2)G(i2)=....=(ri)G0=(ri)GG_i = r * G_{(i-1)} = (r^2) * G_{(i-2)} = .... = (r^i) * G_0 = (r^i) * G
    证明
    Weisfeiler-Lehman(WL)算法
    Weisfeiler-Lehman(WL)算法
    **请注意,**可以将非负实权重αiα_i放在k(GiGi)i=0,1,...,hk(G_i,G_i'),i = {0,1,...,h}上,以获得更一般的WeisfeilerLehmanWeisfeiler-Lehman核定义:
    Weisfeiler-Lehman(WL)算法
    Weisfeiler-Lehman(WL)算法

2.The Weisfeiler-Lehman Subtree Kernel

Weisfeiler-Lehman(WL)算法
ci(Gσij)c_i(G,σ_{ij})是图形GG中字母σijσ_{ij}的出现次数。
Weisfeiler-Lehman(WL)算法
也就是说,Weisfeiler-Lehman子树内核在两个图中计数共同的原始标签和压缩标签
Weisfeiler-Lehman(WL)算法

  • 假设基本内核kk是一个函数,用于计算两个图中的匹配节点标签对:

Weisfeiler-Lehman(WL)算法

多图上计算The Weisfeiler-Lehman Subtree Kernel

算法:

  • NN个图和hh次迭代的情况下,ΣΣ大小为Nn(h+1)Nn(h + 1)
    Weisfeiler-Lehman(WL)算法
    Weisfeiler-Lehman(WL)算法
    举例:
    Weisfeiler-Lehman(WL)算法
    Weisfeiler-Lehman(WL)算法
    Weisfeiler-Lehman(WL)算法

THE RAMON-GARTNER SUBTREE KERNEL

具有子树高度hhRamonGartnerRamon-Gartner子树内核通过迭代比较它们的邻域来比较图G=(V,E,l)G =(V,E,l)G0=(V0,E0,l)G_0 =(V_0,E_0,l)中的所有节点对:
Weisfeiler-Lehman(WL)算法
Weisfeiler-Lehman(WL)算法
Weisfeiler-Lehman(WL)算法
M(vv)M(v,v')vvvv'邻域的子集的精确匹配集合。M(vv)M(v,v')的每个元素RR是来自vVv∈Vv0V0v_0∈V_0的邻域的一组节点对,因此每对中的节点具有相同的标记,并且不包含多于一对的节点。 因此,从直观上讲,kRGk_{RG}迭代地考虑来自GG的节点vv和来自G0G_0v0v_0的邻居之间两个相同标记节点的所有匹配M(vv)M(v,v')。 使参数λvλ_vλvλ_{v'}等于单个参数λ会导致每个模式加权λλ,并提高到模式中节点数的幂。

LINK TO THE WEISFEILER-LEHMAN SUBTREE KERNEL
Weisfeiler-Lehman(WL)算法
Weisfeiler-Lehman(WL)算法

3.The Weisfeiler-Lehman Edge Kernel

The WeisfeilerLehman edge kernelThe\ Weisfeiler-Lehman\ edge\ kernelthe WeisfeilerLehman kernel frameworkthe\ Weisfeiler-Lehman\ kernel\ framework的另一个实例。 对于具有未加权边的图,我们考虑对两个图中具有相同标记的端点(事件节点)的匹配边对进行计数的基本内核。 换句话说,基本内核定义为
Weisfeiler-Lehman(WL)算法
其中φE(G)φ_E(G)是对(ab)(a,b)a,bΣa,b∈Σ的出现次数的向量,它们表示GG中边的端点的有序标签. (ab)(a,b)(a0b0)(a_0,b_0)分别表示边eee0e_0的端点的有序标签,以及Dirac kernelDirac\ kernelδkEδ,k_E可以等效地表示为eEe0Eδ(aa0)δ(bb0)∑_{e∈E} ∑_{e_0∈E'}δ(a,a_0) δ(b,b_0)。如果边缘通过分配权重的函数ww加权,则基本核kEk_E可以定义为eEe0Eδ(aa0)δ(bb0)kw(w(e)w((e0))∑_{e∈E} ∑_{e_0∈E'}δ(a,a_0) δ(b,b_0)k_w(w(e),w((e_0)) ,其中kwk_w是比较边缘权重的内核。
Weisfeiler-Lehman(WL)算法

4.The Weisfeiler-Lehman Shortest Path Kernel

在这里,我们使用节点标记的最短路径内核作为基础内核。
Weisfeiler-Lehman(WL)算法

Weisfeiler-Lehman Graph Kernels

https://github.com/BorgwardtLab/GraphKernels

https://static.aminer.cn/misc/pdf/20190419.pdf
https://github.com/ysig/GraKeL

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-07-02
  • 2021-09-13
  • 2021-06-05
  • 2021-06-11
  • 2022-12-23
  • 2021-09-21
猜你喜欢
  • 2022-03-04
  • 2021-04-23
  • 2021-08-04
  • 2021-05-04
  • 2021-12-16
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案