Weisfeiler-Lehman(WL) 算法和WL Test


Weisfeiler-Lehman 算法

  很多論文中會講,從另一個角度來講,GCN模型可以看作圖上非常有名的 Weisfeiler-Lehman 算法的一種變形。那么什么是 Weisfeiler-Lehman 算法呢?

  一維的 Weisfeiler-Lehman 如下所示:

  

  

  下面舉例說明 Wisfeiler-Lehman 算法

  給定兩圖 $G$ 和 $G^{\prime}$,其中每個節點都已經打上了標簽(實際應用中,有些時候我們並拿不到節點的標簽, 這時可以對節點都標上 "1" 這個標簽)

  

  要比較 $\mathrm{G}$ 和 $\mathrm{G}^{\prime}$ 的相似性,我們來看看 weisfeiler-lehman 算法是怎么做的:

  1、aggregate 鄰居節點的標簽得到一個標簽的字符串,對字符串進行升序排列。

  

  2、對字符串進行哈希處理,這里生成了一個一一映射的字典,這一步也可以使用其它的字符串哈希函數,只要保證碰撞率盡量小就可以。

  

  3. 將哈希過的值重新賦值給相應的節點

  

  這樣第一輪迭代之后,  $G=\{6 、 6 、 8 、 10 、 11 、 13\} $, $G^{\prime}=\{6 , 7 , 9 , 10 , 12 , 13\}$  於是利用 Jaccard 公 式就可以計算出 $G$ 和 $G$ 的相似度了,如果需要更嚴格的對比,可以持續迭代上述過程。

Jaccard系數

  Jaccard index , 又稱為 Jaccard 相似系數(Jaccard similarity coefficient)用於比較有限樣本集之間的相似性與差異性。Jaccard 系數值越大,樣本相似度越高。

  定義:給定兩個集合A,B,Jaccard 系數定義為A與B交集的大小與A與B並集的大小的比值,定義如下:

    $J(A, B)=\frac{|A \cap B|}{|A \cup B|}=\frac{|A \cap B|}{|A|+|B|-|A \cap B|}$

  當集合 A,B 都為空時,J(A,B) 定義為 1。

  與Jaccard 系數相關的指標叫做Jaccard 距離,用於描述集合之間的不相似度。Jaccard 距離越大,樣本相似度越低。公式定義如下:

    $d_{j}(A, B)=1-J(A, B)=\frac{|A \cup B|-|A \cap B|}{|A \cup B|}=\frac{A \Delta B}{|A \cup B|}$

  其中對稱差(symmetric difference)$A \Delta B=|A \cup B|-|A \cap B|$ 。

  性質:$J(A, B) \in[0,1]$

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM