GraphSage

2024-04-05 21:52
文章标签 graphsage

本文主要是介绍GraphSage,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

背景

        大型图中节点的低维嵌入在各种预测任务中非常有用。GraphSage是一种通用的归纳框架,它利用节点特征信息(例如,文本属性)有效地为以前看不见的数据生成节点嵌入。相比于对每个节点训练单独的嵌入,GraphSage学习了一个函数,通过对节点局部邻域的特征进行采样和聚合来生成嵌入。

        如图1所示,不同于对每个节点训练一个对应的嵌入向量,GraphSage训练一组聚合器函数,这些函数学习聚合来自节点邻居的特征信息。

算法实现

        GraphSage的核心思想是聚合节点本地邻域的特征信息。具体算法如下:

输入:

包括图g(V, \epsilon),特征\{x_v, \forall v \in V\},遍历次数K,

权重矩阵W^k, \forall k \in \{1, 2, 3, ..., K\},非线性函数\sigma

可微聚合器函数{AGGREGATE}_k, \forall k \in \{1, 2, ...K \},邻居函数N: v \rightarrow 2^v

输出:

每个节点的向量表示z_v

第一步(1):对于每个节点获取其特征x_v作为基准特征

第二步(2—8):

遍历1到K,在每次遍历中遍历每个节点v。以第一次遍历为例,对于节点v,首先获取其邻居集合N(v),使用可微聚合器函数聚合邻居集合里面所有的节点的基准特征得到聚合邻居特征h^{k}_{N(v)}。连接基准特征聚合邻居特征得到联合特征,使用权重矩阵与联合特征相乘得到此次遍历后的节点特征h_v^k。最后对特征进行归一化,结束此次遍历。

第三步(9):将每个节点的第K次遍历后的特征作为节点的向量表示。

        在GraphSage中并没有用完整的邻居,而是采用了固定规模的邻居集,以保持每批的计算足迹固定。

聚合器架构

        与 N-D 格子(例如句子、图像或 3D 体积)上的机器学习不同,节点的邻居没有自然排序;因此,算法 1 中的聚合器函数必须对一组无序向量进行操作。

        。。。

这篇关于GraphSage的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/878242

相关文章

【intro】GraphSAGE

论文 https://arxiv.org/pdf/1706.02216 abstract 大图中节点的低维embedding已经被证明在各种预测任务中非常有用,然而,大多数现有的方法要求在embedding训练期间图中的所有节点都存在;这些先前的方法属于直推式(transductive),不能自然地推广到看不见的节点。这里我们介绍GraphSAGE,一个通用的归纳式(inductive)框架

图神经网络三剑客:GCN、GAT与GraphSAGE

图神经网络三剑客:GCN、GAT与GraphSAGE 2020-2-27 17:28| 发布者: 炼数成金_小数| 查看: 47856| 评论: 0|原作者: 桑运鑫|来自: PaperWeekly 摘要: 2019 年号称图神经网络元年,在各个领域关于图神经网络的研究爆发式增长。本文主要介绍一下三种常见图神经网络:GCN、GAT 以及 GraphSAGE。前两者是目前应用比较广泛的图神经网络

GraphSAGE 到底在训练什么? 图上的Mini-Batch 是怎么训练的 ?

1. 一个端到端的 同构图(Cora数据集)节点分类代码: import argparseimport dglimport dgl.nn as dglnnimport torchimport torch.nn as nnimport torch.nn.functional as Ffrom dgl import AddSelfLoopfrom dgl.data import Cites

GCN,GraphSAGE 到底在训练什么呢?

根据DGL 来做的,按照DGL 实现来讲述 1. GCN Cora 训练代码: import osos.environ["DGLBACKEND"] = "pytorch"import dglimport dgl.dataimport torchimport torch.nn as nnimport torch.nn.functional as Ffrom dgl.nn.pyt

【图神经网络】GraphSAGE 无监督训练源码剖析

概述 本教程主要介绍pytorch_geometric库examples下的graph_sage_unsup.py的源码剖析,主要的关键技术点,包括: 如何实现随机采样的?SAGEConv是如何训练的? 关键问题1,随机采样和采样方向的问题(有向图) 首先要理解的是,采样的过程和特征聚合的过程是相反的,采样的过程,比如,如下图所示,先采样A节点的一阶邻域节点,再根据一阶采样得到的节

图神经网络必读的​5个基础模型: GCN, GAT, GraphSAGE, GAE, DiffPool.

来源:机器学习算法那些事 极市平台 https://zhuanlan.zhihu.com/p/136521625 本文约6000字,建议阅读10分钟 本篇文章将从一个更直观的角度对当前经典流行的GNN网络,包括GCN、GraphSAGE、GAT、GAE以及graph pooling策略DiffPool等等做一个简单的小结。 “近年来,深度学习领域关于图神经网络(Graph Neural Net

Inductive Representation Learning on Large Graphs 论文/GraphSAGE学习笔记

1 动机 1.1 过去的方法 现存的方法大多是transductive的,也就是说,在训练图的时候需要将整个图都作为输入,为图上全部节点生成嵌入,每个节点在训练的过程中都是可知的。举个例子,上一次我学习了GCN模型,它的前向传播表达式为: H ( l + 1 ) = σ ( D ~ − 1 2 A ~ D ~ − 1 2 H ( l ) W ( l ) ) H^{(l+1)}=σ(\wid

【论文笔记】GraphSAGE:Inductive Representation Learning on Large Graphs(NIPS)

学习心得 GCN不能泛化到训练过程中没有出现的节点(即属于 t r a n s d u c t i v e transductive transductive 直推式学习,若加入新节点则需要重新训练模型),既然有新增的结点(一定会改变原有节点),那就没必要一定得到每个节点的固定表示。而GraphSAGE就是为了解决这种问题,利用Sample(采样)和Aggregate(聚合)两大核心步骤,通过

B.图算法:图学习之图神经网络GraphSAGE、GIN图采样算法[系列七]

图学习图神经网络算法专栏简介:主要实现图游走模型(DeepWalk、node2vec);图神经网络算法(GCN、GAT、GraphSage),部分进阶 GNN 模型(UniMP标签传播、ERNIESage)模型算法等,完成项目实战 专栏链接:图学习图神经网络算法专栏简介:含图算法(图游走模型、图神经网络算法等)原理+项目+代码实现+比赛 前人栽树后人乘凉,本专栏提供资料:快速掌握图游走

A.特定领域知识图谱知识推理方案:知识图谱推理算法综述[四](基于图传播的模型:node2vec、GCN、Graphsage、GeniePath等)算法汇总和应用场景归纳

知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取)、知识融合算法方案、知识推理、模型优化、模型压缩技术等 专栏详细介绍:知识图谱专栏简介:数据增强,智能标注,文本信息抽取(实体关系事件抽取)、知识融合算法方案、知识推理、模型优化、模型压缩技术等 NLP知识图谱相关技术业务落地方案和码源,本专栏会持续更新包含知识图谱(知识融合、知识推理等)、NLP业务落地方案以及码源