预备知识:
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)e−2πix⋅vdxF−1(f)(x)=∫Rf(v)e2πiv⋅xdv
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(z−x)dx
step1:
推导
f
∗
g
=
F
−
1
(
F
(
f
)
⋅
F
(
g
)
)
f* g=F^{-1}(F(f)\cdot F(g))
f∗g=F−1(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(f∗g)(v)=F(h)(v)=∫Rh(z)e2πiz⋅vdz=∫R∫Rf(x)g(z−x)dx⋅e−2πiz⋅vdz=∫R∫Rf(x)g(y)dx⋅e−2πi(x+y)⋅vdy=∫Rf(x)e−2πix⋅vdx⋅∫Rf(y)e−2πiy⋅vdy=F(f)(v)⋅F(g)(v)两边同时傅里叶逆变换就得到我们要证明的式子:
f
∗
g
=
F
−
1
(
F
(
f
)
⋅
F
(
g
)
)
f* g=F^{-1}(F(f)\cdot F(g))
f∗g=F−1(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)={10xi∼xjotherwise
拉普拉斯矩阵
L
=
D
−
A
L=D-A
L=D−A, 标准化之后是
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=D−21(I−D−21AD−21)D21
将
I
−
D
−
1
2
A
D
−
1
2
I-D^{-\frac{1}{2}}AD^{-\frac{1}{2}}
I−D−21AD−21特征值分解为
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)=h→0limhf(x+h)−f(x) | f ∗ g ′ ( x ) = f ( x ) − f ( y ) f'_{*g}(x)=f(x)-f(y) f∗g′(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)=h→0limh2f(x+h)−2f(x)+f(x−h) | Δ ∗ g f ( x ) = ∑ y ∼ x f ( x ) − f ( y ) \Delta_{*g} f(x)=\sum_{y\sim x}f(x)-f(y) Δ∗gf(x)=y∼x∑f(x)−f(y) |
傅里叶变化的基 | e 2 π i x ⋅ v e^{2\pi ix\cdot v} e2πix⋅v | U T U^T UT |
傅里叶逆变化的基 | e − 2 π i x ⋅ v e^{-2\pi ix\cdot v} e−2πix⋅v | 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=0∑n−1f(i)ul∗(i)
其中
u
l
∗
u_l^*
ul∗是
U
T
第
l
行
U^T第l行
UT第l行,令
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
GF(x)=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=0∑n−1f^(λ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))
f∗g=F−1(F(f)⋅F(g))我们可以写出图卷积里的公式:
g
∗
x
=
U
(
U
T
g
⋅
U
T
x
)
g*x=U(U^Tg\cdot U^Tx)
g∗x=U(UTg⋅UTx)—(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=0∑Kθk′Tk(Λ−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=0∑Kθk′Tk(L−IN)
令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′)(L−IN)x=θ0′x−θ1′(D−21AD−21)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′=θ1′A^=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