【PYG】节点特征合并和节点特征提取

在图神经网络(Graph Neural Networks, GNN)中,节点特征合并与节点特征提取是两个关键步骤。以下是对这两个步骤的简要解释和常用方法:

节点特征合并

节点特征合并是指在图神经网络中,将节点的自身特征与其邻居节点的特征进行组合,以更新节点的特征表示。常见的特征合并方法包括以下几种:

  1. 求和(Sum):将节点的自身特征与其邻居节点的特征相加。
  2. 平均(Mean):将节点的自身特征与其邻居节点的特征取平均值。
  3. 最大值(Max):取节点自身特征与其邻居节点特征的逐元素最大值。
  4. 注意力机制(Attention):使用注意力机制为每个邻居节点分配不同的权重,然后加权求和邻居节点的特征。

公式表示:
h i ( k + 1 ) = AGGREGATE ( { h j ( k ) : j ∈ N ( i ) } ∪ { h i ( k ) } ) h_i^{(k+1)} = \text{AGGREGATE} \left( \{h_j^{(k)} : j \in \mathcal{N}(i)\} \cup \{h_i^{(k)}\} \right) hi(k+1)=AGGREGATE({hj(k):jN(i)}{hi(k)})
其中, h i ( k ) h_i^{(k)} hi(k) 表示节点 i i i 在第 k k k 层的特征表示, N ( i ) \mathcal{N}(i) N(i) 表示节点 i i i的邻居节点集合, AGGREGATE \text{AGGREGATE} AGGREGATE表示聚合函数,如求和、平均等。

节点特征提取

节点特征提取是指在图神经网络中,通过若干层的特征合并操作,最终得到节点的嵌入表示(embedding),这些表示可以用于节点分类、图分类、链接预测等任务。以下是几种常见的图神经网络模型及其节点特征提取方法:

  1. Graph Convolutional Network (GCN):通过卷积操作进行特征提取,公式为:
    H ( k + 1 ) = σ ( D ~ − 1 / 2 A ~ D ~ − 1 / 2 H ( k ) W ( k ) ) H^{(k+1)} = \sigma ( \tilde{D}^{-1/2} \tilde{A} \tilde{D}^{-1/2} H^{(k)} W^{(k)} ) H(k+1)=σ(D~1/2A~D~1/2H(k)W(k))
    其中, A ~ \tilde{A} A~ 是加入自环后的邻接矩阵, D ~ \tilde{D} D~ A ~ \tilde{A} A~ 的度矩阵, H ( k ) H^{(k)} H(k) 是第 k k k 层的节点特征矩阵, W ( k ) W^{(k)} W(k)是第 k k k 层的权重矩阵, σ \sigma σ 是激活函数。

  2. GraphSAGE:通过采样邻居节点,并对其特征进行聚合:
    h i ( k + 1 ) = σ ( W ( k ) ⋅ AGGREGATE ( { h i ( k ) } ∪ { h j ( k ) : j ∈ sample ( N ( i ) ) } ) ) h_i^{(k+1)} = \sigma \left( W^{(k)} \cdot \text{AGGREGATE} \left( \{h_i^{(k)}\} \cup \{h_j^{(k)} : j \in \text{sample}(\mathcal{N}(i))\} \right) \right) hi(k+1)=σ(W(k)AGGREGATE({hi(k)}{hj(k):jsample(N(i))}))

  3. Graph Attention Network (GAT):通过自注意力机制为每个邻居节点分配不同的权重:
    h i ( k + 1 ) = σ ( ∑ j ∈ N ( i ) ∪ { i } α i j W ( k ) h j ( k ) ) h_i^{(k+1)} = \sigma \left( \sum_{j \in \mathcal{N}(i) \cup \{i\}} \alpha_{ij} W^{(k)} h_j^{(k)} \right) hi(k+1)=σ(jN(i){i}αijW(k)hj(k))
    其中, α i j \alpha_{ij} αij是节点 i i i 和节点 j j j 之间的注意力权重。

这些方法在节点特征提取过程中,通过逐层传播和聚合邻居节点的特征,最终得到每个节点的全局特征表示。这些表示可以进一步用于各种图相关的机器学习任务。

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

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

相关文章

LeetCode 1327, 383, 236

目录 1327. 列出指定时间段内所有的下单产品题目链接表要求知识点思路代码 383. 赎金信题目链接标签思路代码 236. 二叉树的最近公共祖先题目链接标签思路代码 1327. 列出指定时间段内所有的下单产品 题目链接 1327. 列出指定时间段内所有的下单产品 表 表Products的字段为…

matlab 干涉图仿真

目录 一、算法概述1、干涉图2、生成步骤 二、代码实现三、结果展示 本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法概述 1、干涉图 干涉图是两束或多束相干光波相遇时,它们的振…

SQL中使用NEXTVAL获取序列值

SQL中使用NEXTVAL获取序列值 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在关系型数据库中,序列(Sequence)是一种对象&a…

【软件测试】Selenium自动化测试框架 | 相关介绍 | Selenium + Java环境搭建 | 常用API的使用

文章目录 自动化测试一、selenium1.相关介绍1.Selenium IDE2.Webdriverwebdriver的工作原理: 3.selenium Grid 2.Selenium Java环境搭建3.常用API的使用1.定位元素2.操作测试对象3.添加等待4.打印信息5.浏览器的操作6.键盘事件7.鼠标事件8.定位一组元素9.多层框架定…

[笔记] 卷积03 - 运算的对称性 时域构建高通滤波器的失败尝试

1.卷积运算具备足够好的对称性 1.在计算卷积时,两个函数的位置是可以颠倒的,对吧? 在卷积运算中,确实可以对参与卷积的两个函数进行颠倒。这是因为卷积的定义是通过一个函数与另一个函数的翻转后的形式进行积分运算。具体来说&a…

DPDK概述

文章目录 1. DPDK概述1.1 DPDK 内存管理Mbuf单帧结构:1.2 DPDK内核驱动 igb_uio驱动1.3 DPDK源码下载方式1.4 pktgen源码下载方式1.5 DPDK相关名词解释 1. DPDK概述 Intel DPDK全称Intel Data Plane Development Kit,是Intel提供的数据平面开发工具集,为…

第十三章 Nest Middleware

在上一章我们了解到Nest 并不直接依赖Express 可以切换到别的http 请求处理库 创建项目: nest new middleware-test -p npm创建 middleware : nest g middleware test --no-spec --flat这时候可以看到 req 和 res 的类型都是为 any类型 所以并不知道使…

算法力扣刷题记录 二十八【225. 用队列实现栈】

前言 栈和队列篇。 记录 二十八【225. 用队列实现栈】 一、题目阅读 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void p…

centos7 安装redis

在 CentOS 7 上配置 Redis 5 的步骤如下: 1. 安装依赖 Redis 是由 C 语言开发的,因此在安装之前需要确保服务器已经安装了 gcc。你可以通过以下命令查看是否已经安装: gcc -v 如果没有安装,可以通过以下命令安装: yu…

实验四 SQL的数据定义语句

题目 通过SQL语句创建名为ecommerce1的数据库:CREATE DATABASE ecommerce1 2、在数据库ecommerce1中练习模式的创建和删除语句(如给用户li创建一个学生管理模式“S-T”)(需要先添加一个用户li) 3、在数据库ecommerce1中…

7月4号直播预告 | 全国产EtherCAT运动控制器ZMC432HG及其EtherCAT总线使用

EtherCAT运动控制边缘控制器是工业互联网的关键组件之一,结合丰富的运动控制功能、实时数据采集、处理和本地计算等,具备高度灵活的可编程性和出色的运动控制性能,为运动控制协同工业互联网应用带来巨大市场潜力,同时也使其成为企…

【必会面试题】快照读、当前读是什么?如何理解

目录 1. 当前读(Current Read)2.快照读(Snapshot Read)3.总结流程图 快照读和当前读是MySQL数据库的重要机制,也是高频的面试题。首先我们要知道以下几个概念。 缓存机制:缓存是系统中用于存储经常访问的数据的内存空间…

中英双语介绍美国的州:北达科他州(North Dakota)

中文版 北达科他州简介 北达科他州(North Dakota)位于美国中西部的北部,以其广袤的草原、丰富的农业资源和石油产业而闻名。以下是对北达科他州的详细介绍,包括其地理位置、人口、经济、教育、文化和主要城市。 地理位置 北达…

ID3算法决策树

步骤: 先计算出信息量;信息熵;信息增量; 再比较信息增量的大小,确定分类依据。 信息量: 信息熵: 信息增益:

Android View滑动冲突解决方案

文章目录 前言1. 滑动冲突2. 解决方案2.1 外部解决法2.2 内部拦截法 参考资料 前言 本文需要读者对View事件分发的流程有基本的了解,如果还未完全理解事件分发流程的,需要先学习相关部分内容,这部分可以参考我的上一个博客: And…

Postman使用教程

传统接口风格 RESTful风格 使用Postman完成测试用例目标: Postman教程 (1)准备工作,下载Postman新建 (2)登录接口调试-获取验证码 (3)登录接口调试-登录 (4)…

线程的联合

当前线程邀请调用方法的线程优先执行,在调用方法的线程执行结束之前,当前线程不能再次执行。线程A在运行期间,可以调用线程B的join()方法,让线程B和线程A联合。这样,线程A就必须等待线程B执行完毕后,才能继…

Mysql查询IFNULL和想象的不一样

select sum(ifnull(a,0)) aaa,ifnull(sum(a),0) bbb from (select g.goodsid a from goods g where g.goodsid 601 ) tmp #注意 goodsid 601 的不存在 ​​​ 返回的结果和想象中不同,解释如下 在您SQL查询中,创建了一个子查询(别名为tmp&a…

【深度解析】滑动窗口:目标检测算法的基石

标题:【深度解析】滑动窗口:目标检测算法的基石 目标检测是计算机视觉领域的一个核心任务,旨在识别图像中所有感兴趣的目标,并确定它们的位置和大小。滑动窗口方法作为目标检测中的一种传统技术,虽然在深度学习时代逐…

Linux 操作系统详解

前言 Linux 是一个强大且开源的操作系统,以其稳定性、灵活性和安全性广受欢迎。它在个人计算机、服务器、嵌入式系统以及超级计算机等多个领域得到广泛应用。本文将从多个角度深入探讨 Linux 的历史、架构和主要特性,为初学者和专业人士提供全面的理解和…