Graph Laplacians and Laplacian Embedding


目录
  • 符号
  • 图的 Laplacian 矩阵
    • 无向带权图
    • 有用的性质
  • Laplacian Embedding
    • 高维嵌入
    • 与 Commute Time Distance (CTD) 的关系
  • 其它 Laplacian 的变种
    • normalized graph Laplacian
    • random-walk graph Laplacian

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\)的性质, 实在时不知道该怎么推导了.