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

  • 相关阅读:
    李宏毅机器学习课程笔记-6.1神经网络训练问题与解决方案
    PAT甲级1055The World's Richest
    PAT甲级1028List Sorting
    PAT甲级1025PAT Ranking
    PAT甲级1016Phone Bills
    五边形数
    组合计数
    [编程题] lc三数之和 (借助哈希表)
    [编程题] 基础:如何使用大顶堆和小顶堆找topN
    [编程题] lc [剑指 Offer 54二叉搜索树的第k大节点----或者是求第K小元素]
  • 原文地址:https://www.cnblogs.com/MTandHJ/p/16176689.html
Copyright © 2020-2023  润新知