关于Kipf的GCN方法学习笔记
1.方法介绍
Problem:classifying nodes (such as documents) in a graph (such as a citation network)——图节点分类
暂时设图为无向图
def损失函数:
其中表示训练集的训练损失,
表示一个神经网络层,
是学习系数,
假设图结构为.
是节点特征向量的矩阵(行向量为每个节点
对应的特征描述
,行数为节点个数),
为图的邻接矩阵,
,其中
为度矩阵。
2.FAST APPROXIMATE CONVOLUTIONS ON GRAPHS
考虑具有如下分层传播规则的多层图卷积神经网络:
为了考虑节点本身的特征,故将邻接矩阵加上一个自连接,为了不改特征原来的分布,将
进行归一化处理。
上面公式里的,
,
是
层的可训练权重矩阵,
为激活函数,
是第
层的激活矩阵,
其中.
2.1SPECTRAL GRAPH CONVOLUTIONS频谱图卷积
设滤波器为,
为参数,设x为信号,卷积计算为:
其中是
的特征矩阵,可以将其视为
的图Fourier变换的卷积,
是
的函数。
由于计算L的特征分解较为复杂,因此可以用Chebyshev多项式来近似表示:
为切比雪夫系数的向量,
,其中
,从而可以得到:
,其中
2.2分层线性模型
可以通过堆叠多个卷积层实现神经网络,然而此时的每个卷积都为逐点非线性,设K=1即可得到线性的卷积层,同时我们近似取值,那么可以得到卷积为
取
为解决数值不稳定性及梯度爆炸或消失问题,我们引入:
with
于是最终可以得到卷积层为:
2.半监督节点分类
我们取
交叉熵误差为:为具有标签的节点索引集,之后利用梯度下降法训练