GNN 系列:Graph 基础知识介绍

简介: 图卷积神经网络(Graph Convolutional Network)作为最近几年兴起的一种基于图结构的广义神经网络结构,因为其独特的计算能力,而受到广泛学者的关注与研究。

导读:

图卷积神经网络(Graph Convolutional Network)作为最近几年兴起的一种基于图结构的广义神经网络结构,因为其独特的计算能力,而受到广泛学者的关注与研究。传统深度学习模型 LSTM 和 CNN 在欧几里得空间数据(语言,图像,视频等)上取得了不错的成绩,但是在对非欧几里得空间数据(eg:社交网络、信息网络等)进行处理上却存在一定的局限性。针对该问题,研究者们引入了图论中抽象意义上的图(Graph)来表示非欧几里得结构化数据。并利用图卷积网络对来图(Graph)数据进行处理,以深入发掘其特征和规律。本文首先分别介绍了欧几里得结构化数据和非欧几里得结构化数据特点;然后,针对非欧几里得结构化数据的表示问题,引入了图论中抽象意义上的图(Graph)概念,并对图(Graph)中一些表示形式进行介绍;最后,通过一个简单的例子,对图(Graph)数据的应用进行介绍,以帮助读者加深对图(Graph)的理解。

作者:DataWhale 金良、杨开漠


目录

1.欧几里得结构化数据
欧几里得空间

常见的欧几里得结构化数据

2.非欧几里得结构化数据
非欧几里得空间

非常见的欧几里得结构化数据

3.图(Graph)
图(Graph)的引入

图(Graph)的定义测试

图(Graph)的表示形式

(1)、邻接矩阵(Adjacency matrix)

(2)、度矩阵( Degree matrix)
(3)、邻域( Neighborhood)

4.图上的学习任务
5.图数据应用举例
6.系列规划

正文

1.a. 欧几里得空间

欧几里德空间(Euclidean Space),简称为欧氏空间(也可以称为平直空间),在数学中是对欧几里德所研究的2维和3维空间的一般化。这个一般化把欧几里德对于距离、以及相关的概念长度和角度,转换成任意数维的坐标系。如下图所示。
image.png

图 a 表示二维欧几里得空间
图 b 表示三维欧几里得空间

1.b.常见的欧几里得结构化数据

将数据转换到欧几里得空间中,所得到的数据称为欧几里得结构化数据。
常见的欧几里得结构化数据主要包含:
1D:声音,时间序列等;
2D:图像等;
3D:视频,高光谱图像等;
image.png

2.a.非欧几里得空间

科学研究中并不是所有的数据都能够被转换到欧几里得空间中(eg:社交网络、信息网络等),对于不能进行欧几里得结构化的数据,我们将其称为非欧几里得结构化数据。

2.b.非常见的欧几里得结构化数据

1D:社交网络(eg:Facebook,Twitter等)等;
2D:生物网络(基因,分子,大脑连接)等;
3D:基础设施网络(eg:能源,交通,互联网,通信等)等;
image.png

3.a.图(Graph)的引入

针对非欧几里得结构化数据表示问题,研究者们引入了图论中抽象意义上的图(Graph)来表示非欧几里得结构化数据。

3.b.图(Graph)的定义测试

image.png

3.c.(1)图的表示形式——邻接矩阵(Adjacency matrix)

image.png

3.c.(2)图的表示形式——度矩阵( Degree matrix)

image.png

3.c.(3)图的表示形式——邻域( Neighborhood)

image.png

4.图上的学习任务

介绍完图的基本术语之后,我们来看看有了图结构数据,我们可以进行哪些机器学习的任务
1、图节点分类任务:图中每个节点都有对应的特征,当我们已知一些节点的类别的时候,可以设计分类任务针对未知节点进行分类。我们接下来要介绍的 GCN、GraphSAGE、GAT模型都是对图上的节点分类。
2、图边结构预测任务:图中的节点和节点之间的边关系可能在输入数据中能够采集到,而有些隐藏的边需要我们挖掘出来,这类任务就是对边的预测任务,也就是对节点和节点之间关系的预测。
3、图的分类:对于整个图来说,我们也可以对图分类,图分类又称为图的同构问题,基本思路是将图中节点的特征聚合起来作为图的特征,再进行分类。

5.图数据应用举例

对于一个简单的电商的图,其包含卖家,商品和用户三个关键节点,其中,商品节点关联商品类别节点,用户节点关联注册 IP 节点和 注册地址节点。当用户在购买商品时,用户节点和商品节点就会关联交易节点,同时,交易节点也会关联用户下单时所对应的 IP 节点以及收获地址节点,对应的图结构如下图所示。
image.png

从图数据中节点间的关系以及特征,我们可以进行反欺诈以及商品推荐的操作。
1、节点分类—反欺诈:因为图中每个节点都拥有自己的特征信息。通过该特征信息,我们可以构建一个风控系统,如果交易节点所关联的用户 IP 和收货地址与用户注册 IP 和注册地址不匹配,那么系统将有可能认为该用户存在欺诈风险。
2、边结构预测—商品推荐:图中每个节点都具有结构信息。如果用户频繁购买某种类别商品或对某种类别商品评分较高,那么系统就可以认定该用户对该类商品比较感兴趣,所以就可以向该用户推荐更多该类别的商品。
总而言之,图数据的丰富应用价值促使更多的研究者加入图数据的研究当中,但是对图数据进行数据分析时,我们需要同时考虑到节点的特征信息以及结构信息。如果靠手工规则来提取,必将失去很多隐蔽和复杂的模式,那么有没有一种方法能自动化地同时学到图的特征信息与结构信息呢?这就是近年来兴起的机器学习的一个热点方向—图神经网络(Graph Neural Networks)。接下来我们将以一个系列的文章介绍它们。

6.系列规划

本文为GNN教程 [第一章 基础:三剑客] 的第一篇文章 [01 基础知识],下图展示了我们在这一系列的规划,接下来我们将会介绍图神经网络的三个基本模型,使大家对他们有所了解。

image.png

点小花花,让人知道你“在看”的文章

目录
相关文章
|
机器学习/深度学习 算法 知识图谱
cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings
cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings
cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings
|
1月前
|
机器学习/深度学习 人工智能 算法
深入解析图神经网络:Graph Transformer的算法基础与工程实践
Graph Transformer是一种结合了Transformer自注意力机制与图神经网络(GNNs)特点的神经网络模型,专为处理图结构数据而设计。它通过改进的数据表示方法、自注意力机制、拉普拉斯位置编码、消息传递与聚合机制等核心技术,实现了对图中节点间关系信息的高效处理及长程依赖关系的捕捉,显著提升了图相关任务的性能。本文详细解析了Graph Transformer的技术原理、实现细节及应用场景,并通过图书推荐系统的实例,展示了其在实际问题解决中的强大能力。
171 30
|
3月前
|
机器学习/深度学习 人工智能 自然语言处理
Transformer图解以及相关的概念
【10月更文挑战第5天】transformer是目前NLP甚至是整个深度学习领域不能不提到的框架,同时大部分LLM也是使用其进行训练生成模型,所以transformer几乎是目前每一个机器人开发者或者人工智能开发者不能越过的一个框架。
117 4
|
机器学习/深度学习 人工智能 自然语言处理
PGL图学习之图神经网络GNN模型GCN、GAT[系列六]
本次项目讲解了图神经网络的原理并对GCN、GAT实现方式进行讲解,最后基于PGL实现了两个算法在数据集Cora、Pubmed、Citeseer的表现,在引文网络基准测试中达到了与论文同等水平的指标。 目前的数据集样本节点和边都不是很大,下个项目将会讲解面对亿级别图应该如何去做。
|
6月前
|
存储 NoSQL 数据可视化
论文图谱当如是:Awesome-Graphs用200篇图系统论文打个样
试想在你刚接触一个陌生的技术领域时,如果有办法以“上帝视角”看到该领域完整的历史发展轨迹,是否可以让自己的技术探索更有的放矢,胸有成竹呢?是的,你没猜错,这个玩意儿叫论文图谱。我通过“人肉扫描”了200多篇图计算系统的论文,整理了心中理想的“图系统论文图谱”原型,大家可以“类比想象”一下当下关注技术领域的论文图谱应当如何。
论文图谱当如是:Awesome-Graphs用200篇图系统论文打个样
|
8月前
|
机器学习/深度学习 数据可视化 PyTorch
时空图神经网络ST-GNN的概念以及Pytorch实现
本文介绍了图神经网络(GNN)在处理各种领域中相互关联的图数据时的作用,如分子结构和社交网络。GNN与序列模型(如RNN)结合形成的时空图神经网络(ST-GNN)能捕捉时间和空间依赖性。文章通过图示和代码示例解释了GNN和ST-GNN的基本原理,展示了如何将GNN应用于股票市场的数据,尽管不推荐将其用于实际的股市预测。提供的PyTorch实现展示了如何将时间序列数据转换为图结构并训练ST-GNN模型。
195 1
|
机器学习/深度学习 TensorFlow 算法框架/工具
Spektral:使用TF2实现经典GNN的开源库
Spektral:使用TF2实现经典GNN的开源库
439 0
Spektral:使用TF2实现经典GNN的开源库
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络17-DGL实战:构建图神经网络(GNN)模块
图神经网络17-DGL实战:构建图神经网络(GNN)模块
641 0
|
机器学习/深度学习 算法 数据挖掘
图(Graph)--概念及应用
本文分享了关于图的概念、图的数学表示及图的应用等内容,以供参考学习
339 0
|
机器学习/深度学习 存储 DataWorks
图神经网络 GNN 框架 Graph-Learn 技术分享|学习笔记
快速学习图神经网络 GNN 框架 Graph-Learn 技术分享。
702 0
图神经网络 GNN 框架 Graph-Learn 技术分享|学习笔记