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),
注: 无向图可以看成是\(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\)的定义需要额外声明.
有用的性质
- \(L\bm{f}\).
- Laplacian 矩阵 \(L\) 是对称半正定的:
- \(\bm{1}\)为\(L\)的特征向量, 且特征值为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\)所需的平均时间, 其严格定义为:
其中\(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}}. \]- \(D^{\frac{1}{2}}\bm{1}\)为其零特征值.
但是\(\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\) 息息相关 (具体关系以后有空了再回顾下吧, 这里打住).
- \(L_r \bm{u} = \lambda \bm{u} \Leftrightarrow L \bm{u} = \lambda D \bm{u}\), 所以
- \(L_r \bm{u} = \lambda \bm{u} \Leftrightarrow L_n D^{\frac{1}{2}} \bm{u} = \lambda D^{\frac{1}{2}} \bm{u}\).
- \(L_r \bm{u} = \lambda \bm{u}\), 则
- \(L_r \bm{u}_i = \lambda_i \bm{u}_i, i=2,3,\cdots, n\), 则
这意味着 \(\lambda_{i} \not = \lambda_j\)时有 \(\bm{u}_i^T D \bm{u}_j = 0\), PPT中有 \(U^T D U = I\)的性质, 实在时不知道该怎么推导了.