参考:
PAPER:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS. ICLR 2017
图卷积神经网络(GCN)的数学原理详解——谱图理论和傅立叶变换初探_哔哩哔哩_bilibili
H ( l + 1 ) = σ ( A H ( l ) θ ) H^{(l+1)}=\sigma(AH^{(l)}\theta) H(l+1)=σ(AH(l)θ)
实验证明,即使就这么简单的神经网络层,就已经很强大了。这个简单模型应该大家都能理解吧,这就是正常的神经网络操作。
但是这个简单模型有几个局限性:
只使用A的话,由于A的对角线上都是0,所以在和特征矩阵H相乘的时候,只会计算一个node的所有邻居的特征的加权和,该node自己的特征却被忽略了。因此,我们可以做一个小小的改动,给A加上一个单位矩阵 I ,这样就让对角线元素变成1了。
A是没有经过归一化的矩阵,这样与特征矩阵相乘会改变特征原本的分布,产生一些不可预测的问题。所以我们对A做一个标准化处理。首先让A的每一行加起来为1,我们可以乘以一个D的逆,D就是度矩阵。我们可以进一步把D的拆开与A相乘,得到一个对称且归一化的矩阵 :。
通过对上面两个局限的改进,我们便得到了最终的层特征传播公式
H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) θ ) H^{(l+1)}=\sigma(\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{(l)}\theta) H(l+1)=σ(D~−21A~D~−21H(l)θ)
图image是图graph的一种特例
GNN
H ( l + 1 ) = f ( A , H ( l ) ) H^{(l+1)}=f(A,H^{(l)}) H(l+1)=f(A,H(l))
不同的GNN模型都是在探究不同 f f f的形式
GCN(只考虑无向简单图)
H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) θ ) H^{(l+1)}=\sigma(\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{(l)}\theta) H(l+1)=σ(D~−21A~D~−21H(l)θ)
A A A:adjacency matrix :邻接矩阵
A ~ = A + I \tilde{A}=A+I A~=A+I I I I是单位矩阵
D D D: degree matrix :度矩阵
D ~ = D + I \tilde{D}=D+I D~=D+I
θ \theta θ: 可训练的参数,对输入的feature进行线性变换
σ \sigma σ: 激活函数sigma()
对于只有对角线上有非零元素的矩阵来说,求幂就是对对角线上的元素求对应次幂。例如:
( 4 0 0 0 2 0 0 0 2 ) \left(\begin{matrix}4&0&0\\0&2&0\\0&0&2\end{matrix}\right) ⎝⎛400020002⎠⎞ 求 − 1 2 -\frac{1}{2} −21次方幂: ( 4 − 1 2 0 0 0 2 − 1 2 0 0 0 2 − 1 2 ) \left(\begin{matrix}4^{-\frac{1}{2}}&0&0\\0&2^{-\frac{1}{2}}&0\\0&0&2^{-\frac{1}{2}}\end{matrix}\right) ⎝⎛4−210002−210002−21⎠⎞
A x ⃗ = λ x ⃗ , ∣ x ⃗ ∣ ≠ 0 A\vec{x}=\lambda\vec{x},|\vec{x}|\neq0 Ax=λx,∣x∣=0 则说 λ \lambda λ是矩阵 A A A的特征值, x ⃗ \vec{x} x是其特征向量
如果一个矩阵 A n × n A_{n\times n} An×n是实对称矩阵(real symmefric matrix),那它一定有n个特征值,并且这n个特征值对应着n个互相正交的特征向量。
A = U Λ U T A=U\Lambda U^{T} A=UΛUT U U T = I UU^{T}=I UUT=I Λ = ( λ 1 λ 2 ⋱ λ n ) \Lambda=\left(\begin{matrix}\lambda_1\\&\lambda_2\\&&\ddots\\&&&\lambda_n\end{matrix}\right) Λ=⎝⎜⎜⎛λ1λ2⋱λn⎠⎟⎟⎞
x ⃗ \vec{x} x关于矩阵 A A A的二次型与 x ⃗ \vec{x} x关于单位矩阵的二次型的比值,即 x ⃗ T A x ⃗ x ⃗ T x ⃗ \frac{\vec{x}^{T}A\vec{x}}{\vec{x}^{T}\vec{x}} xTxxTAx
假如 x ⃗ \vec{x} x是 A A A的一个特征向量,那么可以证明对应瑞利商是 A A A相应的特征值
证明如下:
x ⃗ T A x ⃗ x ⃗ T x ⃗ = x ⃗ T ( λ x ⃗ ) x ⃗ T x ⃗ = λ ( x ⃗ T x ⃗ ) x ⃗ T x ⃗ = λ \frac{\vec{x}^{T}A\vec{x}}{\vec{x}^{T}\vec{x}}=\frac{\vec{x}^{T}(\lambda\vec{x})}{\vec{x}^{T}\vec{x}}=\frac{\lambda(\vec{x}^{T}\vec{x})}{\vec{x}^{T}\vec{x}}=\lambda xTxxTAx=xTxxT(λx)=xTxλ(xTx)=λ
拉普拉斯矩阵 L = D − A L=D-A L=D−A
拉普拉斯矩阵的对称规范化 L s y m = D − 1 2 L D − 1 2 L_{sym}=D^{-\frac{1}{2}}LD^{-\frac{1}{2}} Lsym=D−21LD−21
L L L和 L s y m L_{sym} Lsym都是实对称矩阵(positive semi-definite),都具有n个特征值和n个特征向量,都可以分解为 U Λ U T U\Lambda U^{T} UΛUT的形式。
L L L和 L s y m L_{sym} Lsym都是半正定矩阵,所以他们的特征值都是大于等于0的。
证明 L L L和 L s y m L_{sym} Lsym都是半正定的:
证明思路:证明矩阵瑞利商 x ⃗ T A x ⃗ x ⃗ T x ⃗ \frac{\vec{x}^{T}A\vec{x}}{\vec{x}^{T}\vec{x}} xTxxTAx都是大于等于0的。
对于 L L L :
分母 x ⃗ T x ⃗ \vec{x}^{T}\vec{x} xTx是 x ⃗ \vec{x} x的模长,所以衡大于等于0
构造辅助矩阵 G ( i , j ) G_{(i,j)} G(i,j)(除了 g ( i , i ) g_{(i,i)} g(i,i)和 g ( j , j ) g_{(j,j)} g(j,j)是1, g ( i , j ) g_{(i,j)} g(i,j)和 g ( j , i ) g_{(j,i)} g(j,i)是-1,其他位置都是0)
G ( i , j ) = ( ⋱ 1 − 1 ⋱ − 1 1 ⋱ ) G_{(i,j)}=\left(\begin{matrix}\ddots\\&1&&-1\\&&\ddots&\\&-1&&1&\\&&&&\ddots\end{matrix}\right) G(i,j)=⎝⎜⎜⎜⎜⎛⋱1−1⋱−11⋱⎠⎟⎟⎟⎟⎞
则 L = ∑ ( i , j ) ∈ E G ( i , j ) L=\sum_{(i,j)\in E}G_{(i,j)} L=∑(i,j)∈EG(i,j) (即所有边的G矩阵之和为拉普拉斯矩阵)
而( G G G的二次型) x ⃗ T G ( i , j ) x ⃗ = x ⃗ T ( ⋮ x i − x j ⋮ x j − x i ⋮ ) = x i ( x i − x j ) + x j ( x j − x i ) = ( x i − x j ) 2 \vec{x}^T G_{(i,j)}\vec{x}=\vec{x}^{T}{\left(\begin{matrix}\vdots\\x_i-x_j\\\vdots\\x_j-x_i\\\vdots\end{matrix}\right)}=x_i(x_i-x_j)+x_j(x_j-x_i)=(x_i-x_j)^2 xTG(i,j)x=xT⎝⎜⎜⎜⎜⎜⎜⎜⎛⋮xi−xj⋮xj−xi⋮⎠⎟⎟⎟⎟⎟⎟⎟⎞=xi(xi−xj)+xj(xj−xi)=(xi−xj)2
则 L L L的二次型(即分子): x ⃗ T L x ⃗ = x ⃗ T ( ∑ G ( i , j ) ) x ⃗ = ∑ ( i , j ) ∈ E ( x i − x j ) 2 ≥ 0 \vec{x}^{T}L\vec{x}=\vec{x}^{T}(\sum G_{(i,j)})\vec{x}=\sum_{(i,j)\in E}{(x_i-x_j)^2}\geq0 xTLx=xT(∑G(i,j))x=∑(i,j)∈E(xi−xj)2≥0
对于 L s y m L_{sym} Lsym :
分母同上
分子:
x ⃗ T L s y m x ⃗ = ( x ⃗ T D − 1 2 ) L ( D − 1 2 x ⃗ ) = ∑ ( x i d i − x j d j ) 2 ≥ 0 \vec{x}^{T}L_{sym}\vec{x}=(\vec{x}^{T}D^{-\frac{1}{2}})L(D^{-\frac{1}{2}}\vec{x})=\sum(\frac{x_i}{\sqrt{d_i}}-\frac{x_j}{\sqrt{d_j}})^2\geq 0 xTLsymx=(xTD−21)L(D−21x)=∑(dixi−djxj)2≥0
L s y m L_{sym} Lsym 的特征值大于等于0并且小于等于2
证明如下:
辅助矩阵G: G ( i , j ) p o s = ( ⋱ 1 1 ⋱ 1 1 ⋱ ) G_{(i,j)}^{pos}=\left(\begin{matrix}\ddots\\&1&&1\\&&\ddots&\\&1&&1&\\&&&&\ddots\end{matrix}\right) G(i,j)pos=⎝⎜⎜⎜⎜⎛⋱11⋱11⋱⎠⎟⎟⎟⎟⎞
G p o s G^{pos} Gpos的二次型: x ⃗ T G ( i , j ) p o s x ⃗ = x ⃗ T ( ⋮ x i + x j ⋮ x j + x i ⋮ ) = x i ( x i + x j ) + x j ( x j + x i ) = ( x i + x j ) 2 \vec{x}^T G_{(i,j)}^{pos}\vec{x}=\vec{x}^{T}{\left(\begin{matrix}\vdots\\x_i+x_j\\\vdots\\x_j+x_i\\\vdots\end{matrix}\right)}=x_i(x_i+x_j)+x_j(x_j+x_i)=(x_i+x_j)^2 xTG(i,j)posx=xT⎝⎜⎜⎜⎜⎜⎜⎜⎛⋮xi+xj⋮xj+xi⋮⎠⎟⎟⎟⎟⎟⎟⎟⎞=xi(xi+xj)+xj(xj+xi)=(xi+xj)2
定义 L p o s = D + A = ∑ ( i , j ) ∈ E G ( i , j ) p o s L^{pos}=D+A=\sum_{(i,j)\in E} G_{(i,j)}^{pos} Lpos=D+A=∑(i,j)∈EG(i,j)pos
则 L p o s L^{pos} Lpos的二次型:
x ⃗ T L x ⃗ = x ⃗ T ( ∑ G ( i , j ) ) x ⃗ = ∑ ( i , j ) ∈ E ( x i + x j ) 2 ≥ 0 \vec{x}^{T}L\vec{x}=\vec{x}^{T}(\sum G_{(i,j)})\vec{x}=\sum_{(i,j)\in E}{(x_i+x_j)^2}\geq0 xTLx=xT(∑G(i,j))x=∑(i,j)∈E(xi+xj)2≥0
同理 L s y m p o s = D − 1 2 L p o s D − 1 2 L^{pos}_{sym}=D^{-\frac{1}{2}}L^{pos}D^{-\frac{1}{2}} Lsympos=D−21LposD−21的二次型:
x ⃗ T L s y m x ⃗ = ∑ ( x i d i + x j d j ) 2 ≥ 0 \vec{x}^{T}L_{sym}\vec{x}=\sum(\frac{x_i}{\sqrt{d_i}}+\frac{x_j}{\sqrt{d_j}})^2\geq 0 xTLsymx=∑(dixi+djxj)2≥0
然后对 L s y m p o s L^{pos}_{sym} Lsympos展开:
L s y m p o s = D − 1 2 L p o s D − 1 2 = I + D − 1 2 A D − 1 2 L^{pos}_{sym}=D^{-\frac{1}{2}}L^{pos}D^{-\frac{1}{2}}=I+D^{-\frac{1}{2}}AD^{-\frac{1}{2}} Lsympos=D−21LposD−21=I+D−21AD−21
代入到 x ⃗ T L s y m x ⃗ \vec{x}^{T}L_{sym}\vec{x} xTLsymx中:
x ⃗ T L s y m x ⃗ ≥ 0 ⇒ x ⃗ T ( I + D − 1 2 A D − 1 2 ) x ⃗ ≥ 0 ⇒ x ⃗ T x ⃗ + x ⃗ T D − 1 2 A D − 1 2 x ⃗ ≥ 0 ⇒ x ⃗ T x ⃗ ≥ − x ⃗ T D − 1 2 A D − 1 2 x ⃗ ⇒ 2 x ⃗ T x ⃗ ≥ x ⃗ T x ⃗ − x ⃗ T D − 1 2 A D − 1 2 x ⃗ ⇒ 2 x ⃗ T x ⃗ ≥ x ⃗ T ( I − D − 1 2 A D − 1 2 ) x ⃗ ⇒ 2 x ⃗ T x ⃗ ≥ x ⃗ T D − 1 2 ( D − A ) D − 1 2 x ⃗ ⇒ 2 x ⃗ T x ⃗ ≥ x ⃗ T L s y m x ⃗ ⇒ 2 ≥ x ⃗ T L s y m x ⃗ x ⃗ T x ⃗ \vec{x}^{T}L_{sym}\vec{x}\geq0 \Rightarrow \\ \vec{x}^{T}(I+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})\vec{x}\geq0 \Rightarrow \\ \vec{x}^{T}\vec{x}+\vec{x}^{T}D^{-\frac{1}{2}}AD^{-\frac{1}{2}}\vec{x}\geq0 \Rightarrow \\ \vec{x}^{T}\vec{x}\geq -\vec{x}^{T}D^{-\frac{1}{2}}AD^{-\frac{1}{2}}\vec{x} \Rightarrow \\ 2\vec{x}^{T}\vec{x}\geq \vec{x}^{T}\vec{x}-\vec{x}^{T}D^{-\frac{1}{2}}AD^{-\frac{1}{2}}\vec{x} \Rightarrow \\ 2\vec{x}^{T}\vec{x}\geq \vec{x}^{T}(I-D^{-\frac{1}{2}}AD^{-\frac{1}{2}})\vec{x} \Rightarrow \\ 2\vec{x}^{T}\vec{x}\geq \vec{x}^{T}D^{-\frac{1}{2}}(D-A)D^{-\frac{1}{2}}\vec{x} \Rightarrow \\ 2\vec{x}^{T}\vec{x}\geq \vec{x}^{T}L_{sym}\vec{x} \Rightarrow \\ 2\geq \frac{\vec{x}^{T}L_{sym}\vec{x}}{\vec{x}^{T}\vec{x}} xTLsymx≥0⇒xT(I+D−21AD−21)x≥0⇒xTx+xTD−21AD−21x≥0⇒xTx≥−xTD−21AD−21x⇒2xTx≥xTx−xTD−21AD−21x⇒2xTx≥xT(I−D−21AD−21)x⇒2xTx≥xTD−21(D−A)D−21x⇒2xTx≥xTLsymx⇒2≥xTxxTLsymx
傅里叶变换:研究同一个事物在不同的域不同的视角是怎么样的,以及在不同的域之间进行变换
由傅里叶变换可以知道,任何周期函数,都可以看作是不同振幅,不同相位正弦波的叠加。
由傅里叶变换,可以将函数从时域转换为频域;同时由傅里叶逆变换可以将频域再转换为时域。转换是无损的。
为什么进行傅里叶变换?
注:傅里叶变换是一种思想,基底不一定必须是正弦波函数,也可以是其他函数。
例如:FFT算法
已知 f ( x ) = a 0 + a 1 x + . . . + a n x n , g ( x ) = b 0 + b 1 x + . . . + b n x n f(x)=a_0+a_1x+...+a_nx^n, \\ g(x)=b_0+b_1x+...+b_nx^n f(x)=a0+a1x+...+anxn,g(x)=b0+b1x+...+bnxn 求解: f ( x ) g ( x ) f(x)g(x) f(x)g(x)
即确定 f ( x ) g ( x ) = c 0 + c 1 x + . . . c 2 n x 2 n f(x)g(x)=c_0+c_1x+...c_{2n}x^{2n} f(x)g(x)=c0+c1x+...c2nx2n中 c 0 , c 1 , . . . c 2 n c_0,c_1,...c_{2n} c0,c1,...c2n的值。
采用傅里叶变换思想:(转换为点域)
n次多项式,可以由n+1个不同的点唯一的确定
由傅里叶快速变换通过复杂度O(nlogn)可确定:
f ( x ) ⇔ ( x 1 , f ( x 1 ) ) , ( x 2 , f ( x 2 ) ) , . . . ( x n + 1 , f ( x n + 1 ) ) g ( x ) ⇔ ( x 1 , g ( x 1 ) ) , ( x 2 , g ( x 2 ) ) , . . . ( x n + 1 , g ( x n + 1 ) ) f(x)\Leftrightarrow (x_1,f(x_1)), (x_2,f(x_2)),...(x_{n+1},f(x_{n+1}))\\g(x)\Leftrightarrow (x_1,g(x_1)), (x_2,g(x_2)),...(x_{n+1},g(x_{n+1})) f(x)⇔(x1,f(x1)),(x2,f(x2)),...(xn+1,f(xn+1))g(x)⇔(x1,g(x1)),(x2,g(x2)),...(xn+1,g(xn+1))
由复杂度O(n)可确定:
f ( x ) g ( x ) ⇔ ( x 1 , f ( x 1 ) g ( x 1 ) ) , ( x 2 , f ( x 2 ) g ( x 2 ) ) , . . . ( x n + 1 , f ( x n + 1 ) g ( x n + 1 ) ) f(x)g(x)\Leftrightarrow (x_1,f(x_1)g(x_1)), (x_2,f(x_2)g(x_2)),...(x_{n+1},f(x_{n+1})g(x_{n+1})) f(x)g(x)⇔(x1,f(x1)g(x1)),(x2,f(x2)g(x2)),...(xn+1,f(xn+1)g(xn+1))
图像Image具有比较规则的拓扑结构,所以可以给定确定的kernel进行卷积。而图Graph的拓扑结构比较复杂,没办法给定确定的kernel进行卷积。
L x ⃗ L\vec x Lx
L L L:拉普拉斯矩阵
x ⃗ \vec x x:某个点的feature向量
L x ⃗ = ( ∑ ( 1 , j ) ∈ E ( x 1 − x j ) ∑ ( 2 , j ) ∈ E ( x 2 − x j ) ⋮ ∑ ( n , j ) ∈ E ( x n − x j ) ) L\vec x=\left(\begin{matrix}\sum_{(1,j)\in E}(x_1-x_j)\\\sum_{(2,j)\in E}(x_2-x_j)\\\vdots\\\sum_{(n,j)\in E}(x_n-x_j)\end{matrix}\right) Lx=⎝⎜⎜⎜⎛∑(1,j)∈E(x1−xj)∑(2,j)∈E(x2−xj)⋮∑(n,j)∈E(xn−xj)⎠⎟⎟⎟⎞
L x ⃗ L\vec x Lx相当于对该点与其附近的点做了类似卷积的操作
对于Graph的拉普拉斯矩阵 L L L进行特征分解的复杂度过高 O ( n 2 ) O(n^2) O(n2),所以GCN对图Graph进行限制,不需要再进行求解特征矩阵来实现图卷积,以此减少复杂度
假设已经有函数 F ( A ) → L F(A)\rightarrow L F(A)→L或者 F ( A ) → L s y m F(A)\rightarrow L_{sym} F(A)→Lsym或者 F ( A ) → 实 对 称 矩 阵 F(A)\rightarrow 实对称矩阵 F(A)→实对称矩阵
那么 F ( A ) = U Λ U T F(A)=U\Lambda U^T F(A)=UΛUT
则图上的卷积操作可以定义为 g θ ⋆ x ⃗ = θ L x ⃗ = θ U Λ U T x ⃗ = U g θ ( Λ ) U T x ⃗ g_{\theta}\star\vec{x}=\theta L\vec x=\theta U\Lambda U^T \vec x=Ug_{\theta}(\Lambda)U^T \vec x gθ⋆x=θLx=θUΛUTx=Ugθ(Λ)UTx
即对于 x ⃗ \vec x x先乘以 U T U^T UT转换为频域上操作,再进行不同维度的缩放(缩放函数 g θ ( Λ ) g_{\theta}(\Lambda) gθ(Λ)即为训练的目标函数),最后再乘以 U U U转换回原来的域,即完成了对周围点的卷积。
为了不再求特征分解,我们对 g θ ( Λ ) g_{\theta}(\Lambda) gθ(Λ)进行限制:
限制 g θ ( Λ ) g_{\theta}(\Lambda) gθ(Λ)可以用多项式进行表示,即:
g θ ( Λ ) = θ 0 Λ 0 + θ 1 Λ 1 + . . . + θ n Λ n + . . . g_{\theta}(\Lambda)=\theta_0\Lambda^0+\theta_1\Lambda^1+...+\theta_n\Lambda^n+... gθ(Λ)=θ0Λ0+θ1Λ1+...+θnΛn+...
那么 U g θ ( Λ ) U T = g θ ( U Λ U T ) = g θ ( F ( A ) ) Ug_{\theta}(\Lambda)U^T=g_{\theta}(U\Lambda U^T)=g_{\theta}(F(A)) Ugθ(Λ)UT=gθ(UΛUT)=gθ(F(A))
等式成立原因: ( U Λ U T ) k = U Λ U T U Λ U T . . . U Λ U T = U Λ k U T (U\Lambda U^T)^k=U\Lambda U^TU\Lambda U^T...U\Lambda U^T=U\Lambda ^k U^T (UΛUT)k=UΛUTUΛUT...UΛUT=UΛkUT
实际操作时,并不会采用线性函数来拟合 g θ ( Λ ) = θ 0 Λ 0 + θ 1 Λ 1 + . . . + θ n Λ n + . . . g_{\theta}(\Lambda)=\theta_0\Lambda^0+\theta_1\Lambda^1+...+\theta_n\Lambda^n+... gθ(Λ)=θ0Λ0+θ1Λ1+...+θnΛn+...,因为可能会产生梯度消失或梯度爆炸的情况,所以往往采用切比雪夫多项式
T n ( x ) = 2 x T n − 1 − T n − 2 ( x ) T 0 ( x ) = 1 , T 1 ( x ) = x T_n(x)=2xT_{n-1}-T_{n-2}(x)\\T_0(x)=1,T_1(x)=x Tn(x)=2xTn−1−Tn−2(x)T0(x)=1,T1(x)=x
切比雪夫多项式不会发生梯度消失或梯度爆炸的情况,因为它满足性质:
T n ( cos θ ) = cos n θ T_n(\cos \theta)=\cos n\theta Tn(cosθ)=cosnθ
即自变量取值[-1,1]时,无论n多大,函数都有一个规律的波动。
所以我们只需要保证输入的x的取值在[-1,1]之间即可,前文已经证明过 L s y m L_{sym} Lsym的特征值的取值范围为[0,2],所以只要将其转换到[-1,1]之间即可。
F ( A ) = L s y m − I F(A)=L_{sym}-I F(A)=Lsym−I
则图上的卷积操作可以定义为
g θ ⋆ x ⃗ = U g θ ( Λ ) U T x ⃗ = U ( ∑ k = 0 k θ k T k ( Λ ) ) U T x ⃗ = ∑ k = 0 k θ k T k ( U Λ U T ) x ⃗ = ∑ k = 0 k θ k T k ( L s y m − I ) x ⃗ g_{\theta}\star \vec{x}=Ug_{\theta}(\Lambda)U^T \vec x=U(\sum_{k=0}^{k}\theta_kT_k(\Lambda))U^T\vec{x}\\=\sum_{k=0}^{k}\theta_kT_k(U\Lambda U^T)\vec x=\sum_{k=0}^{k}\theta_kT_k(L_{sym}-I)\vec x gθ⋆x=Ugθ(Λ)UTx=U(k=0∑kθkTk(Λ))UTx=k=0∑kθkTk(UΛUT)x=k=0∑kθkTk(Lsym−I)x
g θ ⋆ x ⃗ = ∑ k = 0 k θ k T k ( L s y m − I ) x ⃗ ≈ ( θ 0 T 0 ( L s y m − I ) + θ 1 T 1 ( L s y m − I ) ) x ⃗ = θ 0 x ⃗ + θ 1 ( L s y m − I ) x ⃗ g_{\theta}\star\vec{x}=\sum_{k=0}^{k}\theta_kT_k(L_{sym}-I)\vec x\approx(\theta_0T_0(L_{sym}-I)+\theta_1T_1(L_{sym}-I))\vec{x}\\=\theta_0\vec x+\theta_1(L_{sym}-I)\vec x gθ⋆x=k=0∑kθkTk(Lsym−I)x≈(θ0T0(Lsym−I)+θ1T1(Lsym−I))x=θ0x+θ1(Lsym−I)x
又由:
L s y m = D − 1 2 L D − 1 2 = D − 1 2 ( D − A ) D − 1 2 = I − D − 1 2 A D − 1 2 L_{sym}=D^{-\frac{1}{2}}LD^{-\frac{1}{2}}=D^{-\frac{1}{2}}(D-A)D^{-\frac{1}{2}}=I-D^{-\frac{1}{2}}AD^{-\frac{1}{2}} Lsym=D−21LD−21=D−21(D−A)D−21=I−D−21AD−21
所以:
g θ ⋆ x ⃗ = θ 0 x ⃗ − θ 1 D − 1 2 A D − 1 2 x ⃗ g_{\theta}\star\vec{x}=\theta_0\vec x-\theta_1D^{-\frac{1}{2}}AD^{-\frac{1}{2}}\vec x gθ⋆x=θ0x−θ1D−21AD−21x
然后GCN在推导过程中使用了一些正则化和trick:
g θ ⋆ x ⃗ = θ ( I + D − 1 2 A D − 1 2 ) x ⃗ g_{\theta}\star\vec{x}=\theta(I+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})\vec x gθ⋆x=θ(I+D−21AD−21)x
过程中使用了一些正则化和trick:
g θ ⋆ x ⃗ = θ ( I + D − 1 2 A D − 1 2 ) x ⃗ g_{\theta}\star\vec{x}=\theta(I+D^{-\frac{1}{2}}AD^{-\frac{1}{2}})\vec x gθ⋆x=θ(I+D−21AD−21)x