Weisfeiler-Lehman(WL)算法

Weisfeiler-Lehman(WL)算法

The Weisfeiler-Lehman Test of Isomorphism

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

在这里插入图片描述

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

算法:
假设要测试同构的两张图为 G G G G ’ G’ G,那么在结点 v v v的第 i i i次迭代里,算法都分别做了四步处理:标签复合集定义、复合集排序、标签压缩和重标签
在这里插入图片描述

  • W L   t e s t WL\ test WL test的复杂度是 O ( h m ) O(hm) O(hm),其中h为 i t e r a t i o n iteration iteration次数, m m m是一次 i t e r a t i o n iteration iteration m u l t i s e t multiset multiset的个数

一维的 W e i s f e i l e r − L e h m a n Weisfeiler-Lehman WeisfeilerLehman如下所示:
在这里插入图片描述
在这里插入图片描述
稳定后,统计两张图的 l a b e l label label的分布,如果分布相同,则一般认为两张图时同构的。
在这里插入图片描述
注意:我们可以发现, W L   t e s t WL\ test WL test方法的步骤和 G N N s GNNs GNNs具有异曲同工之妙,都是通过不断聚合邻居信息,得到节点的新表示,这也是为什么 K i p f Kipf Kipf 2017 2017 2017 G C N GCN GCN的论文中单独讨论和 G C N GCN GCN W L t e s t WL test WLtest关系的原因。而正是这种统一性,才使得本文能以 W L   t e s t WL\ test WL test 为基础来分析 G N N s GNNs GNNs框架。

The General Weisfeiler-Lehman Kernels

1.The Weisfeiler-Lehman Kernel Framework

  • W e i s f e i l e r − L e h m a n   a l g o r i t h m Weisfeiler-Lehman\ algorithm WeisfeilerLehman algorithm 对图 G G G G ′ G' G的结点进行重标签时,只有当两个结点 v v v v ′ v' v有相同的标签复合集,它们生成的新标签才一样。
  • 因此,我们可以认为对所有图进行标签压缩和重标签时,标签映射函数 f f f都是一样的,定义为 r ( ( V , E , l i ) ) = ( V , E , l ( i + 1 ) ) r((V, E, l_i)) = (V, E, l_{(i+1)}) r((V,E,li))=(V,E,l(i+1)),其中, V V V是图 G G G的结点集, E E E是图 G G G的边集, l i l_i li l ( i + 1 ) l_{(i+1)} l(i+1)分别是 W e i s f e i l e r − L e h m a n   a l g o r i t h m Weisfeiler-Lehman\ algorithm WeisfeilerLehman algorithm 在第 i i i次和第 i + 1 i+1 i+1次迭代时生成的标签集。
    在这里插入图片描述
    G 0 G_0 G0是原始图, G 1 = r ( G 0 ) G_1 = r(G_0) G1=r(G0)是第一次重新贴标产生的图,依此类推.
    在这里插入图片描述
    在这里插入图片描述
    性质
  • 1.半正定矩阵的行列式是非负的。
  • 2.两个半正定矩阵的和是半正定的
  • 3. G i = r ∗ G ( i − 1 ) = ( r 2 ) ∗ G ( i − 2 ) = . . . . = ( r i ) ∗ G 0 = ( r i ) ∗ G G_i = r * G_{(i-1)} = (r^2) * G_{(i-2)} = .... = (r^i) * G_0 = (r^i) * G Gi=rG(i1)=(r2)G(i2)=....=(ri)G0=(ri)G
    证明
    在这里插入图片描述
    在这里插入图片描述
    **请注意,**可以将非负实权重 α i α_i αi放在 k ( G i , G i ′ ) , i = 0 , 1 , . . . , h k(G_i,G_i'),i = {0,1,...,h} k(GiGi)i=0,1,...,h上,以获得更一般的 W e i s f e i l e r − L e h m a n Weisfeiler-Lehman WeisfeilerLehman核定义:
    在这里插入图片描述
    在这里插入图片描述

2.The Weisfeiler-Lehman Subtree Kernel

在这里插入图片描述
c i ( G , σ i j ) c_i(G,σ_{ij}) ci(Gσij)是图形 G G G中字母 σ i j σ_{ij} σij的出现次数。
在这里插入图片描述
也就是说,Weisfeiler-Lehman子树内核在两个图中计数共同的原始标签和压缩标签
在这里插入图片描述

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

在这里插入图片描述

多图上计算The Weisfeiler-Lehman Subtree Kernel

算法:

  • N N N个图和 h h h次迭代的情况下, Σ Σ Σ大小为 N n ( h + 1 ) Nn(h + 1) Nn(h+1)
    在这里插入图片描述
    在这里插入图片描述
    举例:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
THE RAMON-GARTNER SUBTREE KERNEL

具有子树高度 h h h R a m o n − G a r t n e r Ramon-Gartner RamonGartner子树内核通过迭代比较它们的邻域来比较图 G = ( V , E , l ) G =(V,E,l) G=(V,E,l) G 0 = ( V 0 , E 0 , l ) G_0 =(V_0,E_0,l) G0=(V0,E0,l)中的所有节点对:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
M ( v , v ′ ) M(v,v') M(vv) v v v v ′ v' v邻域的子集的精确匹配集合。 M ( v , v ′ ) M(v,v') M(vv)的每个元素 R R R是来自 v ∈ V v∈V vV v 0 ∈ V 0 v_0∈V_0 v0V0的邻域的一组节点对,因此每对中的节点具有相同的标记,并且不包含多于一对的节点。 因此,从直观上讲, k R G k_{RG} kRG迭代地考虑来自 G G G的节点 v v v和来自 G 0 G_0 G0 v 0 v_0 v0的邻居之间两个相同标记节点的所有匹配 M ( v , v ′ ) M(v,v') M(vv)。 使参数 λ v λ_v λv λ v ′ λ_{v'} λv等于单个参数λ会导致每个模式加权 λ λ λ,并提高到模式中节点数的幂。

LINK TO THE WEISFEILER-LEHMAN SUBTREE KERNEL
在这里插入图片描述
在这里插入图片描述

3.The Weisfeiler-Lehman Edge Kernel

T h e   W e i s f e i l e r − L e h m a n   e d g e   k e r n e l The\ Weisfeiler-Lehman\ edge\ kernel The WeisfeilerLehman edge kernel t h e   W e i s f e i l e r − L e h m a n   k e r n e l   f r a m e w o r k the\ Weisfeiler-Lehman\ kernel\ framework the WeisfeilerLehman kernel framework的另一个实例。 对于具有未加权边的图,我们考虑对两个图中具有相同标记的端点(事件节点)的匹配边对进行计数的基本内核。 换句话说,基本内核定义为
在这里插入图片描述
其中 φ E ( G ) φ_E(G) φE(G)是对 ( a , b ) (a,b) (ab) a , b ∈ Σ a,b∈Σ a,bΣ的出现次数的向量,它们表示 G G G中边的端点的有序标签. ( a , b ) (a,b) (ab) ( a 0 , b 0 ) (a_0,b_0) (a0b0)分别表示边 e e e e 0 e_0 e0的端点的有序标签,以及 D i r a c   k e r n e l Dirac\ kernel Dirac kernel δ , k E δ,k_E δkE可以等效地表示为 ∑ e ∈ E ∑ e 0 ∈ E ′ δ ( a , a 0 ) δ ( b , b 0 ) ∑_{e∈E} ∑_{e_0∈E'}δ(a,a_0) δ(b,b_0) eEe0Eδ(aa0)δ(bb0)。如果边缘通过分配权重的函数 w w w加权,则基本核 k E k_E kE可以定义为 ∑ e ∈ E ∑ e 0 ∈ E ′ δ ( a , a 0 ) δ ( b , b 0 ) k w ( w ( e ) , w ( ( e 0 ) ) ∑_{e∈E} ∑_{e_0∈E'}δ(a,a_0) δ(b,b_0)k_w(w(e),w((e_0)) eEe0Eδ(aa0)δ(bb0)kw(w(e)w((e0)) ,其中 k w k_w kw是比较边缘权重的内核。
在这里插入图片描述

4.The Weisfeiler-Lehman Shortest Path Kernel

在这里,我们使用节点标记的最短路径内核作为基础内核。
在这里插入图片描述

Weisfeiler-Lehman Graph Kernels

https://github.com/BorgwardtLab/GraphKernels

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

  • 17
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值