拉普拉斯算子与图拉普拉斯
文章目录
- 拉普拉斯算子与图拉普拉斯
- 1. 拉普拉斯基本概念与计算
- 1.1 哈密尔顿算子
- 1.2 梯度(gradient)
- 1.3 散度(divergence)
- 1.4 拉普拉斯算子
- 2. 图像或图上的拉普拉斯算子
- 2.1 离散网格上的拉普拉斯算子
- 2.2 图(graph)上的拉普拉斯算子
- 2.2.1 图的梯度(考虑边的方向和权重)
- 2.2.2 图上的散度
- 2.2.3 拉普拉斯矩阵
- 2.3 无向图上的拉普拉斯算子
- 2.3 图拉普拉斯矩阵的性质
1. 拉普拉斯基本概念与计算
拉普拉斯是函数梯度的散度, 这个概念里面涉及到另外两个概念, 一个是梯度, 一个是散度, 首先需要回归一下这两个概念.
1.1 哈密尔顿算子
要分析多元函数 f ( x , y , z ) f(x, y, z) f(x,y,z) 的性态, 偏导数是一个重要的工具, 即从不同的角度(笛卡尔坐标系的方向)来观察其增减性, 这就用到了哈密尔顿算子, 定义如下
∇
=
∂
∂
x
i
⃗
+
∂
∂
y
j
⃗
+
∂
∂
z
k
⃗
\nabla = \frac{\partial}{\partial x} \vec{i} + \frac{\partial}{\partial y} \vec{j} + \frac{\partial}{\partial z} \vec{k}
∇=∂x∂i+∂y∂j+∂z∂k
或
∇
=
(
∂
∂
x
,
∂
∂
y
,
∂
∂
z
)
\nabla = (\frac{\partial}{\partial x} ,\frac{\partial}{\partial y} ,\frac{\partial}{\partial z} )
∇=(∂x∂,∂y∂,∂z∂)
其中, i ⃗ \vec{i} i, j ⃗ \vec{j} j, k ⃗ \vec{k} k 分别表示 x y z xyz xyz 方向上的单位矢量.
1.2 梯度(gradient)
梯度是哈密尔顿算子直接作用于函数 f f f 的结果( f f f 可以是标量也可以是向量).
grad
f
=
∇
f
=
∂
f
∂
x
i
⃗
+
∂
f
∂
y
j
⃗
+
∂
f
∂
z
k
⃗
=
(
∂
f
∂
x
,
∂
f
∂
y
,
∂
f
∂
z
)
\text{grad} f = \nabla f =\frac{\partial f}{\partial x} \vec{i} + \frac{\partial f}{\partial y} \vec{j} + \frac{\partial f}{\partial z} \vec{k} = (\frac{\partial f}{\partial x} ,\frac{\partial f}{\partial y} ,\frac{\partial f}{\partial z} )
gradf=∇f=∂x∂fi+∂y∂fj+∂z∂fk=(∂x∂f,∂y∂f,∂z∂f)
标量场的梯度是向量场, 标量场中某一点的梯度只想标量场增长最快的地方, 梯度的长度是最大变化率.
1.3 散度(divergence)
散度针对的是对象是矢量场, 是描述从周围汇合到某一处或者从某一处散开的程度, 它可用于表征空间个点矢量场发散的强弱程度, 在物理上, 散度的意义是场的有源性.
对于 v ⃗ ( x , y , z ) = P ( x , y , z ) ⋅ i ⃗ + Q ( x , y , z ) ⋅ i ⃗ + R ( x , y , z ) ⋅ i ⃗ \vec{v}(x,y,z)=P(x,y,z)\cdot\vec{i}+Q(x,y,z)\cdot\vec{i}+R(x,y,z)\cdot\vec{i} v(x,y,z)=P(x,y,z)⋅i+Q(x,y,z)⋅i+R(x,y,z)⋅i, 散度定义为
div v ⃗ = ∇ ⋅ v ⃗ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) ⋅ ( P ( x , y , z ) , Q ( x , y , z ) , R ( x , y , z ) ) = ∂ P ( x , y , z ) ∂ x + ∂ Q ( x , y , z ) ∂ y + ∂ R ( x , y , z ) ∂ z \text{div}\; \vec{v}=\nabla\cdot \vec{v}=(\frac{\partial}{\partial x} ,\frac{\partial}{\partial y} ,\frac{\partial}{\partial z} )\cdot\Big(P(x,y,z),Q(x,y,z),R(x,y,z)\Big)\\ =\frac{\partial P(x,y,z)}{\partial x} +\frac{\partial Q(x,y,z)}{\partial y} +\frac{\partial R(x,y,z)}{\partial z} divv=∇⋅v=(∂x∂,∂y∂,∂z∂)⋅(P(x,y,z),Q(x,y,z),R(x,y,z))=∂x∂P(x,y,z)+∂y∂Q(x,y,z)+∂z∂R(x,y,z)
- 当 div v ⃗ > 0 \text{div}\; \vec{v}>0 divv>0, 该点有发散通量的正源(发散源)
- 当 div v ⃗ < 0 \text{div}\; \vec{v}<0 divv<0, 该点有吸收通量的负源(汇聚源)
- 当 div v ⃗ > 0 \text{div}\; \vec{v}>0 divv>0, 该点无源
1.4 拉普拉斯算子
在通常我们遇到的数据集或者函数都是标量而非矢量, 函数或者数据的每一个样本点可通过求梯度获得矢量场, 然后可通过求解矢量场的散度获得有源性, 称为拉普拉斯算子. 拉普拉斯算子本质上是梯度的散度.
对于多元函数
f
(
x
,
y
,
z
)
f(x,y,z)
f(x,y,z), 其拉普拉斯运算可表示为
Δ
f
=
d
i
v
⋅
g
r
a
d
f
=
∇
⋅
∇
f
=
∇
2
f
=
(
∂
∂
x
,
∂
∂
y
,
∂
∂
z
)
⋅
(
∂
f
∂
x
,
∂
f
∂
y
,
∂
f
∂
z
)
=
∂
2
f
∂
x
2
+
∂
2
f
∂
y
2
+
∂
2
f
∂
z
2
\Delta f = div \cdot grad f = \nabla\cdot \nabla f = \nabla^2 f\\ =(\frac{\partial}{\partial x} ,\frac{\partial}{\partial y} ,\frac{\partial}{\partial z} )\cdot(\frac{\partial f}{\partial x} ,\frac{\partial f}{\partial y} ,\frac{\partial f}{\partial z} )\\ =\frac{\partial ^2f}{\partial x^2} +\frac{\partial^2 f}{\partial y^2} +\frac{\partial^2 f}{\partial z^2}
Δf=div⋅gradf=∇⋅∇f=∇2f=(∂x∂,∂y∂,∂z∂)⋅(∂x∂f,∂y∂f,∂z∂f)=∂x2∂2f+∂y2∂2f+∂z2∂2f
2. 图像或图上的拉普拉斯算子
从拉普拉斯算子的形式上看是梯度的散度, 或者是二阶偏导数的和. 在应用过程中由于涉及到求二阶偏导数, 这就是的其很容易应用于笛卡尔坐标系中的图像数据, 而对于图结构数据的应用则需要一定的推广.
2.1 离散网格上的拉普拉斯算子
图像虽然是非结构化数据, 但是其形式非常特殊, 像素点可看作函数值, 而且有规整的离散网格形式, 图像的行、列、通道符合笛卡尔直角坐标系, 满足两两互相垂直, 很容易通过函数定义进行计算.
对于规整的图像数据而言, 拉普拉斯本质上可看作是对每个像素至的加权求和, 即
Δ
f
(
x
,
y
)
=
(
1
,
1
,
1
,
1
,
−
4
)
(
f
(
x
−
1
,
y
)
,
f
(
x
+
1
,
y
)
,
f
(
x
,
y
−
1
)
,
f
(
x
,
y
+
1
)
)
\Delta f(x,y)=(1,1,1,1,-4)\Big(f(x-1,y), f(x+1,y), f(x,y-1), f(x,y+1)\Big)
Δf(x,y)=(1,1,1,1,−4)(f(x−1,y),f(x+1,y),f(x,y−1),f(x,y+1))
如图所示
通过构造卷积核的方式利用拉普拉斯值的大小和正负很容易应用于点检测; 同样, 也可以利用拉普拉斯算子构造卷积核进行线检测.
2.2 图(graph)上的拉普拉斯算子
拉普拉斯算子处理的对象一般是在欧氏空间中的,而图上的拉普拉斯不能直接套用图像上的拉普拉斯算子, 而需要将其拓展到了非欧氏空间上,因为其处理的数据不在是规则区域,而是具有一定拓扑结构的图。
规则结构的图像上的拉普拉斯算子的操作主要是对中心点的周围点进行运算,如果类比到图上的话就是对应顶点的邻接点。同样我们也需要定义一个关于顶点的函数来与之前的多元函数对应,并且还要相应的定义偏导与散度。
由于graph不像不像活着连续函数有像素值或者函数值, 所以在求梯度时不容易, 因此, 我们需要给顶点定义函数. 另外, graph 中有边和权重组成, 记为 G ( W , E , V ) \mathcal{G}(W,E,V) G(W,E,V). 下面通过一个图信号 f = ( 3 , 5 , − 2 , 1 , − 5 ) ⊤ f = (3,5,-2,1,-5)^\top f=(3,5,−2,1,−5)⊤ 为例来展示如何定义图拉普拉斯
2.2.1 图的梯度(考虑边的方向和权重)
∇
f
(
e
A
B
)
=
5
×
(
5
−
3
)
=
10
\nabla f(e_{AB})=5\times(5-3)=10
∇f(eAB)=5×(5−3)=10
∇
f
(
e
A
C
)
=
3
×
(
−
2
−
3
)
=
−
15
\nabla f(e_{AC})=3\times(-2-3)=-15
∇f(eAC)=3×(−2−3)=−15
∇
f
(
e
B
D
)
=
7
×
(
1
−
5
)
=
−
28
\nabla f(e_{BD})=7\times(1-5)=-28
∇f(eBD)=7×(1−5)=−28
∇
f
(
e
B
E
)
=
2
×
(
−
5
−
5
)
=
−
20
\nabla f(e_{BE})=2\times(-5-5)=-20
∇f(eBE)=2×(−5−5)=−20
∇
f
(
e
C
D
)
=
1
×
(
1
−
(
−
2
)
)
=
3
\nabla f(e_{CD})=1\times(1-(-2))=3
∇f(eCD)=1×(1−(−2))=3
∇
f
(
e
D
E
)
=
4
×
(
−
5
−
1
)
=
−
24
\nabla f(e_{DE})=4\times(-5-1)=-24
∇f(eDE)=4×(−5−1)=−24
所以, 可知每个点的梯度为
∇
f
(
A
)
=
(
10
,
−
15
)
⊤
\nabla f(A)=(10,-15)^\top
∇f(A)=(10,−15)⊤
∇
f
(
B
)
=
(
10
,
−
28
,
−
20
)
⊤
\nabla f(B) = (10,-28,-20)^\top
∇f(B)=(10,−28,−20)⊤
∇
f
(
C
)
=
(
−
15
,
3
)
⊤
\nabla f(C)=(-15,3)^\top
∇f(C)=(−15,3)⊤
∇
f
(
D
)
=
(
−
28
,
3
,
−
24
)
⊤
\nabla f(D)=(-28,3,-24)^\top
∇f(D)=(−28,3,−24)⊤
∇
f
(
E
)
=
(
−
20
,
−
24
)
⊤
\nabla f(E)=(-20,-24)^\top
∇f(E)=(−20,−24)⊤
函数 f \boldsymbol{f} f 的梯度为
g
r
a
d
f
=
[
10
−
15
−
28
−
20
3
−
24
]
grad \boldsymbol{f}=\left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ]
gradf=
10−15−28−203−24
用矩阵进行表示
g
r
a
d
f
=
∇
f
=
[
−
5
5
0
0
0
−
3
0
3
0
0
0
−
7
0
7
0
0
−
2
0
0
2
0
0
−
1
1
0
0
0
0
−
4
4
]
⋅
[
3
5
−
2
1
−
5
]
=
[
10
−
15
−
28
−
20
3
−
24
]
grad \boldsymbol{f}=\nabla\boldsymbol{f}=\left[ \begin{array}{c} -5&5&0&0&0\\ -3&0&3&0&0\\ 0&-7&0&7&0\\ 0&-2&0&0&2\\ 0&0&-1&1&0\\ 0&0&0&-4&4 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ]
gradf=∇f=
−5−3000050−7−2000300−1000701−4000204
⋅
35−21−5
=
10−15−28−203−24
或
∇ f = [ 5 3 7 2 1 4 ] ⋅ [ − 1 1 0 0 0 − 1 0 1 0 0 0 − 1 0 1 0 0 − 1 0 0 1 0 0 − 1 1 0 0 0 0 − 1 1 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ 10 − 15 − 28 − 20 3 − 24 ] \nabla\boldsymbol{f}=\left[ \begin{array}{c} 5&&&&&\\ &3&&&&\\ &&7&&&\\ &&&2&&\\ &&&&1&\\ &&&&&4 \end{array} \right ]\cdot \left[ \begin{array}{c} -1&1&0&0&0\\ -1&0&1&0&0\\ 0&-1&0&1&0\\ 0&-1&0&0&1\\ 0&0&-1&1&0\\ 0&0&0&-1&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ] ∇f= 537214 ⋅ −1−1000010−1−1000100−1000101−1000101 ⋅ 35−21−5 = 10−15−28−203−24
矩阵乘法的解释如图所示
2.2.2 图上的散度
graph 中的散度不同于图像中散度的求法, 因为图像或者函数是在直角坐标系中进行运算, 而 graph 中的方向不是互相垂直的, 因此, 我们认为每条边都互相垂直, 可通过边的方向的正负求偏导数
拉普拉斯(梯度的散度)
Δ
f
(
A
)
=
∇
⋅
∇
f
(
A
)
=
(
−
1
,
−
1
)
(
10
,
−
15
)
⊤
=
−
5
\Delta f(A)=\nabla\cdot\nabla f(A)=(-1,-1)(10,-15)^\top=-5
Δf(A)=∇⋅∇f(A)=(−1,−1)(10,−15)⊤=−5
Δ
f
(
B
)
=
∇
⋅
∇
f
(
B
)
=
(
1
,
−
1
,
−
1
)
(
10
,
−
28
,
−
20
)
⊤
=
58
\Delta f(B)=\nabla\cdot\nabla f(B)=(1,-1, -1)(10,-28,-20)^\top=58
Δf(B)=∇⋅∇f(B)=(1,−1,−1)(10,−28,−20)⊤=58
Δ
f
(
C
)
=
∇
⋅
∇
f
(
C
)
=
(
1
,
−
1
)
(
−
15
,
3
)
⊤
=
−
18
\Delta f(C)=\nabla\cdot\nabla f(C)=(1,-1)(-15,3)^\top=-18
Δf(C)=∇⋅∇f(C)=(1,−1)(−15,3)⊤=−18
Δ
f
(
D
)
=
∇
⋅
∇
f
(
A
)
=
(
1
,
1
,
−
1
)
(
−
28
,
3
,
−
24
)
⊤
=
−
1
\Delta f(D)=\nabla\cdot\nabla f(A)=(1,1,-1)(-28,3,-24)^\top=-1
Δf(D)=∇⋅∇f(A)=(1,1,−1)(−28,3,−24)⊤=−1
Δ
f
(
E
)
=
∇
⋅
∇
f
(
A
)
=
(
1
,
1
)
(
−
20
,
−
24
)
⊤
=
−
44
\Delta f(E)=\nabla\cdot\nabla f(A)=(1,1)(-20,-24)^\top=-44
Δf(E)=∇⋅∇f(A)=(1,1)(−20,−24)⊤=−44
图信号 f \boldsymbol{f} f 的梯度的散度为 ∇ 2 f = [ − 5 , 58 , − 18 , − 1 , − 44 ] ⊤ \nabla^2\boldsymbol{f}=[-5,58,-18,-1,-44]^\top ∇2f=[−5,58,−18,−1,−44]⊤
矩阵表示为
∇
2
f
=
[
−
1
−
1
0
0
0
0
1
0
−
1
−
1
0
0
0
1
0
0
−
1
0
0
0
1
0
1
−
1
0
0
0
1
0
1
]
⋅
[
10
−
15
−
28
−
20
3
−
24
]
=
[
−
5
58
−
18
−
1
−
44
]
\nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} -1&-1&0&0&0&0\\ 1&0&-1&-1&0&0\\ 0&1&0&0&-1&0\\ 0&0&1&0&1&-1\\ 0&0&0&1&0&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ]
∇2f=
−11000−101000−10100−100100−110000−11
⋅
10−15−28−203−24
=
−558−18−1−44
综上可知
∇ 2 f = [ − 1 − 1 0 0 0 0 1 0 − 1 − 1 0 0 0 1 0 0 − 1 0 0 0 1 0 1 − 1 0 0 0 1 0 1 ] ⋅ [ 5 3 7 2 1 4 ] ⋅ [ − 1 1 0 0 0 − 1 0 1 0 0 0 − 1 0 1 0 0 − 1 0 0 1 0 0 − 1 1 0 0 0 0 − 1 1 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} -1&-1&0&0&0&0\\ 1&0&-1&-1&0&0\\ 0&1&0&0&-1&0\\ 0&0&1&0&1&-1\\ 0&0&0&1&0&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 5&&&&&\\ &3&&&&\\ &&7&&&\\ &&&2&&\\ &&&&1&\\ &&&&&4 \end{array} \right ]\cdot \left[ \begin{array}{c} -1&1&0&0&0\\ -1&0&1&0&0\\ 0&-1&0&1&0\\ 0&-1&0&0&1\\ 0&0&-1&1&0\\ 0&0&0&-1&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f= −11000−101000−10100−100100−110000−11 ⋅ 537214 ⋅ −1−1000010−1−1000100−1000101−1000101 ⋅ 35−21−5 = −558−18−1−44
或
∇ 2 f = [ − 5 − 3 0 0 0 0 5 0 − 7 − 2 0 0 0 3 0 0 − 1 0 0 0 7 0 1 − 2 0 0 0 2 0 2 ] ⋅ [ − 5 5 0 0 0 − 3 0 3 0 0 0 − 7 0 7 0 0 − 2 0 0 2 0 0 − 1 1 0 0 0 0 − 2 2 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} -\sqrt{5}&-\sqrt{3}&0&0&0&0\\ \sqrt{5}&0&-\sqrt{7}&-\sqrt{2}&0&0\\ 0&\sqrt{3}&0&0&-1&0\\ 0&0&\sqrt{7}&0&1&-2\\ 0&0&0&\sqrt{2}&0&2 \end{array} \right ]\cdot \left[ \begin{array}{c} -\sqrt{5}&\sqrt{5}&0&0&0\\ -\sqrt{3}&0&\sqrt{3}&0&0\\ 0&-\sqrt{7}&0&\sqrt{7}&0\\ 0&-\sqrt{2}&0&0&\sqrt{2}\\ 0&0&-1&1&0\\ 0&0&0&-2&2 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f= −55000−303000−70700−200200−110000−22 ⋅ −5−3000050−7−2000300−1000701−2000202 ⋅ 35−21−5 = −558−18−1−44
这种矩阵表达形式也可以表示为
∇ 2 f = [ 8 − 5 − 3 0 0 − 5 14 0 − 7 − 2 − 3 0 4 − 1 0 0 − 7 − 1 12 − 4 0 − 2 0 − 4 6 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} 8&-5&-3&0&0\\ -5&14&0&-7&-2\\ -3&0&4&-1&0\\ 0&-7&-1&12&-4\\ 0&-2&0&-4&6 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f= 8−5−300−5140−7−2−304−100−7−112−40−20−46 ⋅ 35−21−5 = −558−18−1−44
或可表示为
∇ 2 f = ( [ 8 14 4 12 6 ] − [ 0 5 3 0 0 5 0 0 7 2 3 0 0 1 0 0 7 1 0 4 0 2 0 4 0 ] ) ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\Bigg(\left[ \begin{array}{c} 8&&&&\\ &14&&&\\ &&4&&\\ &&&12&\\ &&&&6 \end{array} \right ]-\left[ \begin{array}{c} 0&5&3&0&0\\ 5&0&0&7&2\\ 3&0&0&1&0\\ 0&7&1&0&4\\ 0&2&0&4&0 \end{array} \right ]\Bigg)\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f=( 8144126 − 0530050072300100710402040 )⋅ 35−21−5 = −558−18−1−44
2.2.3 拉普拉斯矩阵
如2.2.2节的例子所示, 拉普拉斯矩阵是梯度的散度形式的矩阵表达. 把有向图看作无向图可表示为一个邻接矩阵(对称矩阵)
W
=
[
0
5
3
0
0
5
0
0
7
2
3
0
0
1
0
0
7
1
0
4
0
2
0
4
0
]
W = \left[ \begin{array}{c} 0&5&3&0&0\\ 5&0&0&7&2\\ 3&0&0&1&0\\ 0&7&1&0&4\\ 0&2&0&4&0 \end{array} \right ]
W=
0530050072300100710402040
度矩阵为对角阵
D
=
[
8
14
4
12
6
]
D = \left[ \begin{array}{c} 8&&&&\\ &14&&&\\ &&4&&\\ &&&12&\\ &&&&6 \end{array} \right ]
D=
8144126
则拉普拉斯矩阵可表示为
L = D − W L = D-W L=D−W
若定义矩阵 M M M
M
i
j
=
{
−
w
i
j
i
<
j
0
i
=
j
w
i
j
i
>
j
M_{ij} = \left\{\begin{array}{c} -\sqrt{w_{ij}}&i<j\\ 0&i=j\\ \sqrt{w_{ij}}&i>j \end{array} \right.
Mij=⎩
⎨
⎧−wij0wiji<ji=ji>j
则拉普拉斯矩阵也可以表示为
L = M ⊤ M L=M^\top M L=M⊤M
2.3 无向图上的拉普拉斯算子
首先我们需要借助图像函数的思想, 为每个顶点赋予一个通用的函数 f f f. 第 i i i 个点的梯度可表示为 { w i j ( f i − f j ) } j = 1 N i \Big\{w_{ij}(f_i-f_j)\Big\}_{j=1}^{N_i} {wij(fi−fj)}j=1Ni, 对梯度分量在求梯度和的时候, 由于图的特殊性, 不考虑坐标轴而是有向图只考虑出发为-1, 进入为 1; 无向图则不考虑出发和进入, 全部为 1, 则无向图的单个顶点的拉普拉斯(本质上是在度量差异性)可表示为
L a p ( f i ) = Σ j ∈ N i ⏟ d i v o f u n d e r e c t i o n g r a p h w i j ( f i − f j ) ⏟ g r a d = Σ j ∈ N i w i j f i − Σ j ∈ N i w i j f j = ( w i 1 f i + w i 2 f i + ⋯ + w i n f i ) − ( w i 1 f 1 + w i 2 f 2 + ⋯ + w i N i f N i ) = ( w i 1 + w i 2 + ⋯ + w i n ) f i − ( w i 1 f 1 + w i 2 f 2 + ⋯ + w i N i f N i ) = d i f i − w i , : f \begin{array}{l} Lap( f_i)=\underbrace{\Sigma_{j\in N_i}}_{div\;of\; underection\;graph}\underbrace{w_{ij}(f_i-f_j)}_{grad}\\ =\Sigma_{j\in N_i}w_{ij}f_i-\Sigma_{j\in N_i}w_{ij}f_j\\ =(w_{i1}f_i+w_{i2}f_i+\cdots+w_{in}f_i)-(w_{i1}f_1+w_{i2}f_2+\cdots+w_{i{N_i}}f_{N_i})\\ =(w_{i1}+w_{i2}+\cdots+w_{in})f_i-(w_{i1}f_1+w_{i2}f_2+\cdots+w_{i{N_i}}f_{N_i})\\ =d_if_i-w_{i,:}\boldsymbol f \end{array} Lap(fi)=divofunderectiongraph Σj∈Nigrad wij(fi−fj)=Σj∈Niwijfi−Σj∈Niwijfj=(wi1fi+wi2fi+⋯+winfi)−(wi1f1+wi2f2+⋯+wiNifNi)=(wi1+wi2+⋯+win)fi−(wi1f1+wi2f2+⋯+wiNifNi)=difi−wi,:f
对于图上的所有顶点的拉普拉斯可表示为
L
a
p
(
f
)
=
[
L
a
p
(
f
1
)
L
a
p
(
f
2
)
⋯
L
a
p
(
f
n
)
]
=
[
d
1
f
1
−
w
1
,
:
f
d
2
f
2
−
w
2
,
:
f
⋯
d
n
f
n
−
w
n
,
:
f
]
=
[
d
1
f
1
d
2
f
2
⋯
d
n
f
n
]
−
[
w
1
,
:
w
2
,
:
⋯
w
n
,
:
]
f
=
(
d
1
d
2
⋱
d
n
)
(
f
1
f
2
⋮
f
n
)
−
[
w
1
,
:
w
2
,
:
⋯
w
n
,
:
]
f
=
D
f
−
W
f
=
(
D
−
W
)
f
=
L
f
\begin{array}{l} Lap( \boldsymbol f)=\begin{bmatrix} Lap( f_1)\\ Lap( f_2)\\ \cdots\\ Lap( f_n) \end{bmatrix} =\begin{bmatrix} d_1f_1-w_{1,:}\boldsymbol f\\ d_2f_2-w_{2,:}\boldsymbol f\\ \cdots \\ d_nf_n-w_{n,:}\boldsymbol f \end{bmatrix} =\begin{bmatrix} d_1f_1 \\ d_2f_2 \\ \cdots \\ d_nf_n \end{bmatrix}- \begin{bmatrix} w_{1,:} \\ w_{2,:} \\ \cdots \\ w_{n,:} \end{bmatrix}\boldsymbol f\\ =\begin{pmatrix} d_1 & & & \\ & d_2 & & \\ & & \ddots & \\ & & &d_n \end{pmatrix}\begin{pmatrix} f_1\\ f_2\\ \vdots \\ f_n \end{pmatrix}- \begin{bmatrix} w_{1,:} \\ w_{2,:} \\ \cdots \\ w_{n,:} \end{bmatrix}\boldsymbol f\\ =D\boldsymbol f-W\boldsymbol f=(D-W)\boldsymbol{f}=L\boldsymbol{f} \end{array}
Lap(f)=
Lap(f1)Lap(f2)⋯Lap(fn)
=
d1f1−w1,:fd2f2−w2,:f⋯dnfn−wn,:f
=
d1f1d2f2⋯dnfn
−
w1,:w2,:⋯wn,:
f=
d1d2⋱dn
f1f2⋮fn
−
w1,:w2,:⋯wn,:
f=Df−Wf=(D−W)f=Lf
矩阵
L
=
D
−
W
L=D-W
L=D−W称为矩阵
W
W
W的拉普拉斯矩阵。
2.3 图拉普拉斯矩阵的性质
如果对拉普拉斯矩阵进行特征值分解, 特征方程为 L u = λ u L\boldsymbol{u}=\lambda \boldsymbol{u} Lu=λu. 由于图拉普拉斯矩阵的行和为 0 0 0, 则其最小的特征值为0, 特征向量为全 1 1 1 的列向量.