图卷积神经网络GCN中的关键公式推导---干货

GCN推导(比较关键的部分)

GCN公式推导的时候,需要用到线性代数和傅里叶变换的一些定理,

比如拉普拉斯矩阵是实对称矩阵,其标准化都的数值分布在[0,2]之间

比如傅里叶变换的原理就是多个正弦余弦函数的集合。

图卷积神经网络GCN中的关键公式推导---干货_第1张图片

 安利一个傅里叶变换比较全的讲解,很多大佬都对它加以赞赏。

傅里叶分析之掐死教程(完整版)更新于2014.06.06 - 知乎作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。 转载的同学请保留上面这句话,谢谢。如果还能保留文…https://zhuanlan.zhihu.com/p/19763358

下面开始正文⭐⭐⭐⭐

1.    首先,定义图拉普拉斯矩阵 L = U\Lambda U^{T},  这里L可以换成任何其他形式,比如被正则化的拉普拉斯矩阵。

2.   然后,对图进行卷积操作:

  • g_{\theta }*x表示对特征向量x进行图卷积的操作。
  • 首先,对输入特征 x 进行傅里叶变换,即 U^{T}x
  • 然后,将傅里叶变换结果进行放缩,即g_{\theta } (\Lambda) U^{T}x
  • 最后,对放缩后的傅里叶变换结果进行逆变换,即Ug_{\theta } (\Lambda) U^{T}x

 经过上述操作,可获得图上的卷积操作  g_{\theta }*x = Ug_{\theta } (\Lambda) U^{T}x

 

3. 对图卷积公式进行简化求解,即求解g_{\theta } (\Lambda)。 

  • 首先,定义多项式分布无序列表g_{\theta}(\Lambda ) = \theta _{0}\Lambda_{0}+\theta _{1}\Lambda_{1}+...+\theta _{n}\Lambda_{n},这种多项式定义的好处就是可以将上述公式定义为这种形式Ug_{\theta } (\Lambda) U^{T}x = g_{\theta }(U\Lambda U^{T})x
  • 然后,引入切比雪夫公式以减少计算复杂度。切比雪夫公式定义如下:
  •                     T_{n}(x) = 2xT_{n-1}(x)-T_{n-2}(x), T_{0}(x) = 1,T_{1}(x) = x,要求特征值属于[-1,1]
  • 由于L的特征值在[0,2]之间,因此可以定义L = L - I,使其特征值映射到[-1,1]
  • 最后,重写图卷积公式:  g_{\theta }*x = Ug_{\theta } (\Lambda) U^{T}x=U(\sum_{k=0}^{K}T_{k}(\Lambda ))U^{T}x
  • g_{\theta }*x=U(\sum_{k=0}^{K}T_{k}(\Lambda ))U^{T}x=\sum_{k=0}^{K}T_{k}(U \Lambda U^{T})x=\sum_{k=0}^{K}T_{k}(L-I)x

  • 根据经验值,将K设置为1,即一阶近似  \approx \theta _{0}x + \theta _{1}(L-I))x

4. 共享参数,即令\theta _{0}=-\theta _{1},没啥道理,就是效果好才这样操作。最后公式可以整理为

g_{\theta }*x = \theta (I+D^{-\frac{1}{2}}AD^{-\frac{1}{2}}))x=\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}X\Theta

5. 最后,就可以训练卷积核了

H^{(l+1)}=\sigma (\tilde{D}^{-\frac{1}{2}}\tilde{A}\tilde{D}^{-\frac{1}{2}}H^{(l)}W^{(l)})

本文是整理b站一个大佬的视频笔记,从头到尾学习了一遍,感觉讲的很透彻,这里附上链接,感兴趣可以听一听:

图卷积神经网络(GCN)的数学原理详解——谱图理论和傅立叶变换初探_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1Vw411R7Fj?p=4&share_source=copy_pc

你可能感兴趣的:(单细胞分析,大数据,深度学习,卷积神经网络)