2. 数学与图基础
2.1 线性代数
线性代数的语言和概念在计算机科学的许多领域都得到了广泛的应用,机器学习也不例外。对机器学习的良好理解是建立在对线性代数的透彻理解的基础上的。
在这一节中,我们将简要回顾线性代数中的一些重要概念和计算,这对于理解本书的其余部分是必要的。在这一节中,我们将回顾线性代数中的一些基本概念和计算,这对于理解本书的其余部分是必要的。
2.1.1 基本概念
标量: 一个数
向量: 一列有序的数字,可以表示为:
x
=
[
x
1
x
2
⋮
x
n
]
(2.1)
\mathbf{x}=\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{array}\right] \tag{2.1}
x=⎣⎢⎢⎢⎡x1x2⋮xn⎦⎥⎥⎥⎤(2.1)
向量的范数衡量其长度。
L
p
L_p
Lp范数定义如下:
∥ x ∥ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 p (2.2) \|\mathbf{x}\|_{p}=\left(\sum_{i=1}^{n}\left|x_{i}\right|^{p}\right)^{\frac{1}{p}} \tag{2.2} ∥x∥p=(i=1∑n∣xi∣p)p1(2.2)
L 1 L_1 L1范数、 L 2 L_2 L2范数和 L ∞ L_{\infty} L∞范数常被用于机器学习。
L 1 L_1 L1范数可以简化为:
∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ (2.3) \|\mathbf{x}\|_{1}=\sum_{i=1}^{n}\left|x_{i}\right|\tag{2.3} ∥x∥1=i=1∑n∣xi∣(2.3)
在欧式空间 R n \mathbb{R}^{n} Rn, L 2 L_2 L2范数常被用来测量两个向量直接的距离:
∥ x ∥ 2 = ∑ i = 1 n x i 2 (2.4) \|\mathbf{x}\|_{2}=\sqrt{\sum_{i=1}^{n} x_{i}^{2}}\tag{2.4} ∥x∥2=i=1∑nxi2(2.4)
L ∞ L_\infty L∞范数也叫最大范数,如:
∥ x ∥ ∞ = max i ∣ x i ∣ (2.5) \|\mathbf{x}\|_{\infty}=\max _{i}\left|x_{i}\right|\tag{2.5} ∥x∥∞=imax∣xi∣(2.5)
对于 L p L_p Lp范数,向量 x 1 , x 2 x_1,x_2 x1,x2之间的距离(其中, x 1 , x 2 x_1,x_2 x1,x2都在相同的线性空间)可以定义为:
D p ( x 1 , x 2 ) = ∥ x 1 − x 2 ∥ p (2.6) \mathbf{D}_{p}\left(\mathbf{x}_{1}, \mathbf{x}_{2}\right)=\left\|\mathbf{x}_{1}-\mathbf{x}_{2}\right\|_{p}\tag{2.6} Dp(x1,x2)=∥x1−x2∥p(2.6)
一组向量 x 1 , x 2 , . . . , x m x_1,x_2,...,x_m x1,x2,...,xm当且仅当不存在一组不全为0的标量 λ 1 , λ 2 , ⋯ , λ m \lambda_{1}, \lambda_{2}, \cdots, \lambda_{m} λ1,λ2,⋯,λm时可以称为线性无关,例如:
λ 1 x 1 + λ 2 x 2 + ⋯ + λ m x m = 0 (2.7) \lambda_{1} \mathbf{x}_{1}+\lambda_{2} \mathbf{x}_{2}+\cdots+\lambda_{m} \mathbf{x}_{m}=\mathbf{0}\tag{2.7} λ1x1+λ2x2+⋯+λmxm=0(2.7)
矩阵: 二维数组,可以表示为:
A = [ a 11 a 12 … a 1 n a 21 a 22 … a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 … a m n ] (2.8) \mathbf{A}=\left[\begin{array}{cccc} a_{11} & a_{12} & \dots & a_{1 n} \\ a_{21} & a_{22} & \dots & a_{2 n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m 1} & a_{m 2} & \dots & a_{m n} \end{array}\right]\tag{2.8} A=⎣⎢⎢⎢⎡a11a21⋮am1a12a22⋮am2……⋱…a1na2n⋮amn⎦⎥⎥⎥⎤(2.8)
其中, A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n
给定两个矩阵 A ∈ R m × n , B ∈ R n × p \mathbf{A} \in \mathbb{R}^{m \times n},\mathbf{B} \in \mathbb{R}^{n \times p} A∈Rm×n,B∈Rn×p, A B AB AB的矩阵积可以表示为 C ∈ R m × p \mathbf{C} \in \mathbb{R}^{m \times p} C∈Rm×p,其中:
C i j = ∑ k = 1 n A i k B k j (2.9) \mathbf{C}_{i j}=\sum_{k=1}^{n} \mathbf{A}_{i k} \mathbf{B}_{k j}\tag{2.9} Cij=k=1∑nAikBkj(2.9)
可以证明矩阵乘积是可结合的,但不一定是可交换的。
( A B ) C = A ( B C ) (2.10) (\mathbf{A B}) \mathbf{C}=\mathbf{A}(\mathbf{B C})\tag{2.10} (AB)C=A(BC)(2.10)
适用于任意矩阵A,B和C(假定乘法是合法的)
A
B
=
B
A
(2.11)
\mathbf{A B}=\mathbf{B A}\tag{2.11}
AB=BA(2.11)
上式并不总是为真。
对于 n × n n\times n n×n的方阵 A A A,其行列式(也称为 ∣ A ∣ |A| ∣A∣)定义为:
det ( A ) = ∑ k 1 k 2 ⋯ k n ( − 1 ) τ ( k 1 k 2 ⋯ k n ) a 1 k 1 a 2 k 2 ⋯ a n k n (2.12) \operatorname{det}(\mathbf{A})=\sum_{k_{1} k_{2} \cdots k_{n}}(-1)^{\tau\left(k_{1} k_{2} \cdots k_{n}\right)} a_{1 k_{1}} a_{2 k_{2}} \cdots a_{n k_{n}}\tag{2.12} det(A)=k1k2⋯kn∑(−1)τ(k1k2⋯kn)a1k1a2k2⋯ankn(2.12)
如果 A A A是方阵,意味着 m = n m=n m=n,矩阵 A A A的逆(表示为 A − 1 A^{-1} A−1),其满足:
A − 1 A = I (2.14) \mathbf{A}^{-1} \mathbf{A}=\mathbf{I}\tag{2.14} A−1A=I(2.14)
其中 I I I是 n × n n\times n n×n的单位阵。
矩阵之间还有另一个经常使用的乘积称为Hadamard product.
两个矩阵
A
∈
R
m
×
n
,
B
∈
R
m
×
n
\mathbf{A} \in \mathbb{R}^{m \times n},\mathbf{B} \in \mathbb{R}^{m \times n}
A∈Rm×n,B∈Rm×n的Hadamard product为
C
∈
R
m
×
n
\mathbf{C} \in \mathbb{R}^{m \times n}
C∈Rm×n:
C i j = A i j B i j (2.15) \mathbf{C}_{i j}=\mathbf{A}_{i j} \mathbf{B}_{i j}\tag{2.15} Cij=AijBij(2.15)
Tensor: 具有任意维度的数组。大多数矩阵运算也适用于张量。
2.1.2 特征分解
让 A A A是一个矩阵,其中 A ∈ R n × n A\in \mathbb{R}^{n\times n} A∈Rn×n。一个非0向量 v ∈ C n v\in \mathbb{C}^n v∈Cn叫做 A A A的特征向量,如果存在一个标量 λ ∈ C \lambda\in \mathbb{C} λ∈C:
A v = λ v (2.16) \mathbf{Av} = \lambda \mathbf{ v} \tag{2.16} Av=λv(2.16)
标量
λ
\lambda
λ是对应于特征向量
v
\mathbf{v}
v的一个
A
\mathbf{A}
A的特征值。
如果矩阵
A
\mathbf{A}
A有
n
n
n个线性无关的特征向量
v
1
,
v
2
,
.
.
.
,
v
n
\mathbf{v_1,v_2,...,v_n}
v1,v2,...,vn,则对应的特征值为
λ
1
,
λ
2
,
.
.
.
,
λ
n
{\lambda_1,\lambda_2,...,\lambda_n}
λ1,λ2,...,λn,然后可以推导出:
A [ v 1 v 2 … v n ] = [ v 1 v 2 … v n ] [ λ 1 λ 2 ⋱ λ n ] (2.17) \mathbf{A}\left[\begin{array}{llll} \mathbf{v}_{1} & \mathbf{v}_{2} & \ldots & \mathbf{v}_{n} \end{array}\right]=\left[\begin{array}{llll} \mathbf{v}_{1} & \mathbf{v}_{2} & \ldots & \mathbf{v}_{n} \end{array}\right]\left[\begin{array}{cccc} \lambda_{1} & & & \\ & \lambda_{2} & & \\ & & \ddots & \\ & & & \lambda_{n} \end{array}\right]\tag{2.17} A[v1v2…vn]=[v1v2…vn]⎣⎢⎢⎡λ1λ2⋱λn⎦⎥⎥⎤(2.17)
让 V = [ v 1 v 2 … v n ] \mathbf{V}=\left[\begin{array}{llll}\mathbf{v}_{1} & \mathbf{v}_{2} & \dots & \mathbf{v}_{n}\end{array}\right] V=[v1v2…vn];很明显 V \mathbf{V} V是一个可逆矩阵。我们有 A \mathbf{A} A的特征分解(也叫对角化)
A = V diag ( λ ) V − 1 (2.18) \mathbf{A}=\mathbf{V} \operatorname{diag}(\lambda) \mathbf{V}^{-1}\tag{2.18} A=Vdiag(λ)V−1(2.18)
也可以写成以下形式:
A = ∑ i = 1 n λ i v i v i T (2.19) \mathbf{A}=\sum_{i=1}^{n} \lambda_{i} \mathbf{v}_{i} \mathbf{v}_{i}^{T}\tag{2.19} A=i=1∑nλiviviT(2.19)
然而,并不是所有的方阵都能以这种形式对角化,因为一个矩阵可能没有 n n n个线性无关的特征向量。幸运的是,可以证明每个实对称矩阵都有一个特征分解。
2.1.3 奇异值分解
由于特征分解只能应用于某些矩阵,我们引入了奇异值分解,它是对所有矩阵的推广。
首先,我们需要引入奇异值的概念。让
r
r
r表示
A
T
A
\mathbf{A^TA}
ATA的秩,然后存在
r
r
r个正标量
σ
1
≥
σ
2
≥
⋯
≥
σ
r
>
0
\sigma_{1} \geq \sigma_{2} \geq \cdots \geq \sigma_{r}>0
σ1≥σ2≥⋯≥σr>0,对于
1
≤
i
≤
r
1 \leq i \leq r
1≤i≤r,
v
i
\mathbf{v}_i
vi是矩阵
A
T
A
\mathbf{A^TA}
ATA对应于特征值
σ
i
2
\sigma_{i}^{2}
σi2的特征向量。
注意
v
1
,
v
2
,
.
.
.
,
v
r
\mathbf{v_1,v_2,...,v_r}
v1,v2,...,vr是线性无关的。
r
r
r个正标量
σ
1
,
σ
2
,
.
.
.
,
σ
r
\sigma_1,\sigma_2,...,\sigma_r
σ1,σ2,...,σr叫做
A
A
A的奇异值。然后我们有奇异值分解:
A = U Σ V T (2.20) \mathbf{A}=U \Sigma V^{T}\tag{2.20} A=UΣVT(2.20)
其中, U ∈ R m × m , V ( n × n ) U \in \mathbb{R}^{m\times m},V(n\times n) U∈Rm×m,V(n×n)是正交矩阵并且 Σ \Sigma Σ是 m × n m\times n m×n的矩阵定义如下:
Σ i j = { σ i if i = j ≤ r 0 otherwise \Sigma_{i j}=\left\{\begin{array}{ll} \sigma_{i} & \text { if } i=j \leq r \\ 0 & \text { otherwise } \end{array}\right. Σij={σi0 if i=j≤r otherwise
事实上,矩阵 U \mathbf{U} U的列向量是 A A T \mathbf{AA^T} AAT的特征向量, A T A \mathbf{A^TA} ATA的特征向量由 V \mathbf{V} V的列向量组成。
2.2 概率论
不确定性在机器学习领域无处不在,因此需要使用概率理论来量化和处理不确定性。在本节中,我们回顾了概率论中的一些基本概念和经典分布,这对于理解本书的其余部分至关重要。
2.2.1 基本概念和公式
在概率论中,随机变量是具有随机值的变量。例如,我们用 X X X表示一个具有两个可能值 x 1 , x 2 x_1,x_2 x1,x2的随机值,则 X = x 1 X=x_1 X=x1的概率为 P ( X = x 1 ) P\left(X=x_{1}\right) P(X=x1),显然,以下等式仍然成立:
P ( X = x 1 ) + P ( X = x 2 ) = 1 (2.21) P\left(X=x_{1}\right)+P\left(X=x_{2}\right)=1 \tag{2.21} P(X=x1)+P(X=x2)=1(2.21)
假设有另一个随机变量
Y
Y
Y,它的可能值是
y
1
y_1
y1。
X
=
x
1
,
Y
=
y
1
X=x_1,Y=y_1
X=x1,Y=y1的概率可以写为
P
(
X
=
x
1
,
Y
=
y
1
)
P(X=x_1,Y=y_1)
P(X=x1,Y=y1),这称为
X
=
x
1
,
Y
=
y
1
X=x_1,Y=y_1
X=x1,Y=y1的联合分布。
有时我们需要知道随机变量之间的关系,例如在
Y
=
y
1
Y=y_1
Y=y1的情况下
X
=
x
1
X=x_1
X=x1的概率,这个可以写为
P
(
X
=
x
1
∣
Y
=
y
1
)
P(X=x_1|Y=y_1)
P(X=x1∣Y=y1)。这个我们称为在给定
Y
=
y
1
Y=y_1
Y=y1的情况下,
X
=
x
1
X=x_1
X=x1的条件概率。
有了以上的概念,我们可以写出概率论的两个基本规则:
P ( X = x ) = ∑ y P ( X = x , Y = y ) (2.22) P(X=x)=\sum_{y} P(X=x, Y=y)\tag{2.22} P(X=x)=y∑P(X=x,Y=y)(2.22)
P ( X = x , Y = y ) = P ( Y = y ∣ X = x ) P ( X = x ) (2.23) P(X=x, Y=y)=P(Y=y | X=x) P(X=x)\tag{2.23} P(X=x,Y=y)=P(Y=y∣X=x)P(X=x)(2.23)
前者是求和法则,后者是乘积法则。稍微修改乘积法则的形式,我们得到了另一个有用的公式:
P ( Y = y ∣ X = x ) = P ( X = x , Y = y ) P ( X = x ) = P ( X = x ∣ Y = y ) P ( Y = y ) P ( X = x ) (2.24) \begin{aligned} P(Y=y | X=x) &=\frac{P(X=x, Y=y)}{P(X=x)} \\ &=\frac{P(X=x | Y=y) P(Y=y)}{P(X=x)} \end{aligned}\tag{2.24} P(Y=y∣X=x)=P(X=x)P(X=x,Y=y)=P(X=x)P(X=x∣Y=y)P(Y=y)(2.24)
这就是著名的贝叶斯公式。注意,它也适用于两个以上的变量:
P ( X i = x i ∣ Y = y ) = P ( Y = y ∣ X i = x i ) P ( X i = x i ) ∑ j = 1 n P ( Y = y ∣ X j = x j ) P ( X j = x j ) (2.25) P\left(X_{i}=x_{i} | Y=y\right)=\frac{P\left(Y=y | X_{i}=x_{i}\right) P\left(X_{i}=x_{i}\right)}{\sum_{j=1}^{n} P\left(Y=y | X_{j}=x_{j}\right) P\left(X_{j}=x_{j}\right)}\tag{2.25} P(Xi=xi∣Y=y)=∑j=1nP(Y=y∣Xj=xj)P(Xj=xj)P(Y=y∣Xi=xi)P(Xi=xi)(2.25)
利用乘积法则,我们可以推出链式法则:
P ( X 1 = x 1 , ⋯ , X n = x n ) = P ( X 1 = x 1 ) ∏ i = 2 n P ( X i = x i ∣ X 1 = x 1 , ⋯ , X i − 1 = x i − 1 ) (2.26) \begin{array}{l} P\left(X_{1}=x_{1}, \cdots, X_{n}=x_{n}\right) \\ =P\left(X_{1}=x_{1}\right) \prod_{i=2}^{n} P\left(X_{i}=x_{i} | X_{1}=x_{1}, \cdots, X_{i-1}=x_{i-1}\right) \end{array}\tag{2.26} P(X1=x1,⋯,Xn=xn)=P(X1=x1)∏i=2nP(Xi=xi∣X1=x1,⋯,Xi−1=xi−1)(2.26)
其中 X 1 , X 2 , . . . , X n X_1,X_2,...,X_n X1,X2,...,Xn是 n n n个随机变量。
在概率分布 P ( x ) P(x) P(x)下某个函数 f ( x ) f(x) f(x)的平均值(其中 x x x是某个随机变量的值)称为 f ( x ) f(x) f(x)的期望。对于离散分布,可以写成:
E [ f ( x ) ] = ∑ x P ( x ) f ( x ) (2.27) \mathbb{E}[f(x)]=\sum_{x} P(x) f(x)\tag{2.27} E[f(x)]=x∑P(x)f(x)(2.27)
当 f ( x ) = x f(x)=x f(x)=x时, E [ x ] \mathbb{E}[x] E[x]代表 x x x的期望。
为了测量 f ( x ) f(x) f(x)在其均值 E f ( x ) \mathbb{E}{f(x)} Ef(x)周围的离散程度,我们引入了方差:
Var ( f ( x ) ) = E [ ( f ( x ) − E [ f ( x ) ] ) 2 ] = E [ f ( x ) 2 ] − E [ f ( x ) ] 2 (2.28) \begin{aligned} \operatorname{Var}(f(x)) &=\mathbb{E}\left[(f(x)-\mathbb{E}[f(x)])^{2}\right] \\ &=\mathbb{E}\left[f(x)^{2}\right]-\mathbb{E}[f(x)]^{2} \end{aligned}\tag{2.28} Var(f(x))=E[(f(x)−E[f(x)])2]=E[f(x)2]−E[f(x)]2(2.28)
标准差是方差的平方根。在某种程度上,协方差表示两个变量同时变化的程度:
Cov ( f ( x ) , g ( y ) ) = E [ ( f ( x ) − E [ f ( x ) ] ) ( g ( y ) − E [ g ( y ) ] ) ] (2.29) \operatorname{Cov}(f(x), g(y))=\mathbb{E}[(f(x)-\mathbb{E}[f(x)])(g(y)-\mathbb{E}[g(y)])]\tag{2.29} Cov(f(x),g(y))=E[(f(x)−E[f(x)])(g(y)−E[g(y)])](2.29)
协方差越大,表明 f ( x ) f(x) f(x)和 g ( y ) g(y) g(y)之间的相关性越高。
2.2.2 概率分布
概率分布描述了一个或多个随机变量在每个状态下的概率。下面列出了几个在机器学习领域有用的发行版。
高斯分布: 它也被称为正态分布,可以表示为:
N ( x ∣ μ , σ 2 ) = 1 2 π σ 2 exp ( − 1 2 σ 2 ( x − μ ) 2 ) (2.30) N\left(x | \mu, \sigma^{2}\right)=\sqrt{\frac{1}{2 \pi \sigma^{2}}} \exp \left(-\frac{1}{2 \sigma^{2}}(x-\mu)^{2}\right)\tag{2.30} N(x∣μ,σ2)=2πσ21exp(−2σ21(x−μ)2)(2.30)
其中, μ \mu μ是变量 x x x的均值, σ 2 \sigma^2 σ2是方差。
伯努利分布: 随机变量 X X X可以是0或1,概率是 P ( X = 1 ) = p P(X=1)=p P(X=1)=p。那么分布函数是
P ( X = x ) = p x ( 1 − p ) 1 − x , x ∈ { 0 , 1 } (2.31) P(X=x)=p^{x}(1-p)^{1-x}, x \in\{0,1\}\tag{2.31} P(X=x)=px(1−p)1−x,x∈{0,1}(2.31)
很明显 E ( X ) = p E(X)=p E(X)=p, V a r ( X ) = p ( 1 − p ) Var(X)=p(1-p) Var(X)=p(1−p)。
二项分布: 重复伯努利实验 N N N次, X = 1 X=1 X=1的次数用 Y Y Y表示
P ( Y = k ) = ( N k ) p k ( 1 − p ) N − k (2.32) P(Y=k)=\left(\begin{array}{l} N \\ k \end{array}\right) p^{k}(1-p)^{N-k}\tag{2.32} P(Y=k)=(Nk)pk(1−p)N−k(2.32)
二项分布满足 E ( Y ) = n p , V a r ( Y ) = n p ( 1 − p ) E(Y)=np,Var(Y)=np(1-p) E(Y)=np,Var(Y)=np(1−p)。
拉普拉斯分布: 拉普拉斯分布被描述为
P ( x ∣ μ , b ) = 1 2 b exp ( − ∣ x − μ ∣ b ) (2.33) P(x | \mu, b)=\frac{1}{2 b} \exp \left(-\frac{|x-\mu|}{b}\right)\tag{2.33} P(x∣μ,b)=2b1exp(−b∣x−μ∣)(2.33)
2.3 图论
图是GNNs研究的基础课题。因此,要对GNN有一个全面的了解,就需要用到基础图论。
2.3.1 基本概念
图通常用 G = ( V , E ) G=(V,E) G=(V,E)表示;其中 V V V是顶点的集合, E E E是边的集合。
边
e
=
u
,
v
e=u,v
e=u,v有两个端点
u
,
v
u,v
u,v,可以认为是由
e
e
e连接的。在这种情况下,
u
u
u被称为
v
v
v的邻居,换句话说,这两个顶点是相邻的。注意,边可以是有向的也可以是无向的。
如果所有边都是有向的,则将图称为有向图;如果所有边都是无向的,则将图称为无向图。
顶点
v
v
v的度,由
d
(
v
)
d(v)
d(v)表示,是与
v
v
v连接的边数。
2.3.2 图的代数表示
有一些有用的图代数表示形式,如下所示。
邻接矩阵: 对于有 n n n个顶点的简单图 G = ( V , E ) G=(V,E) G=(V,E),可以用邻接矩阵 A ∈ R n × n A\in \mathbb{R}^{n\times n} A∈Rn×n来描述,其中:
A i j = { 1 if { v i , v j } ∈ E and i ≠ j 0 otherwise A_{i j}=\left\{\begin{array}{ll} 1 & \text { if }\left\{v_{i}, v_{j}\right\} \in E \text { and } i \neq j \\ 0 & \text { otherwise } \end{array}\right. Aij={10 if {vi,vj}∈E and i=j otherwise
显然,当G是无向图时,这种矩阵是对称矩阵。
度数矩阵: 对于有
n
n
n个顶点的图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),其度数矩阵
D
∈
R
n
×
n
D\in \mathbb{R}^{n\times n}
D∈Rn×n
是对角矩阵,其中
D i i = d ( v i ) D_{ii}=d(v_i) Dii=d(vi)
拉普拉斯矩阵: 对于有
n
n
n个顶点的图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),如果我们认为
G
G
G中的所有边都是无向的,
然后其拉普拉斯矩阵
L
∈
R
n
×
n
L\in \mathbb{R}^{n\times n}
L∈Rn×n可以定义为:
L = D − A L=D-A L=D−A
因此,我们具有以下元素:
L i j = { d ( v i ) if i = j − 1 if { v i , v j } ∈ E and i ≠ j 0 otherwise L_{i j}=\left\{\begin{array}{ll} d\left(v_{i}\right) & \text { if } i=j \\ -1 & \text { if }\left\{v_{i}, v_{j}\right\} \in E \text { and } i \neq j \\ 0 & \text { otherwise } \end{array}\right. Lij=⎩⎨⎧d(vi)−10 if i=j if {vi,vj}∈E and i=j otherwise
注意,该图被认为是邻接矩阵的无向图。
对称归一化拉普拉斯算子: 对称归一化拉普拉斯算子定义为:
L s y m = D − 1 2 L D − 1 2 = I − D − 1 2 A D − 1 2 \begin{aligned} L^{s y m} &=D^{-\frac{1}{2}} L D^{-\frac{1}{2}} \\ &=I-D^{-\frac{1}{2}} A D^{-\frac{1}{2}} \end{aligned} Lsym=D−21LD−21=I−D−21AD−21
元素由下式给出:
L i j s y m = { 1 if i = j and d ( v i ) ≠ 0 − 1 d ( v i ) d ( v j ) if { v i , v j } ∈ E and i ≠ j 0 otherwise L_{i j}^{s y m}=\left\{\begin{array}{ll} 1 & \text { if } i=j \text { and } d\left(v_{i}\right) \neq 0 \\ -\frac{1}{\sqrt{d\left(v_{i}\right) d\left(v_{j}\right)}} & \text { if }\left\{v_{i}, v_{j}\right\} \in E \text { and } i \neq j \\ 0 & \text { otherwise } \end{array}\right. Lijsym=⎩⎪⎨⎪⎧1−d(vi)d(vj)10 if i=j and d(vi)=0 if {vi,vj}∈E and i=j otherwise
随机游走归一化的拉普拉斯算子: 它定义为:
L r w = D − 1 L = I − D − 1 A L^{r w}=D^{-1} L=I-D^{-1} A Lrw=D−1L=I−D−1A
可以通过以下方式计算元素:
L i j r w = { 1 if i = j and d ( v i ) ≠ 0 − 1 d ( v i ) if { v i , v j } ∈ E and i ≠ j 0 otherwise L_{i j}^{r w}=\left\{\begin{array}{ll} 1 & \text { if } i=j \text { and } d\left(v_{i}\right) \neq 0 \\ -\frac{1}{d\left(v_{i}\right)} & \text { if }\left\{v_{i}, v_{j}\right\} \in E \text { and } i \neq j \\ 0 & \text { otherwise } \end{array}\right. Lijrw=⎩⎨⎧1−d(vi)10 if i=j and d(vi)=0 if {vi,vj}∈E and i=j otherwise
关联矩阵: 表示图的另一个常用矩阵是关联矩阵。对于有
n
n
n个顶点和
m
m
m条边的
图
G
=
(
V
,
E
)
G=(V,E)
G=(V,E),对应的关联矩阵
M
∈
R
n
×
m
M\in \mathbb{R}^{n\times m}
M∈Rn×m,其中:
M i j = { 1 if ∃ k s.t e j = { v i , v k } − 1 if ∃ k s.t e j = { v k , v i } 0 otherwise. M_{i j}=\left\{\begin{array}{ll} 1 & \text { if } \exists k \text { s.t } e_{j}=\left\{v_{i}, v_{k}\right\} \\ -1 & \text { if } \exists k \text { s.t } e_{j}=\left\{v_{k}, v_{i}\right\} \\ 0 & \text { otherwise. } \end{array}\right. Mij=⎩⎨⎧1−10 if ∃k s.t ej={vi,vk} if ∃k s.t ej={vk,vi} otherwise.
对于无向图,对应的关联矩阵满足这个条件
M i j = { 1 if ∃ k s.t e j = { v i , v k } 0 otherwise M_{i j}=\left\{\begin{array}{ll} 1 & \text { if } \exists k \text { s.t } e_{j}=\left\{v_{i}, v_{k}\right\} \\ 0 & \text { otherwise } \end{array}\right. Mij={10 if ∃k s.t ej={vi,vk} otherwise