图神经网络 GNN 入门

news2024/11/17 17:28:45

参考链接

A Gentle Introduction to Graph Neural Networks (distill.pub)

零基础多图详解图神经网络(GNN/GCN)【论文精读】_哔哩哔哩_bilibili

目录

图的基本构成

图的表示方法

图的示例

图网络的基本任务

图网络的处理

影响图网络效果的超参数

图网络的评价指标


图的基本构成

边又可分为有向边和无向的 

 顶点、边和全局(master node)可能有多个属性,如下图

图的表示方法

邻接矩阵法:

  • 矩阵的的横纵坐标是所有的顶点,对应两个点之间记录边的情况(边的权重、边的指向)等;
  • 有n和顶点,邻接矩阵就是 n*n 的;
  • 如果 n 很大,对应的图的邻接矩阵也会很大
  • 邻接矩阵通常是很稀疏的,想要高效存储同时做高效计算很难

邻接列表:

  • 维护三个矩阵,分别存储顶点属性、边属性和边的关系
  • 只存相连接的边

图的示例

下面给出了一些可建模成图网络的数据,除了上面的图片,自然语言文本、人物关系也可以建模成图网络

注意,一个数据可能对应不同的邻接矩阵

一些常见图网络的数据规模

图网络的基本任务

图网络的输入是一个图网络,输出是一个拓扑结构相同的图网络;输入输出的属性可能会有所不同

1、全局级别的,如给定一个分子式的图网络结构,预测该分子的属性(气味、颜色等,或者该图网络中是否包含两个环)

2、节点级的,如对图网络中的节点做分类(人物属性预测)

3、边级别的,如对图网络中的边进行预测(人物关系预测)

图网络的处理

上面说过,图网络的输入是一个图网络,输出是一个拓扑结构相同的图网络;输入输出的属性可能会有所不同

那基本的方法就是对顶点、边和全局属性分别单独做变换(过全连接层),得到输出的图

 上面的图网络处理只考虑了,也可以对输入的缺失属性做补全,如用顶点预测补全边,或者用边预测补全顶点;

或者对顶点和边之间的信息做融合后再过券还能连接网络

影响图网络效果的超参数

跟其他基于学习的模型一样,受到下列参数的影响

  1. 学习率(learning rate):学习率决定了每次参数更新的步长大小,过大的学习率会导致模型不稳定过小的学习率会导致收敛速度慢

  2. 批大小(batch size):批大小决定了每次训练时输入模型的样本数量,过小的批大小会导致模型难以优化,过大的批大小会占用过多计算资源

  3. 正则化项(regularization):在损失函数中添加正则化项来限制模型的权重,防止过拟合

  4. 网络层数(number layers):神经网络层数的选择需要考虑模型的复杂度和有效性,过多的层数会增加训练难度和计算开销,过少的层数会影响模型表达能力

  5. 激活函数(activation function):激活函数用来引入非线性因素,提高模型的表达能力和性能,不同的激活函数适用于不同的场景

  6. 优化器(optimizer):优化器决定了参数更新的方式,不同的优化器适用于不同的任务,如 Adam、SGD 等

  7. 模型结构(model architecture):模型结构的选择需要综合考虑数据特征和任务需求,如图卷积网络、深度学习网络等

  8. 正则化项(regularization):在损失函数中加入正则化项,如 L1 或 L2 正则项等,可有效防止过拟合

  9. 随机正则化策略:通过类似 dropout 的随机正则化方式,可以减少 GNN 的过拟合风险

同时,图网络还受到下列图相关的参数的影响

  1. 图结构的表示方式:图可以用多种方式来表示,例如邻接矩阵、邻接表、边列表等。选择适合特定任务的图构表示方式可以提高模型的效果

  2. 图卷积神经网络的层数和跨层连接方式:GCN可根据具体任务的特点设计合适的层数和跨层连接方式

  3. 聚合方式(aggregation):对于每个节点,GCN采用邻域节点的特征值来计算新的节点特征。这里可以采用不同的聚合方式,例如平均聚合、最大聚合等

  4. 权重共享策略:GCN中可以在同节点间共享权重,这种策略可以有效减少需要训练的参数数量

图网络的评价指标

  1. 准确率、召回率,和通过混淆矩阵算得的 F1 Score 等

  2. AUC-ROC:评估二分类模型的准确性,可以评估模型在不同阈值下的性能。

  3. 平均精度均值(mAP):用于评估排序模型(比如谱聚类、社区发现等)的性能。

  4. 正确率代价曲线(Precision-Recall curve):显示不同阈值下的模型的准确率和召回率,可以用于评估模型性能。

  5. 迁移学习效果:用于评价将已经学习过的知识迁移到新任务的准确性。

  6. 训练时间和模型大小:对实时应用、移动设备等有限资源的场景,需要考虑模型大小和训练时间等因素。

下一篇介绍异构图、超图等其他图

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

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

相关文章

机器人参数化建模与仿真,软体机器人

专题一:机器人参数化建模与仿真分析、优化设计专题课程大纲 机器人建模基础 机器人运动学基础几何运动学闭环解解析法建模运动学MATLAB脚本文件编写(封闭解、构型绘制)、工具箱机器人工作空间(离散法、几何法)建模工作…

客户自助服务第一步:在线客服、在线帮助中心

随着互联网的快速发展,越来越多的企业开始重视客户体验,不断提升客户服务水平。其中,客户自助服务是提高客户满意度的重要途径之一。本文将从在线客服和在线帮助中心两个方面介绍。 客户自助服务的第一步 一、在线客服 在线客服是指企业通…

【linux】探索Linux命令行中强大的网络工具:netstat

文章目录 前言一、netstat是什么?二、使用方法1.常用参数2.实例演示3.更多功能 总结 前言 在Linux命令行中,有许多实用的工具可帮助我们管理和监控网络连接。其中一个最重要的工具就是netstat,它提供了丰富的网络连接和统计信息,…

怎么压缩PDF文件,这三个方便帮你一键压缩!

PDF文件是一种广受欢迎的版式文件格式,由Adobe公司发明,具有高度的兼容性,无论在不同的软件和设备中打开,都不会影响页面的排版。如今,人们常常上网搜索并下载需要的资料,例如电子书和PPT模板,这…

合宙Air724UG Cat.1模块硬件设计指南--USB接口

USB接口 简介 USB (Universal Serial Bus,通用串行总线) 是一种新兴的并逐渐取代其他接口标准的数据通信方式,自推出以来,已成功替代串口和并口,成为21世纪大量计算机和智能设备的标准扩展接口和必备接口之一,USB 具有…

HarmonyOS学习路之开发篇—Java UI框架(JS FA调用Java PA)

JS FA调用Java PA机制 使用兼容JS的类Web开发范式的方舟开发框架提供了JS FA(Feature Ability)调用Java PA(Particle Ability)的机制,该机制提供了一种通道来传递方法调用、处理数据返回以及订阅事件上。 当前提供Ab…

从零开发短视频电商 Jmeter插件安装和常用插件

Jmeter插件安装和常用插件 插件安装方式 一种是手动安装各种插件,下载对应的jar包,放到lib\ext目录下就可以使用了。另一种是通过漂亮的 UI ,jmeter 插件管理器Plugins Manager可以方便的管理其他插件的下载和更新。安装一次插件管理器&…

1设计模式

面试专题-设计模式 前言 在平时的开发中,涉及到设计模式的有两块内容,第一个是我们平时使用的框架(比如spring、mybatis等),第二个是我们自己开发业务使用的设计模式。 面试官一般比较关心的是你在开发过程中&#…

服务器性能扩展后,重启EasyDSS但无法运行是什么原因?

EasyDSS支持一站式的上传、转码、直播、回放、嵌入、分享功能,具有多屏播放、自由组合、接口丰富等特点。平台可以为用户提供专业、稳定的直播推流、转码、分发和播放服务,全面满足超低延迟、超高画质、超大并发访问量的要求。在推流方面,Eas…

seldom 实战技巧

seldom 是我一直在维护的自动化测试框架。目前GitHub已经 500 star。 最近在项目中使用Seldom poium 编写自动化测试用例。接下来,我就分享一些使用技巧。 如何参数化测试用例 网站的首页,如上面的导航。于是,开始利用poium编写元素定位。…

进程间通信 + 消息队列

进程间通信 每个进程有各自不同的用户地址空间,任何一个进程的全局变量在另一个进程中都看不到,所以进程之间要交换数据必须通过内核,在内核中开辟一块缓冲区,进程1吧数据从用户空间考到内核缓冲区,进程2再从内核缓冲…

android studio自带手机投屏功能

android studio自带手机投屏功能 最新版的android studio自带有手机投屏功能,设置后直接在android studio里面就可以“实时”投屏并操控手机。 (1)File - Settings - Experimental ,打开android物理实体设备镜像开关:…

C语言之指针详解(8)

目录 本章重点 1. 字符指针 2. 数组指针 3. 指针数组 4. 数组传参和指针传参 5. 函数指针 6. 函数指针数组 7. 指向函数指针数组的指针 8. 回调函数 9. 指针和数组面试题的解析 指针和数组笔试题解析 #include<stdio.h> int main() {//一维数组int a[] { 1,2,…

ABB机器人与西门子IO通讯

ABB与西门子 Profinet IO通讯 &#xff08;888-3&#xff09; 设定步骤&#xff1a; ABB 1、IP地址 &#xff1a;192.168.0.2 IPsetting 2、站名 ABB Industrial Network -->PROFINET 修改站名 3、字节大小 8字节 PROFINET InternalDevice 4、发送接受区域 sign GO1 组输出1…

CVE-2023-0386:Overlay 文件系统 copy-up 本地提权漏洞分析

漏洞公告 [影响范围] Linux 内核版本&#xff1a;v5.11-rc1 ~ v6.2-rc5 [漏洞描述] A flaw was found in the Linux kernel, where unauthorized access to the execution of the setuid file with capabilities was found in the Linux kernel’s OverlayFS subsystem in h…

【备战秋招】每日一题:5月13日美团春招第二题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检&#xff0c;可以查看我的算法学习博客第二题-南北对决 https://codefun2000.com/p/P1138 在线评测链接:P1287 题目描述 南派北派武林大会开始了。本次攻擂赛有 n 名武者参加&#xff0c;其中按顺序第 i 名武者获得战斗力属性为 i 。每名武者分来自南派或…

Opencv-C++笔记 (8) : opencv-颜色模型与转换

文章目录 一、RGB颜色模型二、YUV颜色模型三、 HSV(HSB)颜色模型四、LAB颜色模型五、GRAY颜色模型六、CMYK颜色模式七、GRAY模型八、不同颜色的转换 一、RGB颜色模型 前面对于RGB颜色模型已经有所介绍&#xff0c;该模型的命名方式是采用三种颜色的英文首字母组成&#xff0c;分…

java【抽象类与接口】

抽象类与接口 1 抽象类1.1 定义与使用1.2 抽象类和抽象方法使用原则 2 接口2.1 定义2.2 使用规则 3. JDK中内置接口3.1 Comparable接口3.2 Cloneable接口 抽象类与接口的对比 前言&#xff1a;如果强制要求子类必须覆写一些方法&#xff0c;则就会用到抽象类和抽象方法 1 抽象类…

【备战秋招】每日一题:4月29日美团春招第四题:题面+题目思路 + C++/python/js/Go/java带注释

为了更好的阅读体检&#xff0c;为了更好的阅读体检&#xff0c;&#xff0c;可以查看我的算法学习博客第四题-SSTF算法 在线评测链接:P1269 题目内容 塔子哥是一名磁盘维修师&#xff0c;他的工作是检查和修复损坏的磁盘。为了提高工作效率&#xff0c;他使用了一种最短服务…

SpringBoot解决跨域的问题

产生跨域问题的原因是浏览器的同源策略&#xff0c;所谓同源是指&#xff1a;域名&#xff0c;协议&#xff0c;端口相同。如果不同&#xff0c;将会出现跨域问题。 一、创建项目 创建两个项目&#xff0c;一个命名为provider提供服务&#xff0c;一个命名为consumer消费服务…