【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波
【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波
文章目录
- 【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波
- 1. 前言
- 2. 符号说明
- 3. 三种滤波
- 3.1 全通滤波
- 3.2 低通滤波
- 3.2.1 平滑信号分析
- 3.2.2 广义拉普拉斯平滑滤波器
- 3.3 高通滤波
- 4. 总结
1. 前言
GCN:图卷积神经网络。它不同于只用于网格结构数据的传统模型:LSTM,CNN等。是一种处理广义拓扑图结构的数据,深入挖掘其特征和规律的工具。(社交网络,通信网络,蛋白质分子等),这里也捎带补充一下广义拓扑图的概念:将实体抽象成与大小形状无关的点,点之间连接成线形成的图。GCN的发展史如下:
- 2005年,Marco Gori等人发表了论文,首次提出了GNN的概念,在此之前,处理图数据的方法是在数据的预处理阶段将图转换为用一组向量表示。这种处理方法会丢失很多的结构信息,得到的结果会严重依赖于对图的预处理,GNN的提出能够将学习过程直接架构在图数据之上。
- 2009年,进一步的阐述了图神经网络,提出了一种监督的方法来训练GNN,但是,早期的研究都是以迭代的方式,通过RNN传播邻居消息,直到达到稳定的固定状态来学习节点的表示。这种计算消耗极大。
- 2012年,CNN在CV上取得了很好的成绩,于是开始将卷积应用在GNN中。
- 2013年,Bruna等人提出了GCN,这时候的GCN是基于频域卷积的。后来又有很多人对它进行改进,拓展,但是频域卷积在计算时需要同时处理整个图,并且需要承担矩阵分解时很高的时间复杂度。
- 2016年,Kipf等人将频域卷积的定义简化,使图卷积操作能够在空域进行,极大提高了图卷积模型的计算效率,同时,由于卷积滤波的高效性,GCN模型在很多图数据相关任务上取得了很好的成绩。
- 之后的近几年里,想频域卷积提出的那时候一样,更多的基于空域GCN的变体被开发出来。这类方法都统称为GNN。各种GNN模型,大大加强了对各类图数据的适应性。
- 2018年,该领域不约而同地同时发表3篇综述论文。
- 2019年,各大顶级学术会议上GNN占据很大份额。
将来GNN的趋势会只增不减,只要我们好好利用它,相信能够很好的收获。
2. 符号说明
图数据可以表示为具有节点集 V 和边集 E 的图G =(V,E),其中点集V,n=|V|是节点数。这些节点是由该特征来描述的。矩阵X∈Rn×f^{n×f}n×f,其中 f 为节点特征的维数。G的图结构可以用邻接矩阵A∈Rn×n^{n×n}n×n来描述,其中,如果节点 i 和节点 j 之间有一条边,则为AijA_{ij}Aij = 1,否则为0。对角度矩阵记为 D=diag(d1,···,dn),其中di=∑jAijd_i =\sum_j A_{ij}di=∑jAij。我们使用A~=A+I\tilde A=A+IA~=A+I 来表示添加了自循环的邻接矩阵和D~=D+I\tilde D=D+ID~=D+I。传统的图拉普拉斯矩阵为:L=D~−A~L = \tilde D - \tilde AL=D~−A~。然后归一化的邻接矩阵是A~^=D~−1/2A~D~−1/2\hat{\tilde{A}} = \tilde D ^{−1/2}\tilde A \tilde D ^{−1/2}A~^=D~−1/2A~D~−1/2。相应地,L~=I−A~^\tilde L = I − \hat{\tilde{A}}L~=I−A~^是归一化对称正半定图拉普拉斯矩阵。
3. 三种滤波
III、A~^\hat {\tilde{A}}A~^、L~\tilde LL~,分别对应有全通、低通、高通滤波的算子(图卷积核/滤波器)**
3.1 全通滤波
- 公式为:Zall=IXZ_{all} = IXZall=IX
全通滤波也即所有的信号都可以通过,即不对图信号做处理。
3.2 低通滤波
- 公式为:Zlow=A~^XZ_{low} = \hat {\tilde{A}} XZlow=A~^X
低通滤波本质上就是为了使图上的特征变得光滑。下面进行解释:
图学习的基本假设是,图上相邻的节点应该是相似的,因此在图域上的节点特征应该是平滑的。本节首先解释了平滑的意思;然后给出了广义拉普拉斯平滑滤波器的定义,并证明了它是一个平滑算子;最后回答了如何设计一个最优的拉普拉斯平滑滤波器。
3.2.1 平滑信号分析
从图信号处理的角度来解释平滑开始。以 x∈Rnx\in R^nx∈Rn 作为图上的信号,节点 iii 的信号就是一个标量,也就是xix_ixi。滤波矩阵为HHH,为了测量图信号xxx的平滑度,可以计算出图的拉普拉斯算子 LLL (L=D−AL = D - AL=D−A)和 xxx 上的瑞利商:

这个商实际上是xxx的标准化方差分数。如上所述,平滑信号应该在相邻节点上分配相似的值。因此,瑞利商越低,则图上的信号越平滑。
考虑图拉普拉斯L=UΛU−1L=UΛU^{−1}L=UΛU−1的特征分解,其中U∈Rn×nU \in R^{n\times n}U∈Rn×n包含特征向量,Λ=diag(λ1,λ2,⋅⋅⋅,λn)Λ = diag(λ1,λ2,···,λn)Λ=diag(λ1,λ2,⋅⋅⋅,λn)是特征值的对角矩阵。随后可以给出了特征向量 ui∈Uu_i \in Uui∈U的光滑性:

上式表示较平滑的特征向量与较小的特征值相关联,即频率较低。因此,基于等式基于LLL分解信号xxx基于公式(1)和(2):

其中pip_ipi是特征向量uiu_iui的系数。那么xxx的平滑度就变成了:

因此,为了获得更平滑的信号,滤波器的目标是:在保留低频分量的同时,滤掉高频分量。由于其高计算效率和令人信服的性能,拉普拉斯平滑滤波器经常被用于这一目的(保留低频分量的同时,滤掉高频分量)。
3.2.2 广义拉普拉斯平滑滤波器
广义拉普拉斯平滑滤波器定义为:

其中kkk是实值的。采用HHH作为滤波器矩阵,滤波后的信号 x~\tilde{x}x~ 被表示为:

因此,为了实现低通滤波,频率响应函数1−kλ1−kλ1−kλ 应该是一个递减和非负函数。因为需要使特征值 λ 越大,对应的p′ip'ip′i系数就越小,这样可以使得图上的瑞丽商变小,进而光滑,进而实现低通(频率低的特征通过,频率低也就意味着光滑)。
注意,该过滤器是不含有参数的。
3.3 高通滤波
- 公式为:Zhigh=L~XZ_{high} = \tilde L XZhigh=L~X
说完低通滤波,高通滤波则与之相反。即不对这个函数进行限制。
此时,上述的公式(6)就变成了:
x~=Hx=UΛU−1Up=∑i=1nλipiui\tilde x = Hx = UΛU^{-1}Up = \sum^{n}_{i=1} λ_i p_i u_ix~=Hx=UΛU−1Up=∑i=1nλipiui
此时,uiu_iui 对应的图信号频率越高,其特征值 λ 越大,这样频率也就越大了,从而图上高频信号变多,进而实现了高通。
4. 总结
自己的理解罢了,可能不太到位,有什么想法,直接私信我就好!
相关文章:
【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波
【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波 文章目录【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波1. 前言2. 符号说明3. 三种滤波3.1 全通滤波3.2 低通滤波3.2.1 平滑信号分析3.2.2 广义拉普拉斯平滑滤波器3.3 高通滤波4. 总结1. 前言 GCN&…...
python操作mysql数据库详解
使用Python操作MySQL数据库 MySQL是一种关系型数据库管理系统,它可以用来存储和管理大量的数据。之前介绍了大部分主流数据库,今天将介绍如何使用Python来操作MySQL数据库。 安装MySQL 首先,我们需要安装MySQL服务器,可以从MyS…...
netty群聊系统
1设计思路:启动一个服务端,多个客户端第一个客户端启动时,会告诉服务器上线了第二个客户端启动时,告诉服务器上线,并且通知第一个启动的客户端第三个客户端启动时,告诉服务器上线,并且通知第一个…...
Android 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 前言 大家好,我是小彭。 SharedPreferences 是 Android 平台上轻量级的 K-V 存储框架,亦是初代 K-V 存储框架,至今被很多应用沿用。 有的…...
在windows中使用tomcat搭建Jenkins
1、 准备环境:JDK JDK官网下载:https://download.oracle.com/java/19/latest/jdk-19_windows-x64_bin.msi 2、 tomcat包 tocat官网下载:https://tomcat.apache.org/download-90.cgi 3、 Jenkins.war包 Jenkins官网下载:https://mi…...
Linux系统
linux系统 世界上最重要的服务器端操作系统。 创建新目录 mkdir app mkdir -m 目录权限 目录名 创建有权限的目录名。 创建一个空白文件 touch app.txt创建一个文件。 cat创建一个文件。 vi/vim创建一个文件。 nano创建一个文件。 truncate创建一个文件。 pwd查看当前目录。 rm…...
Mel Frequency Cepstral Coefficients (MFCCs)
wiki里说 在声音处理中,梅尔频率倒谱( MFC ) 是声音的短期功率谱的表示,基于非线性梅尔频率标度上的对数功率谱的线性余弦变换。 倒谱和MFC 之间的区别在于,在 MFC 中,频带在梅尔尺度上等距分布,这比正常频谱中使用的线…...
第七讲---贪心(上课)
1.股票买卖 一、贪心 考虑一种方案,在每次上升的前一天购入股票,并在上升后的当天卖出的方案 if (w[i] > w[i - 1])res w[i] - w[i - 1];接下来证明该贪心思路得出的方案即是最优解。 (1)证明贪心解 ≥ 最优解: …...
计算机如何思考与图灵完备
图灵完备是针对一套数据操作规则而言的概念,数据操作规则可以是一门编程语言,也可以是计算机实现里面的指令集,比如C/C++是图图灵完备的,通用CPU也是图灵完备的,但是GPU却不一定是图灵完备的。说白了图灵完备定义了一套规则,当这套规则可以实现图灵迹模型里的全部功能时,…...
惠普LaserJet M1005 MFP报错b2
故障现象: 惠普LaserJet M1005 MFP开机后直接报b2错误; 检测维修: 故障大意是:机器的硬件可能出现点突变,此问题建议联系当地维修中心进行处理。...
网络协议(TCP/IP)
目录一、网络分层模型二、OSI模型三、网络传输原理四、TCP/IP1、TCP/IP 原理2、TCP 三次握手/四次挥手3、Http协议和TCP/IP的区别五、HTTP原理六、HTTPS原理七、CDN原理一、网络分层模型 互联网的本质就是一系列的网络协议,最早由ISO国际组织定义为7层网络参考模型…...
2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书
2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书2023河南省第二届职业技能大赛郑州市选拔赛“网络安全” 项目比赛样题任务书A模块基础设施设置/安全加固(200分)A-1:登录安全加固(Windows, Linux&#…...
6、流程控制
目录一、if二、switch三、for四、break与continue五、goto与Label一、if if使用:逻辑表达式成立,就会执行{}里的内容;逻辑表达式不需要加() if 5 > 9 {fmt.Println("5>9") }if句子中允许包含1个(仅1个)分号:在分…...
Linux中最基本常见命令总结
❤❤💛💛💚💚💙💙💜💜您的认可是对我最大的帮助💜💜💙💙💚💚💛💛❤❤ 🤎&…...
Python学习-----模块2.0(常用模块之时间模块-->time)
目录 前言: time简介 导入模块 1.时间戳 2.时间元组 (1)把时间戳转换为元组形式 (2)元组转换为时间戳输出 (3)把元组转换为格式化时间 (4)把时间戳转换为格式化时间…...
XXL-JOB分布式任务调度框架(二)-策略详解
文章目录1.引言2.任务详解2.1.执行器2.2.基础配置3.路由策略(第一个)-案例4.路由策略(最后一个)-案例5.轮询策略-案例6.随机选取7.轮询选取8.一致性hash9.最不经常使用 (LFU)10.最近最久未使用(LRU)11.故障转移12.忙碌转移13.分片广播任务14.父子任务15.…...
JAVA练习54-最小栈
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、题目-最小栈 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示:这里可以添加本文要记录的大概内容: 2月18日练习内容…...
Redis-哨兵模式以及集群
在开始这部分内容之前需要先说一下复制功能,因为这是Redis实现主从数据同步的实现方式。复制功能如果存在两台服务器的话,我们可以使用redis的复制功能,让一台服务器去同步另一台服务器的数据。现在我启动了两台redis服务器,一个端…...
过滤器和监听器
1、过滤器Filter 作用是防止SQL注入、参数过滤、防止页面攻击、空参数矫正、Token校验、Session验证、点击率统计等等; 使用Filter的步骤 新建类,实现Filter抽象类;重写init、doFilter、destroy方法;在SpringBoot入口中添加注解…...
Acwing 第 91 场周赛
Powered by:NEFU AB-IN B站直播录像! Link 文章目录Acwing 第 91 场周赛A AcWing 4861. 构造数列题意思路代码B AcWing 4862. 浇花题意思路代码C AcWing 4863. 构造新矩阵题意思路代码Acwing 第 91 场周赛 A AcWing 4861. 构造数列 题意 略 思路 将每个数的每一位…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
在软件开发中正确使用MySQL日期时间类型的深度解析
在日常软件开发场景中,时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志,到供应链系统的物流节点时间戳,时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库,其日期时间类型的…...
51c自动驾驶~合集58
我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留,CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制(CCA-Attention),…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
Java面试专项一-准备篇
一、企业简历筛选规则 一般企业的简历筛选流程:首先由HR先筛选一部分简历后,在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如:Boss直聘(招聘方平台) 直接按照条件进行筛选 例如:…...
Device Mapper 机制
Device Mapper 机制详解 Device Mapper(简称 DM)是 Linux 内核中的一套通用块设备映射框架,为 LVM、加密磁盘、RAID 等提供底层支持。本文将详细介绍 Device Mapper 的原理、实现、内核配置、常用工具、操作测试流程,并配以详细的…...
算法笔记2
1.字符串拼接最好用StringBuilder,不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
