GCN:从卷积理论到拉普拉斯矩阵

4 篇文章 0 订阅
0 篇文章 0 订阅

卷积理论 > 傅里叶变换 > 拉普拉斯矩阵 > 逆傅里叶变换

我总是从半截开始讲,有老师提出过我这个问题。我是理解cnn(卷积神经网络)的如果你不懂可以[百度一下][1],cnn、gcn都是在做卷积所以理解gcn的时候就想着往cnn的操作去靠。这样的想法是在看了[gcn][2]多变后,有点乱所以这样来撸一下。

卷积理论

卷积定理:函数卷积的傅里叶变换是函数傅立叶变换的乘积,即对于函数 f(t) 与 h(t)两者的卷积是其函数傅立叶变换乘积的逆变换:
在这里插入图片描述

当看到这个卷积定理和其对应的公式时,我们会有很多不懂的东西,所以我的习惯是带着问题去理解(自顶向下)
问题:
1.傅里叶变换;
2.拉普拉斯变换,傅里叶变换用到了它 ;
3.傅里叶逆变换。

傅里叶变换

传统傅里叶变换定义:
在这里插入图片描述
定义符号注释:信号 f(t) 与基函exp(-iwt) 的积分,那么为什么要找exp(-iwt) 作为基函数呢?从数学上看,exp(-wit)是拉普拉斯算子的特征函数(满足特征方程),w就和特征值有关()
有解释说:
1拉普拉斯矩阵L=离散拉普拉斯算子
2拉普拉斯矩阵的特征向量u=拉普拉斯算子的特征函数exp(-iwt)
对比到Graph上的傅里叶变换公式为:
在这里插入图片描述
f是Graph上的 N 维向量, f(i) 与Graph的顶点一一对应, u_l(i)表示第 l 个特征向量的第 i 个分量。那么特征值(频率)λ_l 下的, f 的Graph 傅里叶变换就是与λ _l 对应的特征向量 u_l 进行内积运算。
傅里叶变换中提到了拉普拉斯矩阵,下面说一下拉普拉斯矩阵及其普分解,矩阵的普分解就是特征分解。

拉普拉斯矩阵

在Graph中 拉普拉斯矩阵是怎样得到的呢?
公式:L=D-A,其中L为拉普拉斯矩阵,D为Graph中节点的度,A为图的邻接矩阵。
在这里插入图片描述
拉普拉斯矩阵的特征分解
在这里插入图片描述
其中 U=(u1,u2,u3…un) ,是列向量为单位特征向量的矩阵,也就说 ui 是列向量。

\left(\begin{matrix}\lambda_1 & \&\ddots \ &&\lambda_n \end{matrix}\right) 是n个特征值构成的对角阵
大家都知道广义的特征方程:AⅤ=λⅤ,A是一种变换,Ⅴ是特征向量或特征函数,λ是特征值。拉普拉斯矩阵L的特性是满足特征方程中的A,同样有:LⅤ=λⅤ.
这里的特征值和特征向量正好对应到Graph的傅里叶变换中的与特征值λ相关的w,Ⅴ对应到其中的u.

傅里叶逆变换

卷积定理中提到卷积操作是函数傅里叶变换积的逆变换,
简化的傅里叶变换为: f ^ = U T f \hat{f}=U^Tf f^=UTf
傅里叶逆变换: f = U f ^ f=U\hat{f} f=Uf^
将卷积定理推广到Graph上来为:函数卷积的傅里叶变换是函数傅立叶变换的乘积,即对于函数 f(t) 与 h(t)两者的卷积是其函数傅立叶变换乘积的逆变换

f ∗ h = F − 1 [ f ^ ( ω ) h ^ ( ω ) ] = 1 2 Π ∫ f ^ ( ω ) h ^ ( ω ) e i ω t d ω f*h=\mathcal{F}^{-1}\left[ \hat{f}(\omega)\hat{h}(\omega) \right]=\frac{1}{2\Pi}\int_{}^{} \hat{f}(\omega)\hat{h}(\omega)e^{i\omega t} d\omega fh=F1[f^(ω)h^(ω)]=2Π1f^(ω)h^(ω)eiωtdω
卷积核 h 的傅里叶变换写成对角矩阵的形式即为: ( h ^ ( λ 1 ) ⋱ h ^ ( λ n ) ) \left(\begin{matrix}\hat h(\lambda_1) & \\&\ddots \\ &&\hat h(\lambda_n) \end{matrix}\right) h^(λ1)h^(λn)

两者的傅立叶变换乘积即为: ( h ^ ( λ 1 ) ⋱ h ^ ( λ n ) ) U T f \left(\begin{matrix}\hat h(\lambda_1) & \\&\ddots \\ &&\hat h(\lambda_n) \end{matrix}\right)U^Tf h^(λ1)h^(λn)UTf
再乘以 U 求两者傅立叶变换乘积的逆变换,则求出卷积: ( f ∗ h ) G = U ( h ^ ( λ 1 ) ⋱ h ^ ( λ n ) ) U T f ( 1 ) (f*h)_G= U\left(\begin{matrix}\hat h(\lambda_1) & \\&\ddots \\ &&\hat h(\lambda_n) \end{matrix}\right) U^Tf \qquad(1) (fh)G=Uh^(λ1)h^(λn)UTf(1)

ps:试着去写吧
[1]: https://blog.csdn.net/v_JULY_v/article/details/51812459
[2]: https://blog.csdn.net/weixin_40013463/article/details/81089223

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值