拉普拉斯矩阵(Laplacian Matrix)
文章目录1. 无向加权图 GGG2. 邻接矩阵 WWW3. 度矩阵 DDD4. 拉普拉斯矩阵 LLL1. 无向加权图 GGG图 GGG,一般用顶点集 VVV 和顶点之间的边集 EEE 表示,G=(V,E).G=(V,E).G=(V,E).其中,V={v1,v2,…,vn}V=\{v_1,v_2, \dots, v_n\}V={v1,v2,…,vn},E={⟨vi,vj⟩∣i,j=[1&nbs
1. 无向加权图 G G G
图
G
G
G,一般用顶点集
V
V
V 和顶点之间的边集
E
E
E 表示,
G
=
(
V
,
E
)
.
G=(V,E).
G=(V,E).
其中,
V
=
{
v
1
,
v
2
,
…
,
v
n
}
V=\{v_1,v_2, \dots, v_n\}
V={v1,v2,…,vn},
E
=
{
⟨
v
i
,
v
j
⟩
∣
i
,
j
=
[
1
.
.
n
]
}
E=\{\langle v_i, v_j \rangle \mid i, j = [1 \text{ }.. \text{ }n] \}
E={⟨vi,vj⟩∣i,j=[1 .. n]},
⟨
v
i
,
v
j
⟩
\langle v_i, v_j \rangle
⟨vi,vj⟩ 表示顶点
v
i
v_i
vi 和顶点
v
j
v_j
vj 之间的边。
定义
w
i
j
w_{ij}
wij 为边
⟨
v
i
,
v
j
⟩
\langle v_i, v_j \rangle
⟨vi,vj⟩ 的权重。
对于有边连接的顶点
v
i
v_i
vi 和顶点
v
j
v_j
vj,
w
i
j
>
0
w_{ij} > 0
wij>0;对于没有边连接的顶点
v
i
v_i
vi 和顶点
v
j
v_j
vj,
w
i
j
=
0
w_{ij}=0
wij=0。
对于无向加权图,
w
i
j
=
w
j
i
w_{ij}=w_{ji}
wij=wji,
w
i
i
=
0
w_{ii}=0
wii=0。
2. 邻接矩阵 W W W
将
G
G
G 使用邻接矩阵来表示,得到
W
W
W,定义为:
W
=
(
w
11
w
12
…
w
1
n
w
21
w
22
…
w
2
n
⋮
⋮
⋱
⋮
w
n
1
w
n
2
…
w
n
n
)
W=\begin{pmatrix} w_{11} & w_{12} & \dots & w_{1n} \\ w_{21} & w_{22} & \dots & w_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ w_{n1} & w_{n2} & \dots & w_{nn} \\ \end{pmatrix}
W=⎝⎜⎜⎜⎛w11w21⋮wn1w12w22⋮wn2……⋱…w1nw2n⋮wnn⎠⎟⎟⎟⎞
3. 度矩阵 D D D
对于
G
G
G 中任意一个顶点
v
i
v_i
vi,
i
∈
[
1
.
.
n
]
i \in [1 \text{ }..\text{ } n]
i∈[1 .. n],它的度定义为和它相连的所有边的权重之和,即
d
i
=
∑
j
=
1
n
w
i
j
d_i = \sum_{j=1}^{n} w_{ij}
di=j=1∑nwij
利用顶点的度,可以得到一个度矩阵
D
D
D,定义为:
D
=
(
d
1
…
…
…
d
2
…
⋮
⋱
⋮
…
…
d
n
)
D=\begin{pmatrix} d_1 & \dots & \dots \\ \dots & d_2 & \dots \\ \vdots & \ddots & \vdots \\ \dots & \dots & d_n \\ \end{pmatrix}
D=⎝⎜⎜⎜⎛d1…⋮……d2⋱………⋮dn⎠⎟⎟⎟⎞
D
D
D 是一个
n
×
n
n \times n
n×n 的矩阵,并且是一个对角矩阵,只有主对角线的元素非零,其他元素全为零。主对角线上第
i
i
i 个值对应
d
i
d_i
di。
4. 拉普拉斯矩阵 L L L
拉普拉斯矩阵
L
L
L,定义为:
L
=
D
−
W
L = D - W
L=D−W
L L L 具有的性质:
- D D D 和 W W W 是对称矩阵,因此 L L L 也是对称矩阵;
- 由于 L L L 是对称矩阵,则它的所有特征值都是实数;
- 对于任意的向量
f
f
f,有:
f T L f = 1 2 ∑ i , j = 1 n w i j ( f i − f j ) 2 f^\text{T}Lf = \frac{1}{2} \sum_{i,j=1}^{n} w_{ij} (f_i - f_j)^2 fTLf=21i,j=1∑nwij(fi−fj)2 - L L L 是半正定的,且对应的 n n n 个实数特征值都大于 0,即 0 = λ 1 ≤ λ 2 ≤ … λ n 0= \lambda_1 \leq \lambda_2 \leq \dots \lambda_n 0=λ1≤λ2≤…λn,且最小的特征值为 0。
对于第 3 点性质,可以很容易得到。
推导:
L
L
L 是一个
n
×
n
n \times n
n×n 的矩阵,则不妨设
f
=
[
f
1
f
2
…
f
n
]
T
f = \begin{bmatrix} f_1 & f_2 & \dots & f_n \end{bmatrix}^\text{T}
f=[f1f2…fn]T,则
f
T
=
[
f
1
f
2
…
f
n
]
f^\text{T} = \begin{bmatrix} f_1 & f_2 & \dots & f_n \end{bmatrix}
fT=[f1f2…fn],
有
⇒
f
T
D
=
[
f
1
f
2
…
f
n
]
⋅
[
d
1
…
…
…
…
d
2
…
…
⋮
⋮
⋱
⋮
…
…
…
d
n
]
=
[
f
1
d
1
f
2
d
2
…
f
n
d
n
]
\Rightarrow \begin{aligned} f^\text{T}D &= \begin{bmatrix} f_1 & f_2 & \dots & f_n \end{bmatrix} \cdot \begin{bmatrix} d_1 & \dots & \dots & \dots \\ \dots & d_2 & \dots & \dots \\ \vdots & \vdots & \ddots & \vdots \\ \dots & \dots & \dots & d_n \\ \end{bmatrix} \\ &= \begin{bmatrix} f_1 d_1 & f_2 d_2 & \dots & f_n d_n \\ \end{bmatrix} \end{aligned}
⇒fTD=[f1f2…fn]⋅⎣⎢⎢⎢⎡d1…⋮……d2⋮………⋱………⋮dn⎦⎥⎥⎥⎤=[f1d1f2d2…fndn]
⇒ f T D f = [ f 1 d 1 f 2 d 2 … f n d n ] ⋅ [ f 1 f 2 … f n ] = ( f 1 2 d 1 + f 2 2 d 2 + ⋯ + f n 2 d n ) = ∑ i = 1 n f i 2 d i \Rightarrow \begin{aligned} f^\text{T}Df &= \begin{bmatrix} f_1 d_1 & f_2 d_2 & \dots f_n d_n \end{bmatrix} \cdot \begin{bmatrix} f_1 \\ f_2 \\ \dots \\ f_n \\ \end{bmatrix} \\ & = \left(f_1^2 d_1 + f_2^2 d_2 + \dots + f_n^2 d_n\right) \\ & = \sum_{i=1}^{n} f_i^2 d_i \end{aligned} ⇒fTDf=[f1d1f2d2…fndn]⋅⎣⎢⎢⎡f1f2…fn⎦⎥⎥⎤=(f12d1+f22d2+⋯+fn2dn)=i=1∑nfi2di
⇒ f T W = [ f 1 f 2 … f n ] ⋅ [ w 11 w 12 … w 1 n w 21 w 22 … w 2 n ⋮ ⋮ ⋱ ⋮ w n 1 w n 2 … w n n ] = [ f 1 w 11 + f 2 w 21 + ⋯ + f n w n 1 f 1 w 12 + f 2 w 22 + ⋯ + f n w n 2 ⋮ f 1 w 1 n + f 2 w 2 n + ⋯ + f n w n n ] T = [ ∑ i = 1 n f i w i 1 ∑ i = 1 n f i w i 2 ⋯ ∑ i = 1 n f i w i n ] \Rightarrow \begin{aligned} f^\text{T}W & = \begin{bmatrix} f_1 & f_2 & \dots & f_n \end{bmatrix} \cdot \begin{bmatrix} w_{11} & w_{12} & \dots & w_{1n} \\ w_{21} & w_{22} & \dots & w_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ w_{n1} & w_{n2} & \dots & w_{nn} \\ \end{bmatrix} \\ &= \begin{bmatrix} f_1 w_{11} + f_2 w_{21} + \dots + f_n w_{n1} \\ f_1 w_{12} + f_2 w_{22} + \dots + f_n w_{n2} \\ \vdots \\ f_1 w_{1n} + f_2 w_{2n} + \dots + f_n w_{nn} \\ \end{bmatrix}^\text{T} \\ & = \begin{bmatrix} \sum_{i=1}^{n} f_i w_{i1} & \sum_{i=1}^{n} f_i w_{i2} & \cdots & \sum_{i=1}^{n} f_i w_{in} \\ \end{bmatrix} \end{aligned} ⇒fTW=[f1f2…fn]⋅⎣⎢⎢⎢⎡w11w21⋮wn1w12w22⋮wn2……⋱…w1nw2n⋮wnn⎦⎥⎥⎥⎤=⎣⎢⎢⎢⎡f1w11+f2w21+⋯+fnwn1f1w12+f2w22+⋯+fnwn2⋮f1w1n+f2w2n+⋯+fnwnn⎦⎥⎥⎥⎤T=[∑i=1nfiwi1∑i=1nfiwi2⋯∑i=1nfiwin]
⇒ f T W f = [ ∑ i = 1 n f i w i 1 ∑ i = 1 n f i w i 2 … ∑ i = 1 n f i w i n ] ⋅ [ f 1 f 2 … f n ] = f 1 ∑ i = 1 n f i w i 1 + f 2 ∑ i = 1 n f i w i 2 + ⋯ + f n ∑ i n f i w i n = ∑ j = 1 n f j ∑ i = 1 n f i w i j = ∑ j = 1 n ∑ i = 1 n f i f j w i j = ∑ i = 1 n ∑ j = 1 n f i f j w i j \Rightarrow \begin{aligned} f^\text{T}Wf &= \begin{bmatrix} \sum_{i=1}^{n} f_i w_{i1} & \sum_{i=1}^{n} f_i w_{i2} & \dots & \sum_{i=1}^{n} f_i w_{in} \end{bmatrix} \cdot \begin{bmatrix} f_1 \\ f_2 \\ \dots \\ f_n \\ \end{bmatrix} \\ & = f_1 \sum_{i=1}^{n} f_i w_{i1} + f_2 \sum_{i=1}^{n} f_i w_{i2} + \dots + f_n \sum_{i}^{n} f_i w_{in} \\ &= \sum_{j=1}^{n} f_j \sum_{i=1}^{n} f_i w_{ij} \\ & = \sum_{j=1}^{n} \sum_{i=1}^{n} f_i f_j w_{ij} \\ & = \sum_{i=1}^{n} \sum_{j=1}^{n} f_i f_j w_{ij} \\ \end{aligned} ⇒fTWf=[∑i=1nfiwi1∑i=1nfiwi2…∑i=1nfiwin]⋅⎣⎢⎢⎡f1f2…fn⎦⎥⎥⎤=f1i=1∑nfiwi1+f2i=1∑nfiwi2+⋯+fni∑nfiwin=j=1∑nfji=1∑nfiwij=j=1∑ni=1∑nfifjwij=i=1∑nj=1∑nfifjwij
因此,
⇒
f
T
L
f
=
f
T
(
D
−
W
)
f
=
f
T
D
f
−
f
T
W
f
=
∑
i
=
1
n
f
i
2
d
i
−
∑
j
=
1
n
∑
i
=
1
n
f
i
f
j
w
i
j
=
1
2
(
∑
i
n
f
i
2
d
i
−
2
∑
i
=
1
n
∑
j
=
1
n
f
i
f
j
w
i
j
+
∑
j
=
1
n
f
j
2
d
j
)
=
1
2
∑
i
=
1
n
∑
j
=
1
n
w
i
j
(
f
i
−
f
j
)
2
\Rightarrow \begin{aligned} f^\text{T} L f & = f^\text{T}(D - W) f \\ &= f^\text{T} D f - f^\text{T} W f \\ &= \sum_{i=1}^{n} f_i^2 d_i - \sum_{j=1}^{n} \sum_{i=1}^{n} f_i f_j w_{ij} \\ & = \frac{1}{2} \left(\sum_{i}^{n} f_i^2 d_i - 2 \sum_{i=1}^{n}\sum_{j=1}^{n} f_i f_j w_{ij} + \sum_{j=1}^{n} f_j^2 d_j\right) \\ & = \frac{1}{2} \sum_{i=1}^{n} \sum_{j=1}^{n} w_{ij} (f_i - f_j)^2 \end{aligned}
⇒fTLf=fT(D−W)f=fTDf−fTWf=i=1∑nfi2di−j=1∑ni=1∑nfifjwij=21(i∑nfi2di−2i=1∑nj=1∑nfifjwij+j=1∑nfj2dj)=21i=1∑nj=1∑nwij(fi−fj)2
参考
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)