图神经网络 day2 图的分类

图神经网络基础算法

  • 1 GCN
  • 2 GraphSAGE
    • 2.1 采样:采样固定长度的邻居
    • 2.2 聚合
    • 2.3 GraphSAGE_minibatch
    • 2.4 GraphSAGE_embedding
  • 3 GAT
  • 4. 图网络的分类
    • 4.1 递归图神经网络 RGNN
    • 4.2 图卷积神经网络GCN
    • 4.3 图注意力网络 GAT
    • 4.4 图自动编码 GAE
    • 4.5 图时空网络 GSTN
    • 4.6 图生成网络 GGN
    • 4.7 图强化学些 GRL
    • 4.8 图对抗方法GAM
    • 4.9 更通用的框架
      • 4.9.1 消息传递网络 MPNN
      • 4.9.2 非局部神经网络 NLNN
      • 4.9.3 图神经网络 GN
        • MPNN应用于GN
        • NLNN应用于GN
    • 4.10 其他图
        • 1. 异构图
        • 2. 二部图
        • 3. 多维图
        • 4. 符号图
        • 5. 超图
        • 6. 动态图

1 GCN

公式:

image-20230731152025610

image-20230731154432175

image-20230731154641628

节点的特征从C维(X1)——》F维(Z1),并 进行softmax操作,得到每一个节点对应的label(Y1)

2 GraphSAGE

image-20230731164704170

image-20230815093721585

实例:

  1. 聚合周围邻居信息(领域特征),下图是求平均值
  2. 把邻居信息拼接到一起,再经过一个可学习的w参数

image-20230815093816863

2.1 采样:采样固定长度的邻居

image-20230815094233042

节点4是单向的,所以不考虑

image-20230815094435073

2.2 聚合

要满足以下性质:

  1. 聚合函数是对称的
  2. 聚合函数的输入和顺序是不变的

image-20230815094642143

2.3 GraphSAGE_minibatch

Minbatch : GraphSAGE采用聚合邻居,和GCN使用全图方式,变成采样。这样在minbatch下,可以不使用全图信息,这使得在大规模图上训练变得可行。把大图转换成小图

image-20230815095311066

例子

image-20230815095447037

image-20230815095835128

2.4 GraphSAGE_embedding

image-20230815100141336

作者提出的假设:如果这两个节点很近,那么他们的表征应该是相似的,反之,则他们的表征会有所不同

3 GAT

image-20230815140838605

求得节点i和周围节点的attention系数,再通过系数与邻居节点加权求和,那么就求得了该节点聚合周围节点后的特征。

image-20230815141100183

多头注意力机制

image-20230815141418872

三个节点表示了三类特征

image-20230815141634715

4. 图网络的分类

image-20230815142038642

image-20230815142124149

image-20230815142218084

4.1 递归图神经网络 RGNN

image-20230815170529400

递归和卷积都是学习特征,很明显,卷积图神经网络的卷积层参数可以是不一致的的

4.2 图卷积神经网络GCN

image-20230815170644973

得到节点有序序列

4.3 图注意力网络 GAT

4.4 图自动编码 GAE

GAE:encoder用GCN替换,得出的特征矩阵Z,decoder替换成Z的转置,通过转置生成的图与原图比较得出最小化结构性误差,通过最小损失函数可以得出GCN的参数

image-20230815171957587

VAE课程,李宏毅老师课程∶
https://www.bilibili.com/video/BV1tZ4y1L7gu?from=search&seid=15594710630639930905

4.5 图时空网络 GSTN

同时考虑图的空间性和时间维度·比如在交通邻域中﹐速度传感器会随时间变化的时间维度﹐不同的传感器之间也会形成连接的空间维度的边。
当前的许多方法都应用GCN来捕获图的依赖性,使用一些RNN或CNN对时间依赖性建模。

4.6 图生成网络 GGN

通过RNN或者GAN的方式生成网络。图生成网络的
一个有前途的应用领域是化合物合成。在化学图中﹐原子被视为节点﹐化学键被视为边·任务是发现具有某些化学和物理性质的新的可合成分子。

4.7 图强化学些 GRL

通过RNN或者GAN的方式生成网络。图生成网络的
一个有前途的应用领域是化合物合成。在化学图中﹐原子被视为节点﹐化学键被视为边·任务是发现具有某些化学和物理性质的新的可合成分子。

4.8 图对抗方法GAM

GAN的思想﹐生成器生成样本﹐分类器去判别样本。

4.9 更通用的框架

  1. MPNN∶图神经网络和图卷积/ Message Passing Neural Networks
  2. NLNN︰统一Attention/ Non-local Neural Networks
  3. GN︰统一以上/ Graph Networks

image-20230815172729741

image-20230815172736534

4.9.1 消息传递网络 MPNN

image-20230815172851410

Mt:聚合周围邻居信息

Ut:更新节点在下一层的特征表示

前面这两部分就跟GraphSAGE相似;最后,组合在一起就成了图的表示y hat。

4.9.2 非局部神经网络 NLNN

image-20230815173337490

f()求的就是节点i和相邻节点的attention系数,再求g()得出的该节点的特征,再归一化就是下一层的特征表示yi‘。

4.9.3 图神经网络 GN

image-20230815173741029

一个GN块包含三个更新函数函数φ和三个聚合函数ρ,各符号意义如下图所示:

image-20230815173909499

一个例子:Vsk:sender node;Vrk:receiver node;

image-20230815174209304

计算流程如下:

image-20230815174139184

整个算法的流程:

image-20230815174727391

MPNN应用于GN

image-20230815175350153

NLNN应用于GN

image-20230815175511573

4.10 其他图

image-20230815175928347

1. 异构图

不同节点构成的图

image-20230815180118699

2. 二部图

将图中节点分为两部分,每一边不跟自己相连

image-20230815180156598

3. 多维图

多种关系所组成的图

image-20230815180243234

4. 符号图

图之间的连接有正反符号

image-20230815180318206

5. 超图

一条边包含两个以上的节点。每个边所包含的顶点个数都是相同且为k个的,就可以被称为k阶超图,常见的图就是2阶超图。

image-20230815180426199

6. 动态图

image-20230815180457324

上面提到的图是静态的,观察时节点之间的连接是固定的。但是,在许多实际应用中,随着新节点被添加到图中,图在不断发展,并且新边也在不断出现。例如,在诸如Facebook的在线社交网络中,用户可以不断与他人建立友谊,新用户也可以随时加入Facebook。这些类型的演化图可以表示为动态图,其中每个节点或边都与时间戳关联。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/43686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

typeScript 接口和类

工具: PlayGround 接口 接口用来定义对象的结构和类型,描述对象应该具有哪些属性和方法。 它仅用于声明,而不是实现; 这对于编写可重用的代码非常有用。它可用于: 关键字是interface, 注意:它…

OSPF在广播类型的网络拓扑中DR和BDR的选举

指定路由器(DR): 一个网段上的其他路由器都和指定路由器(DR)构成邻接关系,而不是它们互相之间构成邻接关系。 备份指定路由器(BDR): 当DR出现问题,由BDR接…

redis事务对比Lua脚本区别是什么

redis官方对于lua脚本的解释:Redis使用同一个Lua解释器来执行所有命令,同时,Redis保证以一种原子性的方式来执行脚本:当lua脚本在执行的时候,不会有其他脚本和命令同时执行,这种语义类似于 MULTI/EXEC。从别…

中间件: Kafka安装部署

单机部署 下载二进制包 cd /opt/soft/archive wget http://archive.apache.org/dist/kafka/3.2.0/kafka_2.12-3.2.0.tgz tar -zxf kafka_2.12-3.2.0.tgz -C ../ cd ../kafka_2.12-3.2.0修改配置 vim config/server.propertiesadvertised.listenersPLAINTEXT://39.105.11.50:…

C++系列-函数重载

C系列-函数重载 函数重载函数重载的条件函数重载注意事项引用作为重载函数重载遇到默认参数 函数重载 函数名可以相同, 提高复用性 函数重载的条件 同一个作用域下函数名相同函数参数不同 – 参数个数不同 – 参数顺序不同 – 参数类型不同不可以使用返回值作为重…

UI和API自动化测试的失败原因

一、UI自动化失败原因: 界面发生了变化,但是脚本没有更新脚本中的等待时间太短了,导致元素还没出来就被判定为失败了网络因素,网络如果太慢的话,界面元素的显示就会滞后执行的时候突然弹出一个窗口影响了元素的定位Ag…

Python web实战之Django 的跨站点请求伪造(CSRF)保护详解

关键词:Python、Web、Django、跨站请求伪造、CSRF 大家好,今天我将分享web关于安全的话题:Django 的跨站点请求伪造(CSRF)保护,介绍 CSRF 的概念、原理和保护方法. 1. CSRF 是什么? CSRF&#…

微服务与Nacos概述-6

RBAC 模型 RBAC 基于角色的访问控制是实施面向企业安全策略的一种有效的访问控制方式。 基本思想是,对系统操作的各种权限不是直接授予具体的用户,而是在用户集合与权限集合之间建立一个角色集合。每一种角色对应一组相应的权限。一旦用户被分配了适当…

【MySQL】MySQL基础知识详解(一)

MySQL select列的别名去除重复行空值参与运算着重号查询常数显示表结构过滤数据 排序使用 ORDER BY 对查询到的数据进行排序操作。使用列的别名,进行排序二级排序 分页LIMIT 分页显示公式:(当前页数减一)*每页条数,每页…

【AIGC】 快速体验Stable Diffusion

快速体验Stable Diffusion 引言一、安装二、简单使用2.1 一句话文生图2.2 详细文生图 三、进阶使用 引言 stable Diffusion是一款高性能的AI绘画生成工具,相比之前的AI绘画工具,它生成的图像质量更高、运行速度更快,是AI图像生成领域的里程碑…

【100天精通python】Day41:python网络爬虫开发_爬虫基础入门

目录 专栏导读 1网络爬虫概述 1.1 工作原理 1.2 应用场景 1.3 爬虫策略 1.4 爬虫的挑战 2 网络爬虫开发 2.1 通用的网络爬虫基本流程 2.2 网络爬虫的常用技术 2.3 网络爬虫常用的第三方库 3 简单爬虫示例 专栏导读 专栏订阅地址:https://blog.csdn.net/…

【玩转Linux操作】crond的基本操作

🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔概述🍔命令⭐常用选项 🍔练…

软件-常用软件系统架构

目录 1.客户端-服务器架构 2.分布式架构 3.微服务架构 4.事件驱动架构 5.单体架构 6.混合架构 当我们谈论系统架构时,可以将其比喻为一座房子的设计和结构,想象一下你计划建造一座豪华别墅,你需要考虑各种因素:如房子的大小…

linux下常见编译问题

linux下常见编译问题 linux-cmake静态编译查看系统支持的的libc版本查看程序需要的动态链接库查看程序需要的libc版本freebsd下 linux-cmake静态编译 CMakeLists.txt 添加 set(CMAKE_EXE_LINKER_FLAGS "-static")ELF 64-bit LSB executable, AMD x86-64, version 1…

【微服务】一文了解 Nacos

一文了解 Nacos Nacos 在阿里巴巴起源于 2008 2008 2008 年五彩石项目(完成微服务拆分和业务中台建设),成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。 随着云计算兴起, 2018 2018 20…

编程练习(3)

一.选择题 第一题: 函数传参的两个变量都是传的地址,而数组名c本身就是地址,int型变量b需要使用&符号,因此答案为A 第二题: 本题考察const修饰指针变量,答案为A,B,C,D 第三题: 注意int 型变…

13---内嵌HTML和React

虽然Markdown本身不支持内嵌HTML和React&#xff0c;但可以在Markdown文档中直接插入HTML代码和React组件。 一、在markdown中内嵌HTML 在Markdown中&#xff0c;你可以使用HTML标签来实现更复杂的样式和布局。例如&#xff0c;你可以使用<div>标签来创建一个容器&#…

算法与数据结构(五)--树与二叉查找树

符号表的增删查操作&#xff0c;随着元素个数N的增多&#xff0c;其耗时也是线性增多的&#xff0c;时间复杂度都是O(n)&#xff0c;为了提高运算效率&#xff0c;我们学习树这种数据结构。 目录 一.树的基本定义 二.树的相关术语 三.二叉树的基本定义 四.二叉树的链表实现…

Thinkphp定义位置常量

ThinkPHP 是一个流行的 PHP 开发框架&#xff0c;它提供了丰富的功能和便捷的开发方式。在 ThinkPHP 中&#xff0c;我们可以使用常量来定义一些通用的配置信息或路径&#xff0c;以便于代码的维护和管理。在本文中&#xff0c;我们将探讨 ThinkPHP 中定义位置常量的作用和用法…

leetcode 279. 完全平方数

2023.8.18 与零钱兑换相似&#xff0c;本题属于完全背包问题&#xff1a;完全平方数为物品&#xff0c;整数n为背包。 直接上代码&#xff1a; class Solution { public:int numSquares(int n) {vector<int> dp(n1 , INT_MAX);dp[0] 0;for(int i1; i*i<n; i){for(in…