图卷积GCN推导

预备知识:

a. 傅里叶变换
F ( f ) ( v ) = ∫ R f ( x ) e − 2 π i x ⋅ v d x F − 1 ( f ) ( x ) = ∫ R f ( v ) e 2 π i v ⋅ x d v F(f)(v)=\int _{R}f(x)e^{-2\pi ix\cdot v}dx \qquad F^{-1}(f)(x)=\int _{R}f(v)e^{2\pi iv\cdot x}dv F(f)(v)=Rf(x)e2πixvdxF1(f)(x)=Rf(v)e2πivxdv
b. 卷积
h ( z ) = ∫ R f ( x ) g ( z − x ) d x h(z)=\int_{R}f(x)g(z-x)dx h(z)=Rf(x)g(zx)dx
step1:
推导
f ∗ g = F − 1 ( F ( f ) ⋅ F ( g ) ) f* g=F^{-1}(F(f)\cdot F(g)) fg=F1(F(f)F(g))
F ( f ∗ g ) ( v ) = F ( h ) ( v ) = ∫ R h ( z ) e 2 π i z ⋅ v d z = ∫ R ∫ R f ( x ) g ( z − x ) d x ⋅ e − 2 π i z ⋅ v d z = ∫ R ∫ R f ( x ) g ( y ) d x ⋅ e − 2 π i ( x + y ) ⋅ v d y = ∫ R f ( x ) e − 2 π i x ⋅ v d x ⋅ ∫ R f ( y ) e − 2 π i y ⋅ v d y = F ( f ) ( v ) ⋅ F ( g ) ( v ) F(f*g)(v)=F(h)(v)=\int _{R} h(z)e^{2\pi iz\cdot v}dz\\ =\int_{R}\int_{R}f(x)g(z-x)dx\cdot e^{-2\pi iz\cdot v}dz\\ =\int_{R}\int_{R}f(x)g(y)dx\cdot e^{-2\pi i(x+y)\cdot v}dy\\ =\int_{R}f(x)e^{-2\pi ix\cdot v}dx\cdot \int_{R}f(y)e^{-2\pi iy\cdot v}dy\\ =F(f)(v)\cdot F(g)(v) F(fg)(v)=F(h)(v)=Rh(z)e2πizvdz=RRf(x)g(zx)dxe2πizvdz=RRf(x)g(y)dxe2πi(x+y)vdy=Rf(x)e2πixvdxRf(y)e2πiyvdy=F(f)(v)F(g)(v)两边同时傅里叶逆变换就得到我们要证明的式子:
f ∗ g = F − 1 ( F ( f ) ⋅ F ( g ) ) f* g=F^{-1}(F(f)\cdot F(g)) fg=F1(F(f)F(g))
step2了解两个定义:
Def1 Degree matrix
D ( i , j ) = { d j i = j 0 o t h e r w i s e D(i,j)=\left\{ \begin{aligned} d_j \quad& i=j\\ 0 \quad&otherwise \end{aligned} \right. D(i,j)={dj0i=jotherwise
Def2 Adjacency matrix
A ( i , j ) = { 1 x i ∼ x j 0 o t h e r w i s e A(i,j)=\left\{ \begin{aligned} 1 \quad& x_i\sim x_j\\ 0 \quad&otherwise \end{aligned} \right. A(i,j)={10xixjotherwise
拉普拉斯矩阵 L = D − A L=D-A L=DA, 标准化之后是 L = D − 1 2 ( I − D − 1 2 A D − 1 2 ) D 1 2 L=D^{-\frac{1}{2}}(I-D^{-\frac{1}{2}}AD^{-\frac{1}{2}})D^{\frac{1}{2}} L=D21(ID21AD21)D21
I − D − 1 2 A D − 1 2 I-D^{-\frac{1}{2}}AD^{-\frac{1}{2}} ID21AD21特征值分解为 U A U T UAU^T UAUT,即 U T U^T UT是拉普拉斯矩阵L的特征向量张成的,也就是图傅里叶变换的基,也就是有下面的对照表:

导数 f ′ ( x ) = lim ⁡ h → 0 f ( x + h ) − f ( x ) h f'(x)=\lim_{h\to0}\frac{f(x+h)-f(x)}{h} f(x)=h0limhf(x+h)f(x) f ∗ g ′ ( x ) = f ( x ) − f ( y ) f'_{*g}(x)=f(x)-f(y) fg(x)=f(x)f(y)
二阶导数 Δ f ( x ) = lim ⁡ h → 0 f ( x + h ) − 2 f ( x ) + f ( x − h ) h 2 \Delta f(x)=\lim_{h\to0}\frac{f(x+h)-2f(x)+f(x-h)}{h^2} Δf(x)=h0limh2f(x+h)2f(x)+f(xh) Δ ∗ g f ( x ) = ∑ y ∼ x f ( x ) − f ( y ) \Delta_{*g} f(x)=\sum_{y\sim x}f(x)-f(y) Δgf(x)=yxf(x)f(y)
傅里叶变化的基 e 2 π i x ⋅ v e^{2\pi ix\cdot v} e2πixv U T U^T UT
傅里叶逆变化的基 e − 2 π i x ⋅ v e^{-2\pi ix\cdot v} e2πixv U U U
维度 ∞ \infty 点的个数

step3

知道了图傅里叶变换的基就可以定义图傅里叶变换
G F ( f ) ( λ l ) = ∑ l = 0 n − 1 f ( i ) u l ∗ ( i ) GF(f)(\lambda_l)=\sum_{l=0}^{n-1}f(i)u^*_l(i) GF(f)(λl)=l=0n1f(i)ul(i)
其中 u l ∗ u_l^* ul U T 第 l 行 U^T第l行 UTl,令 x = ( f ( 1 ) , . . . , f ( x ) ) ∈ R n x=(f(1),...,f(x))\in R^n x=(f(1),...,f(x))Rn
G F ( x ) = U T x GF(x)=U^Tx GFx=UTx
类似的定义傅里叶逆变换 I G F ( f ^ ) ( i ) = ∑ l = 0 n − 1 f ^ ( λ i ) u l ( i ) IGF(\hat f)(i)=\sum_{l=0}^{n-1} \hat f(\lambda_i)u_l(i) IGF(f^)(i)=l=0n1f^(λi)ul(i)可以写成 I G F ( x ) = U x IGF(x)=Ux IGF(x)=Ux
由第一步我们得到的卷积定理: f ∗ g = F − 1 ( F ( f ) ⋅ F ( g ) ) f* g=F^{-1}(F(f)\cdot F(g)) fg=F1(F(f)F(g))我们可以写出图卷积里的公式: g ∗ x = U ( U T g ⋅ U T x ) g*x=U(U^Tg\cdot U^Tx) gx=U(UTgUTx)—(1)
U T g U^Tg UTg看做是 L 一个特征值的函数 g θ ( Λ ) g_{\theta} (\Lambda) gθ(Λ),参数为 θ \theta θ
则(1)式可以改成 g θ ∗ x = U g θ ( Λ ) U T x g_\theta*x=Ug_\theta(\Lambda)U^Tx gθx=Ugθ(Λ)UTx

用Chebyshev多项式 T k T_k Tk区逼近 g θ ( Λ ) g_\theta(\Lambda) gθ(Λ)得到
g θ ′ ( Λ ) ≈ ∑ k = 0 K θ k ′ T k ( Λ − I N ) g_{\theta^{'}}(\Lambda)\approx \sum^K_{k=0} \theta'_kT_k(\Lambda-I_N) gθ(Λ)k=0KθkTk(ΛIN)
又因为 ( U Λ U T ) k = U Λ k U T (U\Lambda U^T)^k=U\Lambda^k U^T (UΛUT)k=UΛkUT

g θ ′ ( Λ ) ≈ ∑ k = 0 K θ k ′ T k ( L − I N ) g_{\theta^{'}}(\Lambda)\approx \sum_{k=0}^K \theta'_kT_k(L-I_N) gθ(Λ)k=0KθkTk(LIN)
令K=1,则 g θ ′ ∗ x ≈ ( θ 0 ′ + θ 1 ′ ) ( L − I N ) x = θ 0 ′ x − θ 1 ′ ( D − 1 2 A D − 1 2 ) x g_{\theta^{'}}*x\approx(\theta'_0+\theta'_1 )(L-I_N)x\\ =\theta'_0x-\theta'_1 (D^{-\frac{1}{2}}AD^{-\frac{1}{2}})x gθx(θ0+θ1)(LIN)x=θ0xθ1(D21AD21)x
θ = θ 0 ′ = θ 1 ′ A ^ = A + I N D ^ i i = ∑ j A ^ i j \theta=\theta'_0=\theta'_1\quad \hat A=A+I_N\quad \hat D_{ii}=\sum_j\hat A_{ij} θ=θ0=θ1A^=A+IND^ii=jA^ij
g θ ′ ∗ x = θ ( D ^ − 1 2 A D ^ − 1 2 ) x g_{\theta^{'}}*x=\theta(\hat D^{-\frac{1}{2}}A\hat D^{-\frac{1}{2}})x gθx=θ(D^21AD^21)x
最终套上一个激活函数就可以得到我们的GCN公式:图片来自论文在这里插入图片描述
上图截取自论文 SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS https://arxiv.org/pdf/1609.02907.pdf

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值