圖結構的相似度度量與分類

AMiner學術頭條發表於2019-04-22

近日,來自法國LIX實驗室的Michalis教授在清華大學作了題為 “Graph Similarity and Classification” 的報告。

圖分類,即根據圖的拓撲結構預測圖的標籤,是圖挖掘中的一個重要問題。Michalis 教授首先介紹了幾個典型的圖分類應用,包括文字分類,蛋白質功能預測,化合物分類,異常檢測,惡意軟體檢測等。

圖結構的相似度度量與分類

分類問題的一種解決方法是將未知標籤的圖和已知標籤的圖進行比較,通過 k 近鄰的方法對圖進行分類,但比較兩個圖的相似度是一個非常複雜的問題。

Graph Kernel 方法將機器學習中的核方法(Kernel Methods)擴充到了圖結構資料上,是一類計算圖與圖之間相似度的方法。該方法可以高效地計算圖之間的相似度,並可以方便地使用SVM等分類器進行圖分類。

圖結構的相似度度量與分類

Graph Kernel 的思路是將圖對映到某個 Hilbert 空間,兩個圖之間的相似度可以通過 Hilbert 空間中的點積運算得到。常見的 Graph Kernel 定義為圖中子結構的分佈,子結構包括隨機遊走,最短路徑,環,子樹,Graphlets 等。現實中圖的拓撲結構非常複雜,簡單的 Graph Kernel 並不能很好地解決圖分類問題

Shervashidze 等人提出了 Weifsfeiler-Lehman (WL) Framework 提高 Graph Kernel 的效果。WL方法借鑑了標籤傳播的思想,需要進行h次迭代過程,每次迭代會構建一個新圖,圖的節點標籤根據上一次迭代的鄰居節點標籤更新,並計算更新後的Graph Kernel。WL方法中,圖的相似度由 h 次迭代過程中的 Graph Kernel 綜合得到。

圖結構的相似度度量與分類

介紹完 Graph Kernel 的相關背景後,Michalis 介紹了他們在 Graph Kernel 上的最新研究成果。"Matching Node Embeddings for Graph Similarity"是他們在 AAAI'17 發表的工作,提出了基於點向量(Node embedding)的圖相似度計算方法。

圖結構的相似度度量與分類

常見的 Graph Kernel 主要利用了區域性的子結構資訊,但缺少全域性資訊。該工作利用點向量計算圖之間的相似度,這些點向量包含圖的全域性資訊,而每個圖表示為這些點向量的集合,然後利用 Earth Mover's Distance 和 Pyramid Match Kernel 計算圖相似度。

圖結構的相似度度量與分類

“Degeneracy Framework for Graph Comparison” 是 Michalis 團隊發表在 IJCAI'18 的工作,並且獲得了 distinguished paper award. 該工作通過 Graph Degeneracy 過程得到每個圖的一系列 k-core 子圖,圖的相似度由不同階的 k-core 子圖的 Graph Kernel 綜合得到。該方法在多個 Benchmark 資料集上取得了 State of the Art (SoTA) 的效果。

圖結構的相似度度量與分類

"Enhancing Graph Kernels via Successive Embeddings"發表在 CIKM'18,該工作介紹了 Successive Embedding 的思想,首先將圖對映到某個 Hilbert 空間 H1,接著定義一個作用在 H1 上的核函式將圖在 H1 上的向量對映到新的 Hilbert 空間 H2 上,重複該過程若干次可以得到更復雜的 Graph Kernel。該方法在多個 Benchmark 資料集上都取得了不錯的分類精度。

圖結構的相似度度量與分類

圖結構的相似度度量與分類

最後,Michalis 介紹了 EMNLP’17 上的工作"Shortest-path graph kernels for document similarity"。該工作將文字表示成詞網路,將文字分類問題轉化為圖分類問題。該工作還提出了基於最短路徑的 Graph Kernel (SPGK) 用於計算圖的相似度,並在實驗中達到甚至超過了基於CNN的文字分類演算法。

圖結構的相似度度量與分類

Michalis 團隊還開發了計算 Graph Kernel 的 Python 工具包供開發人員和科研人員使用,工具包網址為https://github.com/ysig/GraKeL.

圖結構的相似度度量與分類

相關文章