关于Kipf的GCN方法学习笔记

1.方法介绍

Problem:classifying nodes (such as documents) in a graph (such as a citation network)——图节点分类
暂时设图为无向图
def损失函数:
Graph Convolutional Networks   2020.10.11 - 图1
其中Graph Convolutional Networks   2020.10.11 - 图2表示训练集的训练损失,Graph Convolutional Networks   2020.10.11 - 图3表示一个神经网络层,Graph Convolutional Networks   2020.10.11 - 图4是学习系数,
假设图结构为Graph Convolutional Networks   2020.10.11 - 图5.Graph Convolutional Networks   2020.10.11 - 图6是节点特征向量的矩阵(行向量为每个节点Graph Convolutional Networks   2020.10.11 - 图7对应的特征描述Graph Convolutional Networks   2020.10.11 - 图8,行数为节点个数),Graph Convolutional Networks   2020.10.11 - 图9为图的邻接矩阵,Graph Convolutional Networks   2020.10.11 - 图10,其中Graph Convolutional Networks   2020.10.11 - 图11为度矩阵。

2.FAST APPROXIMATE CONVOLUTIONS ON GRAPHS

考虑具有如下分层传播规则的多层图卷积神经网络:
Graph Convolutional Networks   2020.10.11 - 图12
为了考虑节点本身的特征,故将邻接矩阵加上一个自连接,为了不改Graph Convolutional Networks   2020.10.11 - 图13特征原来的分布,将Graph Convolutional Networks   2020.10.11 - 图14进行归一化处理。
上面公式里的Graph Convolutional Networks   2020.10.11 - 图15,Graph Convolutional Networks   2020.10.11 - 图16,Graph Convolutional Networks   2020.10.11 - 图17Graph Convolutional Networks   2020.10.11 - 图18层的可训练权重矩阵,Graph Convolutional Networks   2020.10.11 - 图19为激活函数,Graph Convolutional Networks   2020.10.11 - 图20是第Graph Convolutional Networks   2020.10.11 - 图21层的激活矩阵,
其中Graph Convolutional Networks   2020.10.11 - 图22.

2.1SPECTRAL GRAPH CONVOLUTIONS频谱图卷积

设滤波器为Graph Convolutional Networks   2020.10.11 - 图23,Graph Convolutional Networks   2020.10.11 - 图24为参数,设x为信号,卷积计算为:
Graph Convolutional Networks   2020.10.11 - 图25
其中Graph Convolutional Networks   2020.10.11 - 图26Graph Convolutional Networks   2020.10.11 - 图27的特征矩阵,可以将其视为Graph Convolutional Networks   2020.10.11 - 图28的图Fourier变换的卷积,Graph Convolutional Networks   2020.10.11 - 图29Graph Convolutional Networks   2020.10.11 - 图30的函数。
由于计算L的特征分解较为复杂,因此可以用Chebyshev多项式Graph Convolutional Networks   2020.10.11 - 图31来近似表示:
Graph Convolutional Networks   2020.10.11 - 图32
Graph Convolutional Networks   2020.10.11 - 图33为切比雪夫系数的向量,Graph Convolutional Networks   2020.10.11 - 图34,其中Graph Convolutional Networks   2020.10.11 - 图35,从而可以得到:
Graph Convolutional Networks   2020.10.11 - 图36,其中Graph Convolutional Networks   2020.10.11 - 图37

2.2分层线性模型

可以通过堆叠多个卷积层实现神经网络,然而此时的每个卷积都为逐点非线性,设K=1即可得到线性的卷积层,同时我们近似取值Graph Convolutional Networks   2020.10.11 - 图38,那么可以得到卷积为
Graph Convolutional Networks   2020.10.11 - 图39
Graph Convolutional Networks   2020.10.11 - 图40
Graph Convolutional Networks   2020.10.11 - 图41
为解决数值不稳定性及梯度爆炸或消失问题,我们引入:
withGraph Convolutional Networks   2020.10.11 - 图42
于是最终可以得到卷积层为:
Graph Convolutional Networks   2020.10.11 - 图43

2.半监督节点分类

我们取
Graph Convolutional Networks   2020.10.11 - 图44
交叉熵误差为:
Graph Convolutional Networks   2020.10.11 - 图45
Graph Convolutional Networks   2020.10.11 - 图46为具有标签的节点索引集,之后利用梯度下降法训练Graph Convolutional Networks   2020.10.11 - 图47