圖神經網絡-簡單圖論


圖結構數據

注:本節大部分內容(包括圖片)來源於"Chapter 2 - Foundations of Graphs, Deep Learning on Graphs",我們做了翻譯與重新排版,並增加了一些細節內容。

一、圖的表示

定義一(圖)

  • 一個圖被記為\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\),其中 \(\mathcal{V}=\left\{v_{1}, \ldots, v_{N}\right\}\)是數量為\(N=|\mathcal{V}|\) 的結點的集合, \(\mathcal{E}=\left\{e_{1}, \ldots, e_{M}\right\}\) 是數量為 \(M\) 的邊的集合。
  • 圖用節點表示實體(entities ),用邊表示實體間的關系(relations)。
  • 節點和邊的信息可以是類別型的(categorical),類別型數據的取值只能是哪一類別。一般稱類別型的信息為標簽(label)
  • 節點和邊的信息可以是數值型的(numeric),類別型數據的取值范圍為實數。一般稱類別型的信息為屬性(attribute)
  • 大部分情況中,節點含有信息,邊可能含有信息。

定義二(圖的鄰接矩陣)

  • 給定一個圖\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\),其對應的鄰接矩陣被記為\(\mathbf{A} \in\{0,1\}^{N \times N}\)\(\mathbf{A}_{i, j}=1\)表示存在從結點\(v_i\)\(v_j\)的邊,反之表示不存在從結點\(v_i\)\(v_j\)的邊。

  • 無向圖中,從結點\(v_i\)\(v_j\)的邊存在,意味着從結點\(v_j\)\(v_i\)的邊也存在。因而無向圖的鄰接矩陣是對稱的

  • 無權圖中,各條邊的權重被認為是等價的,即認為各條邊的權重為\(1\)

  • 對於有權圖,其對應的鄰接矩陣通常被記為\(\mathbf{W} \in\{0,1\}^{N \times N}\),其中\(\mathbf{W}_{i, j}=w_{ij}\)表示從結點\(v_i\)\(v_j\)的邊的權重。若邊不存在時,邊的權重為\(0\)

    一個無向無權圖的例子:

    一個有5個結點和6條邊的圖

    其鄰接矩陣為:

    \[\mathbf{A}=\left(\begin{array}{lllll} 0 & 1 & 0 & 1 & 1 \\ 1 & 0 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 1 \\ 1 & 0 & 0 & 0 & 1 \\ 1 & 0 & 1 & 1 & 0 \end{array}\right) \]

二、圖的屬性

定義三(結點的度,degree)

  • 對於有向有權圖,結點\(v_i\)的出度(out degree)等於從\(v_i\)出發的邊的權重之和,結點\(v_i\)的入度(in degree)等於從連向\(v_i\)的邊的權重之和。
  • 無向圖是有向圖的特殊情況,結點的出度與入度相等。
  • 無權圖是有權圖的特殊情況,各邊的權重為\(1\),那么結點\(v_i\)的出度(out degree)等於從\(v_i\)出發的邊的數量,結點\(v_i\)的入度(in degree)等於從連向\(v_i\)的邊的數量。
  • 結點\(v_i\)的度記為\(d(v_i)\),入度記為\(d_{in}(v_i)\),出度記為\(d_{out}(v_i)\)

定義四(鄰接結點,neighbors)

  • 結點\(v_i\)的鄰接結點為與結點\(v_i\)直接相連的結點,其被記為\(\mathcal{N(v_i)}\)
  • 結點\(v_i\)\(k\)跳遠的鄰接節點(neighbors with \(k\)-hop)指的是到結點\(v_i\)要走\(k\)步的節點(一個節點的\(2\)跳遠的鄰接節點包含了自身)。

定義五(行走,walk)

  • \(walk(v_1, v_2) = (v_1, e_6,e_5,e_4,e_1,v_2)\),這是一次“行走”,它是一次從節點\(v_1\)出發,依次經過邊\(e_6,e_5,e_4,e_1\),最終到達節點\(v_2\)的“行走”。
  • 下圖所示為\(walk(v_1, v_2) = (v_1, e_6,e_5,e_4,e_1,v_2)\),其中紅色數字標識了邊的訪問序號。
  • 在“行走”中,節點是運行重復的。
image-20210508134652644

定理六

  • 有一圖,其鄰接矩陣為 \(\mathbf{A}\), \(\mathbf{A}^{n}\)為鄰接矩陣的\(n\)次方,那么\(\mathbf{A}^{n}[i,j]\)等於從結點\(v_i\)到結點\(v_j\)的程度為\(n\)的行走的個數。

定義七(路徑,path)

  • “路徑”是結點不可重復的“行走”。

定義八(子圖,subgraph)

  • 有一圖\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\),另有一圖\(\mathcal{G}^{\prime}=\{\mathcal{V}^{\prime}, \mathcal{E}^{\prime}\}\),其中\(\mathcal{V}^{\prime} \in \mathcal{V}\)\(\mathcal{E}^{\prime} \in \mathcal{E}\)並且\(\mathcal{V}^{\prime}\)不包含\(\mathcal{E}^{\prime}\)中未出現過的結點,那么\(\mathcal{G}^{\prime}\)\(\mathcal{G}\)的子圖。

定義九(連通分量,connected component)

  • 給定圖\(\mathcal{G}^{\prime}=\{\mathcal{V}^{\prime}, \mathcal{E}^{\prime}\}\)是圖\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\)的子圖。記屬於圖\(\mathcal{G}\)但不屬於\(\mathcal{G}^{\prime}\)圖的結點集合記為\(\mathcal{V}/\mathcal{V}^{\prime}\) 。如果屬於\(\mathcal{V}^{\prime}\)的任意結點對之間存在至少一條路徑,但不存在一條邊連接屬於\(\mathcal{V}^{\prime}\)的結點與屬於\(\mathcal{V}/\mathcal{V}^{\prime}\)的結點,那么圖\(\mathcal{G}^{\prime}\)是圖\(\mathcal{G}\)的連通分量。

    連通分量實例

    左右兩邊子圖都是整圖的連通分量。

定義十(連通圖,connected graph)

  • 當一個圖只包含一個連通分量,即其自身,那么該圖是一個連通圖。

定義十一(最短路徑,shortest path)

  • \(v_{s}, v_{t} \in \mathcal{V}\) 是圖\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\)上的一對結點,結點對\(v_{s}, v_{t} \in \mathcal{V}\)之間所有路徑的集合記為\(\mathcal{P}_{\mathrm{st}}\)。結點對\(v_{s}, v_{t}\)之間的最短路徑\(p_{\mathrm{s} t}^{\mathrm{sp}}\)\(\mathcal{P}_{\mathrm{st}}\)中長度最短的一條路徑,其形式化定義為

    \[p_{\mathrm{s} t}^{\mathrm{sp}}=\arg \min _{p \in \mathcal{P}_{\mathrm{st}}}|p| \]

    其中,\(p\)表示\(\mathcal{P}_{\mathrm{st}}\)中的一條路徑,\(|p|\)是路徑\(p\)的長度。

定義十二(直徑,diameter)

  • 給定一個連通圖\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\),其直徑為其所有結點對之間的最短路徑的最小值,形式化定義為

\[\operatorname{diameter}(\mathcal{G})=\max _{v_{s}, v_{t} \in \mathcal{V}} \min _{p \in \mathcal{P}_{s t}}|p| \]

定義十三(拉普拉斯矩陣,Laplacian Matrix)

  • 給定一個圖\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\),其鄰接矩陣為\(A\),其拉普拉斯矩陣定義為\(\mathbf{L=D-A}\),其中\(\mathbf{D=diag(d(v_1), \cdots, d(v_N))}\)

定義十四(對稱歸一化的拉普拉斯矩陣,Symmetric normalized Laplacian)

  • 給定一個圖\(\mathcal{G}=\{\mathcal{V}, \mathcal{E}\}\),其鄰接矩陣為\(A\),其規范化的拉普拉斯矩陣定義為

\[\mathbf{L=D^{-\frac{1}{2}}(D-A)D^{-\frac{1}{2}}=I-D^{-\frac{1}{2}}AD^{-\frac{1}{2}}} \]

三、圖的種類

  • 同質圖(Homogeneous Graph):只有一種類型的節點和一種類型的邊的圖。
  • 異質圖(Heterogeneous Graph):存在多種類型的節點和多種類型的邊的圖。
    image-20210516164150162
  • 二部圖(Bipartite Graphs):節點分為兩類,只有不同類的節點之間存在邊。
    image-20210516164400658

四、圖結構數據上的機器學習

image-20210508171206912
  1. 節點預測:預測節點的類別或某類屬性的取值
    1. 例子:對是否是潛在客戶分類、對游戲玩家的消費能力做預測
  2. 邊預測:預測兩個節點間是否存在鏈接
    1. 例子:Knowledge graph completion、好友推薦、商品推薦
  3. 圖的預測:對不同的圖進行分類或預測圖的屬性
    1. 例子:分子屬性預測
  4. 節點聚類:檢測節點是否形成一個社區
    1. 例子:社交圈檢測
  5. 其他任務
    1. 圖生成:例如葯物發現
    2. 圖演變:例如物理模擬
    3. ……

五、應用神經網絡於圖面臨的挑戰

在學習了簡單的圖論知識,我們再來回顧應用神經網絡於圖面臨的挑戰。

過去的深度學習應用中,我們主要接觸的數據形式主要是這四種:矩陣、張量、序列(sequence)和時間序列(time series)它們都是規則的結構化的數據。然而圖數據是非規則的非結構化的,它具有以下的特點:

  1. 任意的大小和復雜的拓撲結構;
  2. 沒有固定的結點排序或參考點;
  3. 通常是動態的,並具有多模態的特征;
  4. 圖的信息並非只蘊含在節點信息和邊的信息中,圖的信息還包括了圖的拓撲結構。

image-20210508111141393

以往的深度學習技術是為規則且結構化的數據設計的,無法直接用於圖數據。應用於圖數據的神經網絡,要求

  • 適用於不同度的節點
  • 節點表征的計算與鄰接節點的排序無關
  • 不但能夠根據節點信息、鄰接節點的信息和邊的信息計算節點表征,還能根據圖拓撲結構計算節點表征。下面的圖片展示了一個需要根據圖拓撲結構計算節點表征的例子。圖片中展示了兩個圖,它們同樣有倆黃、倆藍、倆綠,共6個節點,因此它們的節點信息相同;假設邊兩端節點的信息為邊的信息,那么這兩個圖有一樣的邊,即它們的邊信息相同。但這兩個圖是不一樣的圖,它們的拓撲結構不一樣。

image-20210607160411448

六、結語

在此篇文章中,我們學習了簡單的圖論知識。對於學習此次組隊學習后續的內容,掌握這些圖論知識已經足夠。如果有小伙伴希望掌握更多的圖論知識可以參閱參考文獻“Chapter 2 - Foundations of Graphs, Deep Learning on Graphs”。

參考資料


免責聲明!

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



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