其他分享
首页 > 其他分享> > [Graph Classification] GraphSAGE 论文笔记

[Graph Classification] GraphSAGE 论文笔记

作者:互联网

文章目录

[Graph Classification] GraphSAGE

GraphSAGE在很多paper中都作为graph classification的baselines之一,所以可见他在图分类问题是有着很好的效果。

GraphSAGE是一种inductive representation learning,即可以利用已知节点的信息为未知节点生成embeddings。而GCN是一种transductive learning,即它必须在一个确定的图中进行embeddings的学习,无法直接泛化到未出现过的节点。

Introduction

在这里插入图片描述

GraphSAGE的方法如上图所示:

  1. 从顶点开始采样一定数量的邻居节点
  2. 将邻居节点的feature information 进行聚合,并和节点当前层的feature进行连接,并通过非线性函数得到新的feature
  3. 迭代1-2,最后一层的feature,即为节点的embeddings

Sample method

出于对计算效率的考虑,对每个顶点采样一定数量的邻居顶点作为待聚合信息的顶点。设采样数量为k,若顶点邻居数少于k,则采用有放回的抽样方法,直到采样出k个顶点。若顶点邻居数大于k,则采用无放回的抽样。

当然,若不考虑计算效率,我们完全可以对每个顶点利用其所有的邻居顶点进行信息聚合,这样是信息无损的。

Embedding generation algorithm

在这里插入图片描述

K K K为深度,即GraphSage能够聚合到的邻居节点的最远深度。

算法看起来很简单,4-5行为关键,即对邻居节点的特征进行聚合,然后和自己的特征进行连接并且通过非线性函数得到新的特征。

Learning parameters

  1. 无监督学习:
    基于整个图的损失函数,希望临近的节点有相似的表示,让离的远的节点的表示高度不同。损失函数如下:
    在这里插入图片描述
    最小化上面的损失函数,其中节点v是节点u通过固定长度的random walk产生的节点序列中的"邻居节点", P n P_n Pn​是负采样的概率分布,Q决定负采样的样本数量。这里的顶点表示向量是通过聚合顶点的邻接点特征产生的,而不是简单的进行一个embedding lookup操作得到。
  2. 监督学习:
    监督学习形式根据任务的不同直接设置目标函数即可,如最常用的节点分类任务使用交叉熵损失函数。

Aggregator Architectures

聚合函数必须满足的是,对于无序的节点序列,聚合函数的输出与其输入节点的序列是无关的,即聚合函数必须是symmetric的。

作者提出了3个聚合函数:


论文原文Inductive Representation Learning on Large Graphs

标签:采样,聚合,函数,Classification,Graph,GraphSAGE,邻居,顶点,节点
来源: https://blog.csdn.net/qq_38328871/article/details/110743038