【图机器学习】图神经网络入门(一)谱图理论

目录

  • 1 前言
  • 2 定义
  • 3 从运动的角度理解特征值和特征向量
  • 4 谱图理论
    • 4.1 拉普拉斯矩阵
    • 4.2 拉普拉斯矩阵的性质
    • 4.3 谱分解
  • 5 参考文献

1 前言

  作为图神经网络的学习基础,谱图理论在图神经网络的基础学习中显得尤为重要,所以准备整理下学习路径。本节的学习基础是之前【理解矩阵系列】和【理解特征值和特征向量】文章。
  这里再谈一下为什么要学习谱图理论。尽管我们经常看到的图神经网络的表达式为 D 1 / 2 A D 1 / 2 H W D^{1/2}AD^{1/2}HW D1/2AD1/2HW,这是一种空域的形式,但是在查阅图神经网络相关资料或者阅读 K p i f Kpif Kpif图神经网络原论文的时候总是绕不开谱域图神经网络这个槛。这是因为图卷积神经网络的核心为卷积操作,而在无规则的图数据结构中,卷积核的定义是十分困难的。因此需要从频谱域(Spectral Domain)上重新定义这样的卷积操作再通过卷积定理转换回空间域上。为了在频谱域和空间域中转换,借助了傅里叶公式,并且定义了图上傅里叶变换(从空间域变换到频谱域)和图上傅里叶逆变换(从频谱域回到空间域)的变换公式。 本节所讲的内容就是图如何在频谱上表示的,即谱图理论!
  内容为自己的学习总结,其中多有借鉴他人的地方,最后一并给出链接。

2 定义

  简单来讲谱图理论研究的是邻接矩阵的性质严谨来讲谱图理论主要研究的是图的拉普拉斯(Lapalacian)矩阵的特征值和所对应的特征向量对于图拓扑性质的影响,是对图空间拓扑的数学描述。

3 从运动的角度理解特征值和特征向量

  从矩阵变换的角度看,一个向量 x x x乘以矩阵 A A A,即向量 x x x在矩阵 A A A给定的方式下进行了运动(变换)。那么这种运动的方式为,在矩阵 A A A的特征向量为基的坐标系中,按照矩阵 A A A特征值的大小进行了缩放。
  现在我们考虑一个问题,如果一个向量持续地去乘以矩阵 A A A会发生什么?我们发现,经过不断的运动变换后的向量会收敛到特征值最大的特征向量上。
【图机器学习】图神经网络入门(一)谱图理论_第1张图片
  如果不理解的话可以从计算的角度理解:假设现在有一个 n n n维向量 v = [ v 1 , v 2 , . . . . . . , v 3 ] T v=[v_1, v_2,......,v_3]^T v=[v1,v2,......,v3]T,我们不停的乘以矩阵 A A A。由于向量 v v v能够用矩阵 A A A的一组特征值 λ \lambda λ和特征向量 u u u表示(因为特征向量是相互正交的基,不理解的可以看前言中给出的阅读文章)。所以,
v = α 1 u 1 + α 2 u 2 + . . . . . . + α n u n v = \alpha_1u_1+\alpha_2u_2+......+\alpha_nu_n v=α1u1+α2u2+......+αnun
  由于特征向量的稳定性,不断的乘以矩阵 A A A之后,我们发现向量 v v v的变化是这样的:
W v = μ 1 α 1 u 1 + μ 2 α 2 u 2 + ⋯ + μ n α n u n W 2 v = μ 1 2 α 1 u 1 + μ 2 2 α 2 u 2 + ⋯ + μ n 2 α n u n W k v = μ 1 k α 1 u 1 + μ 2 k α 2 u 2 + ⋯ + μ n k α n u n \begin{aligned} W v &=\mu_{1} \alpha_{1} u_{1}+\mu_{2} \alpha_{2} u_{2}+\cdots+\mu_{n} \alpha_{n} u_{n} \\ W^{2} v &=\mu_{1}^{2} \alpha_{1} u_{1}+\mu_{2}^{2} \alpha_{2} u_{2}+\cdots+\mu_{n}^{2} \alpha_{n} u_{n} \\ W^{k} v &=\mu_{1}^{k} \alpha_{1} u_{1}+\mu_{2}^{k} \alpha_{2} u_{2}+\cdots+\mu_{n}^{k} \alpha_{n} u_{n} \end{aligned} WvW2vWkv=μ1α1u1+μ2α2u2++μnαnun=μ12α1u1+μ22α2u2++μn2αnun=μ1kα1u1+μ2kα2u2++μnkαnun
  随着 k k k趋于无穷,特征值最大的特征向量将会主宰其余的特征向量,从而 v v v与特征值最大的 u u u变成同一个方向!此外,通过这样的变换,可以观察到 v v v的运动过程其实是由各个不同大小的特征值与特征向量控制的。

4 谱图理论

  重点来了,前面讲了这么多又是特征值又是特征向量又是运动等等,这跟图卷积有什么关系?我们之前提到过谱图理论研究的是邻接矩阵,而通过前面的例子我们有点朦朦胧胧的感觉,一个向量 v v v不断的乘以一个矩阵 A A A,怎么这么像图神经网络的逐层更新公式 D 1 / 2 A D 1 / 2 H W D^{1/2}AD^{1/2}HW D1/2AD1/2HW !没错,我们现在研究的对象不是一个矩阵 A A A,而是图的邻接矩阵 A A A,这样一来知识是不是就串起来了,再深入一点这种连乘然后收敛的性质是不是跟 P a g e R a n k PageRank PageRank算法很像(此处的内容会在后续文章中慢慢解释,会在此处给出文章链接)。

  回到正题,我们现在的研究对象是图的邻接矩阵。此时,这样的矩阵描述了一种在图上的类似于热力扩散的运动。同样的,该矩阵的特征值刻画了一种运动轨迹,如下图所示(详情见参考文献【5】)。

【图机器学习】图神经网络入门(一)谱图理论_第2张图片
  我们再看一下拉普拉斯矩阵,拉普拉斯矩阵跟谱图理论有什么关系?在以往看到的资料中,凡是涉及到图神经网络的推导,或者谱图卷积总会讲到拉普拉斯矩阵还有它的性质等等。但是并没有讲清楚,为什么需要拉普拉斯矩阵,这就令初学的人很是费解。实际上拉普拉斯矩阵是连接谱域跟空域的桥梁。由于拉普拉斯矩阵是对称矩阵,可以进行特征分解(谱分解),谱分解对于图从空间域到频谱域的变换至关重要,因为傅里叶变换(Fourier Transform)需要利用Laplacian矩阵的特征值和特征向量,通过变换,从拓扑结构的图(spatial domain)到拉普拉斯矩阵再到谱图(spectral domain)这条链接就形成了。

4.1 拉普拉斯矩阵

  下面就先来介绍拉普拉斯矩阵。
  对于无向图 G = ( V , E ) G=(V, E) G=(V,E),其Laplacian矩阵定义为 L = D − A L=D-A L=DA,其中 D D D是节点的度矩阵(只在对角线上有元素), A A A是图的邻接矩阵。拉普拉斯矩阵还有几种扩展定义:

  • L = D − 1 / 2 A D − 1 / 2 L=D^{-1/2}AD^{-1/2} L=D1/2AD1/2 称为对称归一化拉普拉斯矩阵(Symmetric Normalized Laplacian),论文中一般用的是这种Laplacian的定义
  • L = D − 1 A L=D^{-1}A L=D1A称为随机游走归一化拉普拉斯矩阵(Random Walk Normalized Laplacian)

4.2 拉普拉斯矩阵的性质

  矩阵的特征分解,对角化,谱分解都是同一个概念,是指将矩阵分解为由其特征值和特征向量表示的矩阵乘积的方法。只有含有n个线性无关的特征向量的n维方阵才可以进行特征分解。
拉普拉斯矩阵是半正定矩阵,有如下三个性质:

  • 是实对称矩阵,有n个线性无关的特征向量

  • 这些特征向量都可以正交单位化而得到一组正交且模为 1 的向量

  • 所有的特征值非负

  性质1告诉我们拉普拉斯矩阵一定能进行特征分解(谱分解)
L = U ( λ 1 ⋱ λ n ) U − 1 L=U\left(\begin{array}{ccc} \lambda_{1} & & \\ & \ddots & \\ & & \lambda_{n} \end{array}\right) U^{-1} L=U λ1λn U1

  由性质2可知, U U U是正交矩阵,即 U U T = I UU^{T}=I UUT=I,故 U − 1 = U T U^{-1}=U^{T} U1=UT,所以特征分解又可以写成:
L = U ( λ 1 ⋱ λ n ) U T L=U\left(\begin{array}{ccc} \lambda_{1} & & \\ & \ddots & \\ & & \lambda_{n} \end{array}\right) U^{T} L=U λ1λn UT
  性质补充(重要):【图机器学习入门】拉普拉斯算子与拉普拉斯矩阵的关系

4.3 谱分解

  矩阵的谱分解

5 参考文献

[1]谱图理论(spectral graph theory)
[2]如何理解矩阵特征值和特征向量?
[3]GNN 教程:漫谈谱图理论和GCN的起源
[4]如何理解 Graph Convolutional Network(GCN)?
[5]从物理学角度理解GCN
[6]图的谱图理论

你可能感兴趣的:(图机器学习,神经网络,机器学习,人工智能)