3 图神经网络GNN
图神经网络GNN
简介
概述
包括主要的三个算法
- GCN
- GraphSAGE
- GAT
1 GCN
- 原理都是利用节点周围节点的信息,聚合下一层的节点的信息。
- 使用对角阵D进行归一化操作。
- 使用邻接矩阵A和特征矩阵X相乘,聚合直接相连的节点的信息。
- 公式说明

- 物理含义

- 具体目标
- 还是得到节点的嵌入向量。
- 利用节点的类型作为标签,进行有监督的学习

2 GraphSAGE
graphSAGE原理
- 原理:聚合节点周围的节点的信息。

- 算法流程。包括聚合和拼接两个关键步骤。可以定制这两个函数的具体形式。

- 一个算法的实例。aggregate采用了均值函数。concat采用了直接拼接的函数。W会将节点高维的节点特征映射到低维节点特征当中。

- 在以上运算的基础上进行采样。即选择固定数量的邻居节点,而不是所有的邻居节点。以下是一个采样的实例

- 可以选择不同的聚合函数

graphSAGE minibatch
- graphSAGE有minibatch版本。graphsage只聚合周围图的信息,而不是聚合图上所有节点的信息,所以可以通过采样选点的方式,进行训练。而不是全图训练。
- 关于这里minibatch的含义进行说明:在GCN和上边的graphSAGE当中,全图相当于所有样本构成的样本集合,每一个图节点相当于一个样本,每个图节点都有一个类别,根据softmax层的输出和这个图节点的类别可以得到当前节点的损失,然后进行反向传播和梯度下降。输入如果是整个图,则相当于在全局的样本上进行batch梯度下降,而不是minibatch梯度下降。这样,如果图很大的话,就会导致输入过于庞大,迭代过于缓慢。所以通过采样(选择小批量的样本minibatch)的方式,进行训练,能够加快训练的速度。


graphSAGE embedding
- graphSAGE无监督学习的方案。
- 基于的原理:如果两个节点的比较相近,那么他们具有相近的表征。如果两个节点比较远,则他们的表征就会比较远。

3 GAT
暂时不太需要。
- 原理:图注意力网络。在GCN的基础上,加上了attension系数。

本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!




