以下内容多为个人理解,如有错误感谢批评指正。
参考链接:
如何理解GCN?知乎回答:从热传导模型到GCN
从CNN到GCN的联系与区别——GCN从入门到精(fang)通(qi)
GCN问题本质
图中的每个结点无时无刻不因为邻居和更远的点的影响而在改变着自己的状态直到最终的平衡,关系越亲近的邻居影响越大。
GCN的实质
是在一张Graph Network中特征(Feature)和消息(Message)中的流动和传播!
研究GCN的原因
- CNN无法处理非欧几里得结构数据,因为此种结构没有平移不变性,卷积核的大小无法固定不变。
- 拓扑图中包含许多重要的信息,可以通过图谱论进行挖掘。
- 拓扑连接是一种广义的数据结构,且一般来说任何数据在赋范空间内都可以建立拓扑关系。例如谱聚类(谱聚类原理总结)
进入到应用层面,具体来说。
GCN的目的
提取拓扑图的空间特征。
核心理论: Sepectral graph theory 图谱论
图谱论简述
核心思想:
- 借助于图的拉普拉斯矩阵的特征值和特征向量来研究图的性质。
- 借助于图谱的理论来实现拓扑图上的卷积操作。
为什么GCN要用拉普拉斯矩阵?
(1)拉普拉斯是对称矩阵,可以进行特征分解(谱分解),这和GCN的Spectral domain对应。
(2)拉普拉斯矩阵只在中心顶点和一阶相连的顶点上(1-hop neighbor)有非0元素,其余之处均为0.
(3)拉普拉斯算子和拉普拉斯矩阵之间的关系。
拉普拉斯矩阵的谱分解(特征分解)
- 对称矩阵一定有n个线性无关的特征向量
- 半正定矩阵的特征值一定非负
- 对称矩阵的特征向量相互正交,及所有的特征向量构成的矩阵为正交矩阵。正交矩阵
由上可知拉普拉斯矩阵一定可以谱分解,且分解后有特殊的形式。对于拉普拉斯矩阵其谱分解为:
L = U ( λ 1 . . . λ n ) U − 1 L=U\begin{pmatrix} \lambda_1 & & \\ &...& \\ & &\lambda_n\\ \end{pmatrix}U^{-1} L=U⎝⎛λ1...λn⎠⎞U−1
其中 U = ( u ⃗ 1 , u ⃗ 2 , . . . , u ⃗ n ) U=(\vec u_1 , \vec u_2, ... ,\vec u_n) U=(u1,u2,...,un)是列向量为单位特征向量的矩阵,也就说 u ⃗ 1 \vec u_1 u1是列向量。
( λ 1 . . . λ n ) \begin{pmatrix} \lambda_1 & & \\ &...& \\ & &\lambda_n\\ \end{pmatrix} ⎝⎛λ1...λ