提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
拉普拉斯矩阵的来龙去脉
前言
提示:
最近在学习关于图的一些知识,这篇就记录一下拉普拉斯矩阵的来龙去脉
一、拉普拉斯算子?
理解图的拉普拉斯矩阵,首先要了解什么是微积分中的拉普拉斯算子
多元函数
f
(
x
1
,
x
2
,
x
3
,
x
4
,
,
,
,
x
n
)
.
\ f(x1,x2,x3,x4,,,,xn).
f(x1,x2,x3,x4,,,,xn).
的拉普拉斯算子是所有自变量的非混合二阶偏导数之和
Δ
f
=
∑
i
=
1
n
∂
2
f
∂
x
i
2
\Delta f=\sum_{i=1}^n \frac{\partial^2 f}{\partial x_i^2}
Δf=i=1∑n∂xi2∂2f
例如对于三元函数
f
(
x
,
y
,
z
)
.
\ f(x,y,z).
f(x,y,z).
其拉普拉斯算子为
Δ
f
=
∂
2
f
∂
x
2
+
∂
2
f
∂
y
2
+
∂
2
f
∂
z
2
\Delta f=\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2}+\frac{\partial^2 f}{\partial z^2}
Δf=∂x2∂2f+∂y2∂2f+∂z2∂2f
很多时候我们之只能近似计算导数值,称为数值微分。如果 △x 的值接近于0,则在 x 点处的导数可以用下面的公式近似计算
f
′
(
x
)
≈
f
(
x
+
Δ
x
)
−
f
(
x
)
Δ
x
f^{\prime}(x) \approx \frac{f(x+\Delta x)-f(x)}{\Delta x}
f′(x)≈Δxf(x+Δx)−f(x)
称为单侧差分公式。对于二阶导数,有
f
′
′
(
x
)
≈
f
′
(
x
)
−
f
′
(
x
−
Δ
x
)
Δ
x
≈
f
(
x
+
Δ
x
)
−
f
(
x
)
Δ
x
−
f
(
x
)
−
f
(
x
−
Δ
x
)
Δ
x
Δ
x
=
f
(
x
+
Δ
x
)
+
f
(
x
−
Δ
x
)
−
2
f
(
x
)
(
Δ
x
)
2
\begin{aligned} f^{\prime \prime}(x) & \approx \frac{f^{\prime}(x)-f^{\prime}(x-\Delta x)}{\Delta x} \approx \frac{\frac{f(x+\Delta x)-f(x)}{\Delta x}-\frac{f(x)-f(x-\Delta x)}{\Delta x}}{\Delta x} \\ & =\frac{f(x+\Delta x)+f(x-\Delta x)-2 f(x)}{(\Delta x)^2} \end{aligned}
f′′(x)≈Δxf′(x)−f′(x−Δx)≈ΔxΔxf(x+Δx)−f(x)−Δxf(x)−f(x−Δx)=(Δx)2f(x+Δx)+f(x−Δx)−2f(x)
下面考虑多元函数的偏导数。对于二元函数
f
(
x
,
y
)
.
\ f(x,y).
f(x,y).
其拉普拉斯算子可以用下面的公式近似计算
Δ
f
=
∂
2
f
∂
x
2
+
∂
2
f
∂
y
2
≈
f
(
x
+
Δ
x
,
y
)
+
f
(
x
−
Δ
x
,
y
)
−
2
f
(
x
,
y
)
(
Δ
x
)
2
+
f
(
x
,
y
+
Δ
y
)
+
f
(
x
,
y
−
Δ
y
)
−
2
f
(
x
,
y
)
(
Δ
y
)
2
\begin{aligned} \Delta f & =\frac{\partial^2 f}{\partial x^2}+\frac{\partial^2 f}{\partial y^2} \\ & \approx \frac{f(x+\Delta x, y)+f(x-\Delta x, y)-2 f(x, y)}{(\Delta x)^2}+\frac{f(x, y+\Delta y)+f(x, y-\Delta y)-2 f(x, y)}{(\Delta y)^2} \end{aligned}
Δf=∂x2∂2f+∂y2∂2f≈(Δx)2f(x+Δx,y)+f(x−Δx,y)−2f(x,y)+(Δy)2f(x,y+Δy)+f(x,y−Δy)−2f(x,y)
如果上面的二元函数进行离散化,对自变量的一系列点处的函数值进行采样,得到下面一系列点处的函数值,构成一个矩阵
在这里 x为水平方向, y为垂直方向。为了简化,假设 x 和 y 的增量即步长全为1,即
Δ
x
=
x
i
+
1
−
x
i
=
1
,
Δ
y
=
y
i
+
1
−
y
i
=
1
\Delta x=x_{i+1}-x_i=1,\Delta y=y_{i+1}-y_i=1
Δx=xi+1−xi=1,Δy=yi+1−yi=1
则点
(
x
i
,
y
j
)
\left(x_i, y_j\right)
(xi,yj)
处的拉普拉斯算子可以用下面的公式近似计算
f
(
x
i
+
Δ
x
,
y
j
)
+
f
(
x
i
−
Δ
x
,
y
j
)
−
2
f
(
x
i
,
y
j
)
(
Δ
x
)
2
+
f
(
x
i
,
y
j
+
Δ
y
)
+
f
(
x
i
,
y
j
−
Δ
y
)
−
2
f
(
x
i
,
y
j
)
(
Δ
y
)
2
=
f
(
x
i
+
1
,
y
j
)
+
f
(
x
i
−
1
,
y
j
)
−
2
f
(
x
i
,
y
j
)
1
2
+
f
(
x
i
,
y
j
+
1
)
+
f
(
x
i
,
y
j
−
1
)
−
2
f
(
x
i
,
y
j
)
1
2
=
f
(
x
i
+
1
,
y
j
)
+
f
(
x
i
−
1
,
y
j
)
+
f
(
x
i
,
y
j
+
1
)
+
f
(
x
i
,
y
j
−
1
)
−
4
f
(
x
i
,
y
j
)
\begin{aligned} & \frac{f\left(x_i+\Delta x, y_j\right)+f\left(x_i-\Delta x, y_j\right)-2 f\left(x_i, y_j\right)}{(\Delta x)^2}+\frac{f\left(x_i, y_j+\Delta y\right)+f\left(x_i, y_j-\Delta y\right)-2 f\left(x_i, y_j\right)}{(\Delta y)^2} \\ & \quad=\frac{f\left(x_{i+1}, y_j\right)+f\left(x_{i-1}, y_j\right)-2 f\left(x_i, y_j\right)}{1^2}+\frac{f\left(x_i, y_{j+1}\right)+f\left(x_i, y_{j-1}\right)-2 f\left(x_i, y_j\right)}{1^2} \\ & =f\left(x_{i+1}, y_j\right)+f\left(x_{i-1}, y_j\right)+f\left(x_i, y_{j+1}\right)+f\left(x_i, y_{j-1}\right)-4 f\left(x_i, y_j\right) \end{aligned}
(Δx)2f(xi+Δx,yj)+f(xi−Δx,yj)−2f(xi,yj)+(Δy)2f(xi,yj+Δy)+f(xi,yj−Δy)−2f(xi,yj)=12f(xi+1,yj)+f(xi−1,yj)−2f(xi,yj)+12f(xi,yj+1)+f(xi,yj−1)−2f(xi,yj)=f(xi+1,yj)+f(xi−1,yj)+f(xi,yj+1)+f(xi,yj−1)−4f(xi,yj)
这是一个非常优美的结果,它就是
(
x
i
,
y
j
)
\left(x_i, y_j\right)
(xi,yj)
的4个相邻点处的函数值之和与
(
x
i
,
y
j
)
\left(x_i, y_j\right)
(xi,yj)
点处的函数值乘以4后的差值。如下图所示
基于这种表示,拉普拉斯算子的计算公式可以写成
Δ
x
=
f
(
x
i
+
1
,
y
j
)
+
f
(
x
i
−
1
,
y
j
)
+
f
(
x
i
,
y
j
+
1
)
+
f
(
x
i
,
y
j
−
1
)
−
4
f
(
x
i
,
y
j
)
=
f
(
x
i
+
1
,
y
j
)
−
f
(
x
i
,
y
j
)
+
f
(
x
i
−
1
,
y
j
)
−
f
(
x
i
,
y
j
)
+
f
(
x
i
,
y
j
+
1
)
−
f
(
x
i
,
y
j
)
+
f
(
x
i
,
y
j
−
1
)
−
f
(
x
i
,
y
j
)
=
∑
j
∈
N
(
i
,
j
)
(
f
(
x
k
,
y
l
)
−
f
(
x
i
,
y
j
)
)
\begin{aligned} \Delta x =f\left(x_{i+1}, y_j\right)+f\left(x_{i-1}, y_j\right)+f\left(x_i, y_{j+1}\right)+f\left(x_i, y_{j-1}\right)-4 f\left(x_i, y_j\right) \\ =f\left(x_{i+1}, y_j\right)-f\left(x_i, y_j\right)+f\left(x_{i-1}, y_j\right)-f\left(x_i, y_j\right)+f\left(x_i, y_{j+1}\right)-f\left(x_i, y_j\right) +f\left(x_i, y_{j-1}\right)-f\left(x_i, y_j\right)\\ =\sum_{j \in N(i,j)} (f\left(x_k, y_l\right)-f\left(x_i, y_j\right)) \end{aligned}
Δx=f(xi+1,yj)+f(xi−1,yj)+f(xi,yj+1)+f(xi,yj−1)−4f(xi,yj)=f(xi+1,yj)−f(xi,yj)+f(xi−1,yj)−f(xi,yj)+f(xi,yj+1)−f(xi,yj)+f(xi,yj−1)−f(xi,yj)=j∈N(i,j)∑(f(xk,yl)−f(xi,yj))
其中
N
(
i
,
j
)
N(i,j)
N(i,j)是
(
x
i
,
y
j
)
\left(x_i, y_j\right)
(xi,yj)
邻居节点的集合。
二、图的邻接矩阵与加权度矩阵
图是一种几何结构,对它的研究起源于古老的哥尼斯堡七桥问题。一个图 G 由顶点和边构成,通常将顶点的集合记为 V ,边的集合记为E。边由其连接的起点和终点表示。下面是一个典型的图
图的边可以是有方向的,也可以是没有方向的,前者称为有向图,后者称为无向图。邻接矩阵是图的矩阵表示,借助它可以方便地存储图的结构,用线性代数的方法研究图的问题。如果一个图有 n个顶点,其邻接矩阵 W为n×n的矩阵,矩阵元素 Wij表示边 (i,j) 的权重。如果两个顶点之间没有边连接,则在邻接矩阵中对应的元素为0。对与上面的图,它的邻接矩阵为
无向图的邻接矩阵为对称矩阵。
对于无向图,顶点的加权度是与该顶点相关的所有边的权重之和。如果无向图的邻接矩阵为 W ,则顶点 i的加权度为邻接矩阵第 i
行元素之和
Δ
d
i
=
∑
j
=
1
n
W
i
j
\Delta di=\sum_{j=1}^n Wij
Δdi=j=1∑nWij
加权度矩阵 D是一个对角矩阵,其主对角线元素为每个顶点的加权度,其他位置的元素为0
Δ
d
i
i
=
d
i
=
∑
j
=
1
n
W
i
j
\Delta dii=di=\sum_{j=1}^n Wij
Δdii=di=j=1∑nWij
对于上面的无向图,它的加权度矩阵为
三、拉普拉斯矩阵
在前面二元函数的例子种,一个点只与上下左右4个采样点相邻。图的顶点的连接关系可以是任意的,下面将拉普拉斯算子推广到图。如果将图的顶点处的值看作是函数值,则在顶点 i 处的拉普拉斯算子为
Δ
f
i
=
∑
j
∈
N
i
(
f
i
−
f
j
)
\Delta f_i=\sum_{j \in N_i}\left(f_i-f_j\right)
Δfi=j∈Ni∑(fi−fj)
其中 Ni是顶点i的所有邻居顶点的集合。这里我们调换了 fi和fj的位置,和之前的拉普拉斯算子相比,相当于多了一个负号。由于图的边可以带有权重,我们可以在上面的计算公式中加上权重
Δ
f
i
=
∑
j
∈
N
i
W
i
j
(
f
i
−
f
j
)
\Delta f_i=\sum_{j \in N_i}Wij\left(f_i-f_j\right)
Δfi=j∈Ni∑Wij(fi−fj)
这以推广如下图所示,图中红色的顶点是i ,蓝色的顶点是它的邻居顶点,灰色的顶点是其他顶点。
如果 j不是i 的邻居,则 Wij=0 。因此上面的式子也可以写成
Δ
f
i
=
∑
j
∈
V
W
i
j
(
f
i
−
f
j
)
=
∑
j
∈
V
W
i
j
f
j
=
d
i
f
j
−
w
i
f
\Delta f_i=\sum_{j \in V}Wij\left(f_i-f_j\right)=\sum_{j \in V}Wijf_j=d_if_j-w_if
Δfi=j∈V∑Wij(fi−fj)=j∈V∑Wijfj=difj−wif
这里的 di就是顶点 i 的加权度, 邻接矩阵的第 i 行, f是所有顶点的值构成的里列向量, wif 是二者的内积。对于图的所有顶点,有
上面的结论启发我们,可以在邻接矩阵和加权度矩阵的基础上定义拉普拉斯矩阵。假设无向图 G有 n个顶点,邻接矩阵为 W ,加权度矩阵为 D 。拉普拉斯矩阵定义为加权度矩阵与邻接矩阵之差
L
=
D
−
W
L=D-W
L=D−W
由于 W和D都是对称矩阵,因此拉普拉斯矩阵也是对称矩阵。根据前面的介绍,拉普拉斯矩阵实际代表了图的二阶导数。
以上面的图为例,它的拉普拉斯矩阵为
显然拉普拉斯矩阵每一行元素之和都为0。下面介绍拉普拉斯矩阵的若干重要性质。
1.对任意向量
f
∈
R
n
f∈R^n
f∈Rn
有
f
T
L
f
=
1
2
∑
i
=
1
n
∑
j
=
1
n
W
i
j
(
f
i
−
f
j
)
2
f^TLf=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nWij(f_i-f_j)^2
fTLf=21i=1∑nj=1∑nWij(fi−fj)2
2.拉普拉斯矩阵是对称半正定矩阵;
3.拉普拉斯矩阵的最小特征值为0,其对应的特征向量为常向量 1 ,即所有分量为1;
4.拉普拉斯矩阵有 n 个非负实数特征值,并且满足
0
=
λ
1
≤
λ
2
≤
.
.
.
≤
λ
n
0=λ_1≤λ_2≤...≤λ_n
0=λ1≤λ2≤...≤λn
下面进行证明。根据加权度 di 的定义,有
f
T
L
f
=
f
T
D
f
−
f
T
W
f
=
∑
i
=
1
n
d
i
f
i
2
−
∑
i
=
1
n
∑
j
=
1
n
f
i
f
j
W
i
j
=
1
2
(
2
∑
i
=
1
n
d
i
f
i
2
−
2
∑
i
=
1
n
∑
j
=
1
n
f
i
f
j
W
i
j
)
=
1
2
(
∑
i
=
1
n
d
i
f
i
2
−
2
∑
i
=
1
n
∑
j
=
1
n
f
i
f
j
W
i
j
+
∑
i
=
1
n
d
i
f
i
2
)
=
1
2
(
∑
i
=
1
n
∑
j
=
1
n
w
i
j
f
i
2
−
2
∑
i
=
1
n
∑
j
=
1
n
f
i
f
j
W
i
j
+
∑
i
=
1
n
∑
j
=
1
n
w
i
j
f
i
2
)
=
1
2
∑
i
=
1
n
∑
j
=
1
n
W
i
j
(
f
i
−
f
j
)
2
\begin{aligned} f^TLf=f^TDf-f^TWf\\=\sum_{i=1}^nd_if_i^2-\sum_{i=1}^n\sum_{j=1}^nf_if_jWij\\ =\frac{1}{2}(2\sum_{i=1}^nd_if_i^2-2\sum_{i=1}^n\sum_{j=1}^nf_if_jWij)\\ =\frac{1}{2}(\sum_{i=1}^nd_if_i^2-2\sum_{i=1}^n\sum_{j=1}^nf_if_jWij+\sum_{i=1}^nd_if_i^2)\\ =\frac{1}{2}(\sum_{i=1}^n\sum_{j=1}^nw_{ij}f_i^2-2\sum_{i=1}^n\sum_{j=1}^nf_if_jWij+\sum_{i=1}^n\sum_{j=1}^nw_{ij}f_i^2)\\ =\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nWij(f_i-f_j)^2 \end{aligned}
fTLf=fTDf−fTWf=i=1∑ndifi2−i=1∑nj=1∑nfifjWij=21(2i=1∑ndifi2−2i=1∑nj=1∑nfifjWij)=21(i=1∑ndifi2−2i=1∑nj=1∑nfifjWij+i=1∑ndifi2)=21(i=1∑nj=1∑nwijfi2−2i=1∑nj=1∑nfifjWij+i=1∑nj=1∑nwijfi2)=21i=1∑nj=1∑nWij(fi−fj)2
因此结论(1)成立。根据结论(1),对任意非0向量 f ,有
f
T
L
f
=
1
2
∑
i
=
1
n
∑
j
=
1
n
W
i
j
(
f
i
−
f
j
)
2
≥
0
f^TLf=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nWij(f_i-f_j)^2≥0
fTLf=21i=1∑nj=1∑nWij(fi−fj)2≥0
因此拉普拉斯矩阵是半正定的,结论2成立。由于
将行列式的第2~n列依次加到第1列,第1列的值全为0
因此行列式丨L 丨值为0,0是 L 的特征值。如果 f=1 ,则有
因此 1是特征值0的特征向量,由于拉普拉斯矩阵半正定,其特征值非负,结论(3)成立。根据结论(2)和(3)可以得到结论(4)。
假设G 是一个有非负权重的无向图,其拉普拉斯矩阵 L 的特征值0的重数 k 等于图的联通分量的个数
A
1
,
.
.
.
,
A
k
A_1,...,A_k
A1,...,Ak
特征值0的特征空间由这些联通分量所对应的特征向量
1
A
1
,
.
.
.
,
1
A
k
1_{A_1},...,1_{A_k}
1A1,...,1Ak
所张成。
下面进行证明。先考虑 k=1 的情况,图是联通的。假设 f是特征值0的一个特征向量,根据特征值的定义有
0
=
f
T
L
f
=
1
2
∑
i
=
1
n
∑
j
=
1
n
W
i
j
(
f
i
−
f
j
)
2
0=f^TLf=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nWij(f_i-f_j)^2
0=fTLf=21i=1∑nj=1∑nWij(fi−fj)2
这是因为 Lf=0f=0 。因为图是联通的,因此所有的 Wij>0 ,要让上面的值为0,必定有 fi-fj=0。这意味着向量 f的任意元素都相等,因此所有特征向量都是 1 的倍数,结论成立。
接下来考虑有 k个联通分量的情况。不失一般性,假设顶点按照其所属的联通分量排序,这种情况下,邻接矩阵是分块矩阵,同样地,拉普拉斯矩阵也是这样的分块矩阵
显然每个子矩阵Li 自身也是一个拉普拉斯矩阵,对应于这个联通分量。对于这些子矩阵,上面的结论也是成立的,因此 L 的谱由 Li
的谱相并构成, L 的特征值0对应的特征向量是 Li 的特征向量将其余位置填充0扩充形成的。具体的,特征向量中第i 个联通分量的顶点所对应的分量为1,其余的全为0,为如下形式
由于每个 Li 都是一个联通分量的拉普拉斯矩阵,因此其特征向量的重数为1,对应于特征值0。而 L中与之对应的特征向量在第 i个联通分量处的值为常数,其他位置为0。因此矩阵 L 的0特征值对应的线性无关的特征向量的个数与联通分量的个数相等,并且特征向量是这些联通分量的指示向量。]
下面举例说明。对于下面的图
它有两个联通子图。其邻接矩阵为
其加权度矩阵为
拉普拉斯矩阵为
它由如下两个子矩阵构成
每个子矩阵对应于图的一个联通分量。0是每个子矩阵的1重特征值,由于有两个联通分量,因此0是整个图的拉普拉斯矩阵的2重特征值。两个线性无关的特征向量为
四、归一化拉普拉斯矩阵
对前面定义的拉普拉斯矩阵进行归一化从而得到归一化的拉普拉斯矩阵。通常有两种形式的归一化。
第一种称为对称归一化,定义为
在这里
D
−
1
2
D^{\frac{-1}{2}}
D2−1
是 D 的所有元素计算正平方根得到的矩阵。位置 (i,j),i≠j的元素为将未归一化拉普拉斯矩阵对应位置处的元素 lij
除以
后形成的,主对角线上的元素为1,
第二种称为随机漫步归一化,定义为
下面介绍这两种矩阵的若干重要性质。
1.对任意向量
f
∈
R
n
f∈R^n
f∈Rn
有
引用参考来自知乎文章理解图的拉普拉斯矩阵