Introduction to Graph Neural Network翻譯-第二章數學與圖基礎

2. 數學與圖基礎

2.1 線性代數

線性代數的語言和概念在計算機科學的許多領域都得到了廣泛的應用,機器學習也不例外。對機器學習的良好理解是建立在對線性代數的透徹理解的基礎上的。
在這一節中,我們將簡要回顧線性代數中的一些重要概念和計算,這對於理解本書的其餘部分是必要的。在這一節中,我們將回顧線性代數中的一些基本概念和計算,這對於理解本書的其餘部分是必要的。

2.1.1 基本概念

標量: 一個數

向量: 一列有序的數字,可以表示爲:

x=[x1x2xn](2.1) \mathbf{x}=\left[\begin{array}{c} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \end{array}\right] \tag{2.1}
向量的範數衡量其長度。LpL_p範數定義如下:

xp=(i=1nxip)1p(2.2)\|\mathbf{x}\|_{p}=\left(\sum_{i=1}^{n}\left|x_{i}\right|^{p}\right)^{\frac{1}{p}} \tag{2.2}

L1L_1範數、L2L_2範數和LL_{\infty}範數常被用於機器學習。

L1L_1範數可以簡化爲:

x1=i=1nxi(2.3)\|\mathbf{x}\|_{1}=\sum_{i=1}^{n}\left|x_{i}\right|\tag{2.3}

在歐式空間Rn\mathbb{R}^{n}L2L_2範數常被用來測量兩個向量直接的距離:

x2=i=1nxi2(2.4)\|\mathbf{x}\|_{2}=\sqrt{\sum_{i=1}^{n} x_{i}^{2}}\tag{2.4}

LL_\infty範數也叫最大範數,如:

x=maxixi(2.5)\|\mathbf{x}\|_{\infty}=\max _{i}\left|x_{i}\right|\tag{2.5}

對於LpL_p範數,向量x1,x2x_1,x_2之間的距離(其中,x1,x2x_1,x_2都在相同的線性空間)可以定義爲:

Dp(x1,x2)=x1x2p(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}

一組向量x1,x2,...,xmx_1,x_2,...,x_m當且僅當不存在一組不全爲0的標量λ1,λ2,,λm\lambda_{1}, \lambda_{2}, \cdots, \lambda_{m}時可以稱爲線性無關,例如:

λ1x1+λ2x2++λmxm=0(2.7)\lambda_{1} \mathbf{x}_{1}+\lambda_{2} \mathbf{x}_{2}+\cdots+\lambda_{m} \mathbf{x}_{m}=\mathbf{0}\tag{2.7}

矩陣: 二維數組,可以表示爲:

A=[a11a12a1na21a22a2nam1am2amn](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}

其中,ARm×n\mathbf{A} \in \mathbb{R}^{m \times n}

給定兩個矩陣ARm×n,BRn×p\mathbf{A} \in \mathbb{R}^{m \times n},\mathbf{B} \in \mathbb{R}^{n \times p}ABAB的矩陣積可以表示爲CRm×p\mathbf{C} \in \mathbb{R}^{m \times p},其中:

Cij=k=1nAikBkj(2.9)\mathbf{C}_{i j}=\sum_{k=1}^{n} \mathbf{A}_{i k} \mathbf{B}_{k j}\tag{2.9}

可以證明矩陣乘積是可結合的,但不一定是可交換的。

(AB)C=A(BC)(2.10)(\mathbf{A B}) \mathbf{C}=\mathbf{A}(\mathbf{B C})\tag{2.10}

適用於任意矩陣A,B和C(假定乘法是合法的)

AB=BA(2.11)\mathbf{A B}=\mathbf{B A}\tag{2.11}
上式並不總是爲真。

對於n×nn\times n的方陣AA,其行列式(也稱爲A|A|)定義爲:

det(A)=k1k2kn(1)τ(k1k2kn)a1k1a2k2ankn(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}

如果AA是方陣,意味着m=nm=n,矩陣AA的逆(表示爲A1A^{-1}),其滿足:

A1A=I(2.14)\mathbf{A}^{-1} \mathbf{A}=\mathbf{I}\tag{2.14}

其中IIn×nn\times n的單位陣。

矩陣之間還有另一個經常使用的乘積稱爲Hadamard product.
兩個矩陣ARm×n,BRm×n\mathbf{A} \in \mathbb{R}^{m \times n},\mathbf{B} \in \mathbb{R}^{m \times n}Hadamard productCRm×n\mathbf{C} \in \mathbb{R}^{m \times n}

Cij=AijBij(2.15)\mathbf{C}_{i j}=\mathbf{A}_{i j} \mathbf{B}_{i j}\tag{2.15}

Tensor: 具有任意維度的數組。大多數矩陣運算也適用於張量。

2.1.2 特徵分解

AA是一個矩陣,其中ARn×nA\in \mathbb{R}^{n\times n}。一個非0向量vCnv\in \mathbb{C}^n叫做AA的特徵向量,如果存在一個標量λC\lambda\in \mathbb{C}

Av=λv(2.16) \mathbf{Av} = \lambda \mathbf{ v} \tag{2.16}

標量λ\lambda是對應於特徵向量v\mathbf{v}的一個A\mathbf{A}的特徵值。
如果矩陣A\mathbf{A}nn個線性無關的特徵向量v1,v2,...,vn\mathbf{v_1,v_2,...,v_n},則對應的特徵值爲λ1,λ2,...,λn{\lambda_1,\lambda_2,...,\lambda_n},然後可以推導出:

A[v1v2vn]=[v1v2vn][λ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}

V=[v1v2vn]\mathbf{V}=\left[\begin{array}{llll}\mathbf{v}_{1} & \mathbf{v}_{2} & \dots & \mathbf{v}_{n}\end{array}\right];很明顯V\mathbf{V}是一個可逆矩陣。我們有A\mathbf{A}的特徵分解(也叫對角化)

A=Vdiag(λ)V1(2.18)\mathbf{A}=\mathbf{V} \operatorname{diag}(\lambda) \mathbf{V}^{-1}\tag{2.18}

也可以寫成以下形式:

A=i=1nλiviviT(2.19)\mathbf{A}=\sum_{i=1}^{n} \lambda_{i} \mathbf{v}_{i} \mathbf{v}_{i}^{T}\tag{2.19}

然而,並不是所有的方陣都能以這種形式對角化,因爲一個矩陣可能沒有nn個線性無關的特徵向量。幸運的是,可以證明每個實對稱矩陣都有一個特徵分解。

2.1.3 奇異值分解

由於特徵分解只能應用於某些矩陣,我們引入了奇異值分解,它是對所有矩陣的推廣。

首先,我們需要引入奇異值的概念。讓rr表示ATA\mathbf{A^TA}的秩,然後存在rr個正標量σ1σ2σr>0\sigma_{1} \geq \sigma_{2} \geq \cdots \geq \sigma_{r}>0,對於1ir1 \leq i \leq rvi\mathbf{v}_i是矩陣ATA\mathbf{A^TA}對應於特徵值σi2\sigma_{i}^{2}的特徵向量。
注意v1,v2,...,vr\mathbf{v_1,v_2,...,v_r}是線性無關的。rr個正標量σ1,σ2,...,σr\sigma_1,\sigma_2,...,\sigma_r叫做AA的奇異值。然後我們有奇異值分解:

A=UΣVT(2.20)\mathbf{A}=U \Sigma V^{T}\tag{2.20}

其中,URm×m,V(n×n)U \in \mathbb{R}^{m\times m},V(n\times n)是正交矩陣並且Σ\Sigmam×nm\times n的矩陣定義如下:

Σij={σi if i=jr0 otherwise \Sigma_{i j}=\left\{\begin{array}{ll} \sigma_{i} & \text { if } i=j \leq r \\ 0 & \text { otherwise } \end{array}\right.

事實上,矩陣U\mathbf{U}的列向量是AAT\mathbf{AA^T}的特徵向量,ATA\mathbf{A^TA}的特徵向量由V\mathbf{V}的列向量組成。

2.2 概率論

不確定性在機器學習領域無處不在,因此需要使用概率理論來量化和處理不確定性。在本節中,我們回顧了概率論中的一些基本概念和經典分佈,這對於理解本書的其餘部分至關重要。

2.2.1 基本概念和公式

在概率論中,隨機變量是具有隨機值的變量。例如,我們用XX表示一個具有兩個可能值x1,x2x_1,x_2的隨機值,則X=x1X=x_1的概率爲P(X=x1)P\left(X=x_{1}\right),顯然,以下等式仍然成立:

P(X=x1)+P(X=x2)=1(2.21)P\left(X=x_{1}\right)+P\left(X=x_{2}\right)=1 \tag{2.21}

假設有另一個隨機變量YY,它的可能值是y1y_1X=x1,Y=y1X=x_1,Y=y_1的概率可以寫爲P(X=x1,Y=y1)P(X=x_1,Y=y_1),這稱爲X=x1,Y=y1X=x_1,Y=y_1的聯合分佈。
有時我們需要知道隨機變量之間的關係,例如在Y=y1Y=y_1的情況下X=x1X=x_1的概率,這個可以寫爲P(X=x1Y=y1)P(X=x_1|Y=y_1)。這個我們稱爲在給定Y=y1Y=y_1的情況下,X=x1X=x_1的條件概率。

有了以上的概念,我們可以寫出概率論的兩個基本規則:

P(X=x)=yP(X=x,Y=y)(2.22)P(X=x)=\sum_{y} P(X=x, Y=y)\tag{2.22}

P(X=x,Y=y)=P(Y=yX=x)P(X=x)(2.23)P(X=x, Y=y)=P(Y=y | X=x) P(X=x)\tag{2.23}

前者是求和法則,後者是乘積法則。稍微修改乘積法則的形式,我們得到了另一個有用的公式:

P(Y=yX=x)=P(X=x,Y=y)P(X=x)=P(X=xY=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(Xi=xiY=y)=P(Y=yXi=xi)P(Xi=xi)j=1nP(Y=yXj=xj)P(Xj=xj)(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(X1=x1,,Xn=xn)=P(X1=x1)i=2nP(Xi=xiX1=x1,,Xi1=xi1)(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}

其中X1,X2,...,XnX_1,X_2,...,X_nnn個隨機變量。

在概率分佈P(x)P(x)下某個函數f(x)f(x)的平均值(其中xx是某個隨機變量的值)稱爲f(x)f(x)期望。對於離散分佈,可以寫成:

E[f(x)]=xP(x)f(x)(2.27)\mathbb{E}[f(x)]=\sum_{x} P(x) f(x)\tag{2.27}

f(x)=xf(x)=x時,E[x]\mathbb{E}[x]代表xx的期望。

爲了測量f(x)f(x)在其均值Ef(x)\mathbb{E}{f(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}

標準差是方差的平方根。在某種程度上,協方差表示兩個變量同時變化的程度:

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}

協方差越大,表明f(x)f(x)g(y)g(y)之間的相關性越高。

2.2.2 概率分佈

概率分佈描述了一個或多個隨機變量在每個狀態下的概率。下面列出了幾個在機器學習領域有用的發行版。

高斯分佈: 它也被稱爲正態分佈,可以表示爲:

N(xμ,σ2)=12πσ2exp(12σ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}

其中,μ\mu是變量xx的均值,σ2\sigma^2是方差。

伯努利分佈: 隨機變量XX可以是0或1,概率是P(X=1)=pP(X=1)=p。那麼分佈函數是

P(X=x)=px(1p)1x,x{0,1}(2.31)P(X=x)=p^{x}(1-p)^{1-x}, x \in\{0,1\}\tag{2.31}

很明顯E(X)=pE(X)=pVar(X)=p(1p)Var(X)=p(1-p)

二項分佈: 重複伯努利實驗NN次,X=1X=1的次數用YY表示

P(Y=k)=(Nk)pk(1p)Nk(2.32)P(Y=k)=\left(\begin{array}{l} N \\ k \end{array}\right) p^{k}(1-p)^{N-k}\tag{2.32}

二項分佈滿足E(Y)=np,Var(Y)=np(1p)E(Y)=np,Var(Y)=np(1-p)

拉普拉斯分佈: 拉普拉斯分佈被描述爲

P(xμ,b)=12bexp(xμb)(2.33)P(x | \mu, b)=\frac{1}{2 b} \exp \left(-\frac{|x-\mu|}{b}\right)\tag{2.33}

2.3 圖論

圖是GNNs研究的基礎課題。因此,要對GNN有一個全面的瞭解,就需要用到基礎圖論。

2.3.1 基本概念

圖通常用G=(V,E)G=(V,E)表示;其中VV是頂點的集合,EE是邊的集合。

e=u,ve=u,v有兩個端點u,vu,v,可以認爲是由ee連接的。在這種情況下,uu被稱爲vv鄰居,換句話說,這兩個頂點是相鄰的。注意,邊可以是有向的也可以是無向的。
如果所有邊都是有向的,則將圖稱爲有向圖;如果所有邊都是無向的,則將圖稱爲無向圖。
頂點vv的度,由d(v)d(v)表示,是與vv連接的邊數。

2.3.2 圖的代數表示

有一些有用的圖代數表示形式,如下所示。

鄰接矩陣: 對於有nn個頂點的簡單圖G=(V,E)G=(V,E),可以用鄰接矩陣ARn×nA\in \mathbb{R}^{n\times n}來描述,其中:

Aij={1 if {vi,vj}E and ij0 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.

顯然,當G是無向圖時,這種矩陣是對稱矩陣。

度數矩陣: 對於有nn個頂點的圖G=(V,E)G=(V,E),其度數矩陣DRn×nD\in \mathbb{R}^{n\times n}
是對角矩陣,其中

Dii=d(vi)D_{ii}=d(v_i)

拉普拉斯矩陣: 對於有nn個頂點的圖G=(V,E)G=(V,E),如果我們認爲GG中的所有邊都是無向的,
然後其拉普拉斯矩陣LRn×nL\in \mathbb{R}^{n\times n}可以定義爲:

L=DAL=D-A

因此,我們具有以下元素:

Lij={d(vi) if i=j1 if {vi,vj}E and ij0 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.

注意,該圖被認爲是鄰接矩陣的無向圖。

對稱歸一化拉普拉斯算子: 對稱歸一化拉普拉斯算子定義爲:

Lsym=D12LD12=ID12AD12\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}

元素由下式給出:

Lijsym={1 if i=j and d(vi)01d(vi)d(vj) if {vi,vj}E and ij0 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.

隨機遊走歸一化的拉普拉斯算子: 它定義爲:

Lrw=D1L=ID1AL^{r w}=D^{-1} L=I-D^{-1} A

可以通過以下方式計算元素:

Lijrw={1 if i=j and d(vi)01d(vi) if {vi,vj}E and ij0 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.

關聯矩陣: 表示圖的另一個常用矩陣是關聯矩陣。對於有nn個頂點和mm條邊的
G=(V,E)G=(V,E),對應的關聯矩陣MRn×mM\in \mathbb{R}^{n\times m},其中:

Mij={1 if k s.t ej={vi,vk}1 if k s.t ej={vk,vi}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 if k s.t ej={vi,vk}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.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章