日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Weisfeiler-Leman test与WL subtree kernel

發布時間:2023/12/15 编程问答 71 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Weisfeiler-Leman test与WL subtree kernel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Weisfeiler-Lehman test及其擴展

  • 引言
    • 圖同構
    • WL test(Weisfeiler-Lehman test)
    • 一維Weisfeiler-Lehman test的一個例子
    • WL子樹核(WL subtree kernel)
    • 參考文獻

引言

在閱讀GNN相關論文時,經常會碰到一個概念叫做WL test(Weisfeiler-Lehman test),然而網上對這個概念的相關介紹卻很少。本人在查閱了一些資料后,將自己對這個概念的理解記錄下來,希望能和大家交流學習。由于本人學識有限,有不妥之處還請大家批評指正。

圖同構

在介紹具體的Weisfeiler-Lehman test和Weisfeiler-Lehman算法之前,先對圖同構(Graph Isomorphism)的概念進行簡單的回顧。圖同構是圖論中用來描述兩個圖在拓撲結構上是否完全等價的一個概念,如果兩個圖GGGHHH完全等價,我們稱GGGHHH是同構的;否則,GGGHHH是非同構的。顯然,兩個圖GGGHHH等價的必要條件是:GGGHHH必須是同階的(GGGHHH有相同的節點數目)。描述兩個圖同構的嚴格數學定義為:兩個簡單圖GGGHHH是同構的,當且僅當存在一個將GGG的節點1,...,n1, ..., n1,...,n映射到HHH的節點1,...,n1, ..., n1,...,n的一一對應σ\sigmaσ ,使得GGG中任意兩個節點viv_ivi?vjv_jvj?相連接,當且僅當HHH中對應的兩個節點σ(vi)\sigma(v_i)σ(vi?)σ(vj)\sigma(v_j)σ(vj?)相連接。如果GGGHHH是有向圖,那么同構的定義中還進一步要求對于GGG中任意兩個相連的節點viv_ivi?vjv_jvj?,邊(i,j)(i, j)(i,j)與它在HHH中對應的邊(σ(vi),σ(vj))(\sigma(v_i), \sigma(v_j))(σ(vi?),σ(vj?))方向相同。類似地可以定義兩個多重圖的同構關系。
關于圖同構的一個具體例子如下,為方便起見,兩圖中對應節點被染成了相同的顏色:

WL test(Weisfeiler-Lehman test)

判斷兩個圖是否為同構的是一個非常困難的問題,目前還沒有一個可以在多項式時間內求解的算法。除了一些極端的情況外,WL test是用來判斷兩個圖是否是同構的一個有效的方法,它的一維形式“naive vertex refinement”類似于GNN中的鄰居信息聚合。具體操作分為兩步:
(1)聚合當前節點vvv及當前節點vvv鄰居節點的標簽;
(2)用一個哈希函數將(1)中的聚合結果映射為一個新的標簽并賦給節點vvv
將上述兩個步驟迭代多次,判斷兩個圖GGGHHH的節點標簽是否相同,若相同,則認為圖GGGHHH是同構的;否則,GGGHHH是非同構的。如果設hih_ihi?表示節點viv_ivi?的標簽,那么標簽的更新公式可以表示為:
hl(t)(v)=HASH(hl(t?1)(v),F{hl(t?1)∣u∈N(v)})h_l^{(t)}(v)=HASH(h_l^{(t-1)}(v), F\{h_l^{(t-1)}|u \in N(v)\}) hl(t)?(v)=HASH(hl(t?1)?(v),F{hl(t?1)?uN(v)})
其中,ttt表示迭代次數,N(v)N(v)N(v)表示圖中節點vvv的鄰居節點集合。

一維Weisfeiler-Lehman test的一個例子

給定有標簽的圖GGGG′G^{'}G:

1.聚合兩圖中每個節點及其鄰居節點的標簽,當前節點自身的標簽和其鄰居節點標簽之間用逗號隔開,鄰居節點標簽按升序排列,聚合結果如下:

2.用定義在多重集上的哈希函數在1中結果的基礎上進行計算,得到每個節點的新的標簽,并將新標簽賦給相應節點:


如果兩個圖GGGHHH是同構的,則在某次迭代之后,這兩個圖對應節點的標簽會變成完全相同的。

WL子樹核(WL subtree kernel)

WL子樹核是Shervashidze等人于2011年基于WL test提出的概念,它用來度量兩個圖之間的相似性。子樹核用WL test迭代過程中不同節點標簽的數量來作為圖的特征向量。在WL test的第k次迭代過程中,一個節點的標簽表示以該節點為根,高為k的一個子樹結構。聽起來有點太抽象了,下面用一個例子來說明:

上圖中左邊的部分表示原始的Graph,右邊表示在經過兩次WL test迭代后,以節點2為根的高為2(這里高的2和兩次迭代相對應)的rooted subtree(根子樹)的結構。除了上圖右邊所示的以節點2為根的高為2的根子樹結構,以節點1,3,4為根的子樹結構如下圖所示(涂黑的表示節點2):

由于節點1和節點4對稱,所以節點1和節點4對應的子樹結構是相同的,因此,兩次WL test迭代后形成的不同節點標簽數為3。

參考文獻

  • HOWPOWERFUL AREGRAPHNEURALNETWORKS?
  • GNN 教程:Weisfeiler-Leman 算法
  • 圖同構
  • 總結

    以上是生活随笔為你收集整理的Weisfeiler-Leman test与WL subtree kernel的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。