1. 程式人生 > 其它 >Graph Laplacians and Laplacian Embedding

Graph Laplacians and Laplacian Embedding

目錄

Horaud R. A Short Tutorial on Graph Laplacians, Laplacian Embedding, and Spectral Clustering.

看GCN的時候對基於譜的來龍去脈不是很理解, 這裡先整理下關於 Graph Laplacians 的知識.

符號

  • \(\mathcal{G} = \{\mathcal{V}, \mathcal{E}\}\): 圖;
  • \(\mathcal{V}(\mathcal{G}) = \{v_1, \cdots, v_n\}\): 頂點;
  • \(\mathcal{E} = \{e_{ij}\}\): 邊集, 每條邊\(e_{ij}\)連線\(v_i, v_j\) (倘若是有向圖, 則代表\(v_i \rightarrow v_j\));
  • \(d_i = d(v_i) = \sum_{e_{ij} \not= e_{ji}} 1\): 頂點\(v_i\)的度數, 即連線該點的邊的總數;
  • \(D \in \mathbb{R}^{n \times n}\)
    : 對角線元素為\(d(v_i), i = 1,2,\cdots, n\)其餘為0的矩陣;
  • \(A \in \{0, 1\}^{n \times n}\): 鄰接矩陣, \(A_{ij}=1\)\(e_{ij} \in \mathcal{E}\), 否則為\(0\), 需要注意的是\(A_{ii} = 0, i=1,2,\cdots, n\);
  • \(\nabla \in \{0, 1, -1\}^{m \times n}\): 有向圖的入射矩陣 (incidence matrix),
\[\nabla_{ki} = \left \{ \begin{array}{rl} -1 & k\text{-th edge } e \text{ starts at } v_i \\ 1 & k\text{-th edge } e \text{ ends at } v_i \\ 0 & \text{else}. \end{array} \right . \]

注: 無向圖可以看成是\(e_{ij} \in \mathcal{E} \Leftrightarrow e_{ji} \in \mathcal{E}\)

.

圖的 Laplacian 矩陣

假設我們通過對映\(f\)給每個頂點賦值, 即

\[\bm{f} := [f(v_1), f(v_2), \cdots, f(v_n)]^T. \]

\[(\nabla \bm{f}) (e_{ij}) = f(v_j) - f(v_i). \]

故我們可以將其看成是一階微分的近似 (沿著\(e_{ij}\)方向), 這實際上也是在數字影象處理中所提及的近似策略.

類似地, 我們可以用 Laplacian 矩陣去近似 Laplacian 運算元

\[L = \nabla^T \nabla, \]

可知\(\nabla^T\nabla \in \mathbb{R}^{n \times n}\) 有如下性質:

\[\tag{1} [\nabla^T \nabla]_{ij} = \sum_{k=1}^m \nabla_{ki}\nabla_{kj} = \left \{ \begin{array}{rl} d(v_i) & i = j \\ -1 & e_{ij} \in \mathcal{E} \\ 0 & \text{else}. \end{array} \right . = [D - A]_{ij}, \]

\[\tag{2} L = \nabla^T \nabla = D - A. \] \[\tag{3} L\bm{f} (v_i) = \sum_{v_j \rightarrow v_i} f(v_i) - f(v_j). \]

我們以圖片\(\bm{f} \in \mathbb{R}^{H \times W}\)在點\((x, y)\)的近似為例 (四鄰域):

\[\Delta f (x, y) = f(x + 1, y) + f(x - 1, y) + f(x, y + 1) + f(x, y - 1) - 4 f(x, y). \]

注意到, 因為是四鄰域, 所以該圖在\((x, y)\)處有邊指向上下左右, 故

\[\Delta f(x, y) = (L\bm{f})(v_i). \]

這就解釋了為啥它的名字是 Laplacian 矩陣, 也一定程度上說明了它的一些性質.

無向帶權圖

假設每條邊\(e_{ij}\)附帶非負權重\(w_{ij} = w_{ji} > 0\), 為了統一表示, 令\(w_{ij} = 0\)表示\(v_i, v_j\)之間不存在邊. 通常, 權值越大代表兩個點之間的相似度越高. 這時

\[\tag{4} \nabla_{ki} = \left \{ \begin{array}{rl} -\sqrt{w_{ij}} & k\text{-th edge } e: v_i \rightarrow v_j \\ \sqrt{w_{ij}} & k\text{-th edge } e: v_j \rightarrow v_i \\ 0 & \text{else}. \end{array} \right . \]

類似地有:

\[\tag{1+} [\nabla^T \nabla]_{ij} = \sum_{k=1}^m \nabla_{ki}\nabla_{kj} = \left \{ \begin{array}{rl} d(v_i) & i = j \\ -w_{ij} & e_{ij} \in \mathcal{E} \\ 0 & \text{else}. \end{array} \right . = [D - W]_{ij}, \]

這裡 \(W_{ij} = w_{ij}, d(v_i) = \sum_{j=1}^n w_{ij}\).

於是我們定義:

\[\tag{2+} L = \nabla^T \nabla = D - W. \]

注: (4)式嚴格來說存在矛盾的. 之前定義 \(L\) 的時候, 我們假定 \(A\) 的對角線元素為0, 這意味著 \(w_{ii}\) 也應該為0, 但是因為通常將\(w_{ij}\)視作兩個頂點的相似度, 所以通常這個\(w_{ii}\)是非零的, 甚至是最大的值, 如下面常用的高斯核:

\[w_{ij} := \exp(-\|\bm{v}_i - \bm{v}_j\|^2 / \sigma^2). \]

事實上, 對於 (2) 而言, 只要假設存在邊\(e_{ii}\), 此時\(A_{ii} = 1\) 便和 (2+) 統一了. 只是對於\(\nabla\)的定義需要額外宣告.


有用的性質

  1. \(L\bm{f}\).
\[(L\bm{f})(v_i) = \sum_{j} w_{ij} (f(v_i) - f(v_j)). \]
  1. Laplacian 矩陣 \(L\) 是對稱半正定的:
\[\bm{f}^T L \bm{f} = \bm{f}^T D \bm{f} - \bm{f}^T W \bm{f} = \frac{1}{2}\sum_{i, j} w_{ij} (f(v_j) - f(v_i))^2. \]
  1. \(\bm{1}\)\(L\)的特徵向量, 且特徵值為0:
\[L\bm{1} = \bm{0}. \]

Laplacian Embedding

讓我從 Laplacian Embedding 的角度去理解 Graph Lapacian 矩陣的意義, 正如我們先前所提的, 我們希望設計一個函式\(f: \mathcal{V} \rightarrow \mathbb{R}\), 通常我們還希望對映後的值 \(f(v_i), f(v_j)\) 滿足相似度關係: 相似度越高的點之間應該'接近'. 在這個需求下, 我們觀察下式:

\[\tag{5} \min_f \: \frac{\bm{f}^T L \bm{f}}{\bm{f}^T\bm{f}} = \frac{\sum_{i,j} w_{ij} (f(v_j) - f(v_i))^2}{2 \bm{f}^T \bm{f}}, \]

\(w_{ij}\)衡量\(v_i, v_j\)之間相似度時, 上式天然滿足我們的需求.

但是顯然 (5) 顯然在 \(\bm{f} = \bm{1}\)時達到最小值\(0\), 但是這種對映是平凡的無意義的, 反映不了任何相似度資訊. 一般來說, \(w_{ij} > 0\), 任何非平凡的對映\(f\)都會導致(5)非零. 不妨假設 \(L\) 的特徵分解為

\[\lambda_1 = 0 < \lambda_2 \le \cdots \le \lambda_n, \quad [\bm{u}_1 = \bm{1}, \bm{u}_2, \cdots, \bm{u}_n] \in \mathbb{R}^{n \times n}. \]

我們應當選擇第一個非零的特徵值\(\lambda_2\)所對應的特徵向量\(\bm{u}_2\)作為對映\(f\), 即 \(f(v_i) = [\bm{u}_2]_i\).


注: \(\lambda > 0\)的假設在\(w_{ij} > 0, \forall i, j\)的條件下是成立的, 否則\(\lambda_2=0\)也是可能的. 比如一個\(k\)可分的圖, 其 Laplacian 矩陣可以分解為:

\[L = \left [ \begin{array}{ccc} L_1 & & \\ & \ddots & \\ & & L_k \\ \end{array} \right ], \]

此時\(\bm{1}_{L_i} := (00\cdots011\cdots100\cdots0)^T \in \mathbb{R}^n\)均是特徵值為\(0\)的特徵向量.


高維嵌入

用一維標量來衡量一個點總歸是有些捉襟見肘, 所以這次我們用 k 個對映 \(f_1, \cdots, f_k\), 此時每個頂點所對應的向量為:

\[[f_1(v_1), f_2(v_2), \cdots, f_k (v_k)]^T \in \mathbb{R}^k. \]

我們用\(F \in \mathbb{R}^{n \times k}\)來表示\(n\)個頂點的向量集合, 即\(F_{ij} = f_j(v_i)\).

類似地, 我們希望最小化

\[\tag{6} \min_{f_1,\cdots, f_k} \: \sum_{j=1}^k \frac{\bm{f}_j^T L \bm{f}_j}{\bm{f}_j^T\bm{f}_j}, \\ \mathrm{s.t.}\: \bm{f}_j^T \bm{1} = 0, \: j = 1,2,\cdots, k. \]

但是這裡又有一個問題, 上述的會導致所有的\(\bm{f}\)都取\(\bm{u}_2\), 故我們需要對\(F\)加以限制, 比如常見的

\[FF^T = I_n, \]

這保證了\(\bm{f}_i, \bm{f}_j, i \not = j\)之間是正交的, 即寄託了我們希望學習到更廣泛發散的特徵. 於是, (6) 等價於

\[\begin{array}{ll} \min_{f_1, \cdots, f_k} & \mathrm{Tr}(F^TLF) \\ \mathrm{s.t.} & F^T \bm{1} = \bm{0} \\ & FF^T = I_n. \end{array} \]

實際上, 其解就是

\[F^* = U_k = [\bm{u}_2, \bm{u}_3, \cdots, \bm{u}_{k + 1}]. \]

與 Commute Time Distance (CTD) 的關係

假設 Laplacian 分解為

\[L = U_{n-1} \Lambda_{n-1} U_{n-1}^T = \sum_{i=2}^n \lambda_i \bm{u}_i\bm{u}_i^T, \]

其中

\[U_{n-1} = [\bm{u}_2, \cdots, \bm{u}_n] \in \mathbb{R}^{n \times (n - 1)}, \]

對角矩陣\(\Lambda\)的各元素為

\[[\Lambda_{n-1}]_{ii} = \lambda_{i + 1} > 0. \]

把圖\(\mathcal{G}\)的各個頂點看作是一個狀態, 並定義狀態轉移矩陣:

\[P = D^{-1}W, \]

\(P_{ij} = \frac{w_{ij}}{d_i}\), 因為我們考慮的是無向圖, 故\(W\)的對稱的, 故\(P\)是對稱的.
定義\(M_{ij}\)為從狀態\(v_i\)出發第一次達到狀態\(v_j\)所需的平均時間, 其嚴格定義為:

\[M_{ij} := \sum_{t = 1}^{+\infty} t f_{ij}^t, \]

其中\(f_{ij}^t\)表示初始狀態為\(v_i\), \(t\)步後狀態為\(v_j\)且中間沒有經過\(v_j\)的概率.

如果我們令

\[X = [\bm{x}_1, \bm{x}_2, \cdots, \bm{x}_n] = \Lambda_{n-1}^{-\frac{1}{2}} U_{n-1}^T \in \mathbb{R}^{(n-1) \times n}. \]

\[M_{ij} + M_{ji} = vol(\mathcal{G}) \|\bm{x}_i - \bm{x}_j\|^2_2. \]

\(vol(\mathcal{G}) := \sum_{ij} w_{ij}\).

此時, 倘若我們將 \(\bm{x}_i\)作為\(v_i\)的 embedding, 則我們可以理解為兩個頂點的歐式距離為兩個狀態的 CTD, 妙.

下面的證明搬運自 here, 其中我省略了部分不可約假設和唯一性證明.


proof:

平均時間\(M_{ij}\)可以理解為, 一步\(v_i \rightarrow v_j\)的時間加上 \(v_{i} \rightarrow v_k \rightarrow v_j, k \not = j\)的時間:

\[\begin{array}{ll} M_{ij} &= P_{ij} + \sum_{k \not = j} P_{ik} (1 + M_{kj}) \\ &= 1 + \sum_{k=1}^n P_{ik}M_{kj} - P_{ij}M_{jj}, \end{array} \]

\(M_d := \mathrm{diag}(M), E = \bm{1}\bm{1}^T\), 則

\[M = E + P(M - M_d). \]

易知\(\bm{d} = [d_1, d_2, \cdots, d_n]^T\)滿足

\[\bm{d}^T P = \bm{d}^T. \]

\[\begin{array}{ll} \bm{d}^TM = \bm{d}^TE + \bm{d}^T(M - M_d) &\rightarrow \bm{d}^T M_d = \bm{d}^T \bm{1}\bm{1}^T \\ &\rightarrow \bm{d}^TM_d = vol(\mathcal{G}) \bm{1}^T \quad vol(\mathcal{G}) := \sum_{ij} w_{ij} \\ &\rightarrow [M_d]_{ii} = \frac{vol(\mathcal{G})}{d_i}. \end{array} \]

在此基礎上, 我們再求解\(M\), 定義 \(T := M - M_d\), 則有

\[(I - P)T = E - M_d, \]

左端乘以\(D\)可得

\[LT = DE - DM_d \Leftrightarrow U_{n-1} \Lambda_{n-1} U_{n-1}^T = DE - DM_d, \]

\(L\)的偽逆 \(\mathcal{L}^{\dagger} := U_{n-1} \Lambda_{n-1}^{-1} U_{n-1}^T = X^TX\)

\[L^{\dagger}L = I - \frac{1}{n} \bm{1}\bm{1}^T. \]

\[T - \frac{1}{n}\bm{1}\bm{1}^T T = L^{\dagger}(DE - DM_d), \]

\(\bm{z} := \frac{1}{n}\bm{1}^T T\), 我們有 (\(DM_d = vol(\mathcal{G}I)\))

\[T_{ij} = \sum_{k=1}^n L^{\dagger}_{ik}d_k - vol(\mathcal{G}) L_{ij}^{\dagger} + z_j, \]

因為\(T_{ii} = 0\), 故

\[z_j = -\sum_{k=1}^n L^{\dagger}_{ik}d_k - vol(\mathcal{G}) L_{ii}^{\dagger}. \]

所以

\[M_{ij} + M_{ji} = vol(\mathcal{G}) [L_{ii}^{\dagger} + L_{jj}^{\dagger} - 2L_{ij}^{\dagger}] = vol(\mathcal{G})\|\bm{x}_i - \bm{x}_j\|^2_2. \]

其它 Laplacian 的變種

normalized graph Laplacian

\[L_n := D^{-\frac{1}{2}} L D^{-\frac{1}{2}} = I - D^{-\frac{1}{2}} W D^{-\frac{1}{2}}. \]
  1. \(D^{\frac{1}{2}}\bm{1}\)為其零特徵值.
\[L_n D^{\frac{1}{2}} \bm{1} = 0 \]

但是\(\mathcal{D}^{\frac{1}{2}}\bm{u}_k\)卻不一定是其特徵向量.

random-walk graph Laplacian

\[L_r := D^{-1}L = D^{-\frac{1}{2}} L_n D^{\frac{1}{2}} = I - D^{-1} W. \]

注: \([D^{-1}W]_{ij} = \frac{w_{ij}}{d(v_i)}\), 在馬氏鏈中, 將每個頂點看成一個狀態, 則狀態轉移概率可以定義為\(P_{ij} = [D^{-1}W]_{ij}\), 即狀態轉移矩陣 \(P = D^{-1}W = I - L_r\). 隨機遊走的 mixing rate 和 收斂速度和 \(\lambda_2\) 息息相關 (具體關係以後有空了再回顧下吧, 這裡打住).


  1. \(L_r \bm{u} = \lambda \bm{u} \Leftrightarrow L \bm{u} = \lambda D \bm{u}\), 所以
\[L_r \bm{1} = \bm{0}. \]
  1. \(L_r \bm{u} = \lambda \bm{u} \Leftrightarrow L_n D^{\frac{1}{2}} \bm{u} = \lambda D^{\frac{1}{2}} \bm{u}\).
  2. \(L_r \bm{u} = \lambda \bm{u}\), 則
\[\bm{u}^T \bm{d} = \frac{1}{\lambda} \bm{u}^T L_r^T D \bm{1} = \frac{1}{\lambda} \bm{u}^T L^T \bm{1} = 0. \]
  1. \(L_r \bm{u}_i = \lambda_i \bm{u}_i, i=2,3,\cdots, n\), 則
\[\bm{u}_i^T D \bm{u}_j = \frac{1}{\lambda}\bm{u}_i^T L \bm{u}_j = \frac{\lambda_j}{\lambda_i} \bm{u}_i^T D \bm{u}_j. \]

這意味著 \(\lambda_{i} \not = \lambda_j\)時有 \(\bm{u}_i^T D \bm{u}_j = 0\), PPT中有 \(U^T D U = I\)的性質, 實在時不知道該怎麼推導了.