GCN的通俗理解

GCN

一、与CNN的区别和联系

1、GCN(图卷积神经网络) 类似CNN(卷积神经网络),只不过CNN用于二维数据结构,GCN用于图数据结构。
2、GCN实际上跟CNN的作用一样,就是一个特征提取器,只不过它的对象是图数据。GCN精妙地设计了一种从图数据中提取特征的方法,从而让我们可以使用这些特征去对图数据进行节点分类(node classification)、图分类(graph classification)、边预测(link prediction),还可以顺便得到图的嵌入表示(graph embedding),可见用途广泛。

二、GCN的原理

1、输入:

N个节点(node)以及它们的特征,组成一个N×D维的特征矩阵X。
各个节点之间的关系也会形成一个N×N维的邻接矩阵A。

2、原理

邻居节点的聚合:
在这里插入图片描述
在GCN中,是直接把邻居的特征进行求和,而实际不是A跟H相乘,而是A帽子,A帽子是归一化的A,所以实际上我画的图中的邻居关系向量不应该是0,1构成的序列,而是归一化之后的结果,所以跟H的向量相乘之后,相当于是“求平均”。
GraphSAGE进一步拓展了“聚合”的方法,提出了LSTM、Pooling等聚合方式,不是简单地求平均,而是更加复杂的组合方式,所以有一些效果的提升也是在情理之内的。
GCN的通俗理解_第1张图片
GCN的通俗理解_第2张图片

这篇文章的后半部分对于GCN的原理实现以图像的形式展示出来了

3、是对于简单神经网络模型的改进。主要解决两个问题:

(1)在进行所有邻居的特征的加权和,该node自己的特征却被忽略了。
(2)A是没有经过归一化的矩阵,这样与特征矩阵相乘会改变特征原本的分布,产生一些不可预测的问题。
即将邻接矩阵进行了改进,进行了归一化操作。

具体参考 GCN

三、GCN的优点

1、即使不训练,使用随机初始化的参数W,GCN提取出来的特征十分优秀。
2、即使是节点没有很多特征,也可以使用GCN。可以用单位矩阵替换特征矩阵X。
3、即使节点没有任何的类别标准或者其他标准,也可以使用GCN。

你可能感兴趣的:(深度学习,神经网络,深度学习,机器学习)