【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波

news2024/11/15 8:29:42

【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波

文章目录

  • 【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波
    • 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∈R n × f ^{n×f} n×f,其中 f 为节点特征的维数。G的图结构可以用邻接矩阵A∈R n × n ^{n×n} n×n来描述,其中,如果节点 i 和节点 j 之间有一条边,则为 A i j A_{ij} Aij = 1,否则为0。对角度矩阵记为 D=diag(d1,···,dn),其中 d i = ∑ j A i j d_i =\sum_j A_{ij} di=jAij。我们使用 A ~ = A + I \tilde A=A+I A~=A+I 来表示添加了自循环的邻接矩阵和 D ~ = D + I \tilde D=D+I D~=D+I。传统的图拉普拉斯矩阵为: L = D ~ − A ~ L = \tilde D - \tilde A L=D~A~。然后归一化的邻接矩阵是 A ~ ^ = D ~ − 1 / 2 A ~ 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~=IA~^是归一化对称正半定图拉普拉斯矩阵。

3. 三种滤波

I I I A ~ ^ \hat {\tilde{A}} A~^ L ~ \tilde L L~,分别对应有全通、低通、高通滤波的算子(图卷积核/滤波器)**

3.1 全通滤波

  • 公式为: Z a l l = I X Z_{all} = IX Zall=IX
    全通滤波也即所有的信号都可以通过,即不对图信号做处理。

3.2 低通滤波

  • 公式为: Z l o w = A ~ ^ X Z_{low} = \hat {\tilde{A}} X Zlow=A~^X
    低通滤波本质上就是为了使图上的特征变得光滑。下面进行解释:

图学习的基本假设是,图上相邻的节点应该是相似的,因此在图域上的节点特征应该是平滑的。本节首先解释了平滑的意思;然后给出了广义拉普拉斯平滑滤波器的定义,并证明了它是一个平滑算子;最后回答了如何设计一个最优的拉普拉斯平滑滤波器。

3.2.1 平滑信号分析

从图信号处理的角度来解释平滑开始。以 x ∈ R n x\in R^n xRn 作为图上的信号,节点 i i i 的信号就是一个标量,也就是 x i x_i xi。滤波矩阵为 H H H,为了测量图信号 x x x的平滑度,可以计算出图的拉普拉斯算子 L L L ( L = D − A L = D - A L=DA)和 x x x 上的瑞利商:
1
这个商实际上是 x x x的标准化方差分数。如上所述,平滑信号应该在相邻节点上分配相似的值。因此,瑞利商越低,则图上的信号越平滑。

考虑图拉普拉斯 L = U Λ U − 1 L=UΛU^{−1} L=UΛU1的特征分解,其中 U ∈ R n × n U \in R^{n\times n} URn×n包含特征向量, Λ = d i a g ( λ 1 , λ 2 , ⋅ ⋅ ⋅ , λ n ) Λ = diag(λ1,λ2,···,λn) Λ=diag(λ1λ2⋅⋅⋅λn)是特征值的对角矩阵。随后可以给出了特征向量 u i ∈ U u_i \in U uiU的光滑性:

2
上式表示较平滑的特征向量与较小的特征值相关联,即频率较低。因此,基于等式基于 L L L分解信号 x x x基于公式(1)和(2):
3
其中 p i p_i pi是特征向量 u i u_i ui的系数。那么 x x x的平滑度就变成了:
4
因此,为了获得更平滑的信号,滤波器的目标是:在保留低频分量的同时,滤掉高频分量。由于其高计算效率和令人信服的性能,拉普拉斯平滑滤波器经常被用于这一目的(保留低频分量的同时,滤掉高频分量)。

3.2.2 广义拉普拉斯平滑滤波器

广义拉普拉斯平滑滤波器定义为:
5
其中 k k k是实值的。采用 H H H作为滤波器矩阵,滤波后的信号 x ~ \tilde{x} x~ 被表示为:
6
因此,为了实现低通滤波,频率响应函数 1 − k λ 1−kλ 1 应该是一个递减和非负函数。因为需要使特征值 λ 越大,对应的 p ′ i p'i pi系数就越小,这样可以使得图上的瑞丽商变小,进而光滑,进而实现低通(频率低的特征通过,频率低也就意味着光滑)。
注意,该过滤器是不含有参数的。

3.3 高通滤波

  • 公式为: Z h i g h = L ~ X Z_{high} = \tilde L X Zhigh=L~X
    说完低通滤波,高通滤波则与之相反。即不对这个函数进行限制。
    此时,上述的公式(6)就变成了:
    x ~ = H x = U Λ U − 1 U p = ∑ i = 1 n λ i p i u i \tilde x = Hx = UΛU^{-1}Up = \sum^{n}_{i=1} λ_i p_i u_i x~=Hx=UΛU1Up=i=1nλipiui
    此时, u i u_i ui 对应的图信号频率越高,其特征值 λ 越大,这样频率也就越大了,从而图上高频信号变多,进而实现了高通。

4. 总结

自己的理解罢了,可能不太到位,有什么想法,直接私信我就好!

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

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

相关文章

同步互斥与通信

我们可以把多任务系统当作一个团队,里面的每一个任务都相当于团队里的一个人。团队成员之间要协调工作进度(同步)、争用会议室(互斥)、沟通(通信)。多任务系统所涉及的概念,都可以在…

Spring之事务底层源码解析

Spring之事务底层源码解析 1、EnableTransactionManagement工作原理 开启 Spring 事务本质上就是增加了一个 Advisor,当我们使用 EnableTransactionManagement 注解来开启 Spring 事务时,该注解代理的功能就是向 Spring 容器中添加了两个 Bean&#xf…

【算法基础】并查集⭐⭐⭐⭐⭐【思路巧,代码短,面试常考】

并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。这一类问题近几年来反复出现在信息学的国际国内赛题中。其特点是看似并不复杂,但数据量…

二叉树的相关列题!!

对于二叉树,很难,很难!笔者也是感觉很难!虽然能听懂课程,但是,对于大部分的练习题并不能做出来!所以感觉很尴尬!!因此,笔者经过先前的那篇博客,已…

Windows下编译安装Redis

Windows下安装Redis1.下载cygwin2.安装cygwin3.下载Redis4.编译Redis5.运行redis6.报错:继上次Windows下安装MySQL后,今天安装Redis发现也复杂许多,github上有几个仓库似乎提供了windows一键安装版,但是到 5.0版本就不更新了……所…

python机器学习

机器学习可分为两大类,分别为监督学习与非监督学习 监督学习 监督学习是机器学习的类型,其中机器使用“标记好”的训练数据进行训练,并基于该数据,机器预测输出。标记的数据意味着一些输入数据已经用正确的输出标记。 在监督学习…

设计模式之策略模式与责任链模式详解和应用

目录1.策略模式1.1 目标1.2.内容定位1.3.定义1.4.应用场景1.5.促销优惠业务场景1.6 用策略模式实现选择支付方式的业务场景1.7 策略模式在框架源码中的体现1.8 策略模式的优缺点2 责任链模式2.1 责任链楼式的应用场景2.2 利用责任链模式进行数据校验拦截2.3 责任链模式和建造者…

实战打靶集锦-006-Stapler

**写在前面:**记录博主的一次打靶经历。 目录1. 主机发现2. 端口发现3. 服务枚举4. 服务探查4.1 FTP探查4.1.1 匿名登录4.1.2 Elly用户4.1.3 John用户4.1.4 EXP搜索4.2 dnsmasq探查4.2.1 基础信息获取4.2.2 EXP搜索4.3 WEB应用探查4.3.1 浏览器访问4.3.2 目录扫描4.…

Nacos超简单-管理配置文件

优点理论什么的就不说了,按照流程开始配配置吧。登录Centos,启动Naocs,使用sh /data/soft/restart.sh将自动启动Nacos。访问:http://192.168.101.65:8848/nacos/账号密码:nacos/nacos分为两部分,第一部分准…

【RabbitMQ】Windows 安装 RabbitMQ

文章目录工具下载Eralng 安装与配置RabbitMQ 安装工具下载 RabbitMQ 3.7.4版本 网盘链接:https://pan.baidu.com/s/1pO6Q8fUbiMrtclpq2KqVVQ?pwdgf29 提取码:gf29 Eralng 网盘链接:https://pan.baidu.com/s/1irf8fgK77k8T9QzsIRwa7g?pwd9…

广度优先搜索(BFS)-蓝桥杯

一、BFS搜索的原理BFS搜索的原理:“逐层扩散”,从起点出发,按层次从近到远,逐层先后搜索。编码:用队列实现。应用:BFS一般用于求最短路径问题,BFS的特点是逐层搜索,先搜到的层离起点…

Prometheus 记录规则和警报规则

前提环境&#xff1a; Docker环境 涉及参考文档&#xff1a; Prometheus 录制规则Prometheus 警报规则 语法检查规则 promtool check rules /path/to/example.rules.yml一&#xff1a;录制规则语法 groups 语法&#xff1a; groups:[ - <rule_group> ]rule_group…

Redis 强化

(Redis入门使用查看)https://blog.csdn.net/weixin_73849581/article/details/128390152?spm1001.2014.3001.5501缓存使用原则什么时候,什么样的数据能够保存在Redis中?1.数据量不能太大2.使用越频繁,Redis保存这个数据越值得3.保存在Redis中的数据一般不会是数据库中频繁修改…

❤️Selenium实战操作,获取图片详解(内附源码)⚡

👋👋最近也是想换壁纸了,所以来一期详细的selenium获取壁纸教程。 公众号:测个der 源码地址:https://gitee.com/qinganan_admin/reptile-case.git 遇事不决就用selenium就对了。 💨💨目标地址:https://desk.zol.com.cn/dongman/ 目标存在地点: 好了解之后,…

GoLang设置gofmt和goimports自动格式化

目录 设置gofmt gofmt介绍 配置gofmt 设置goimports goimports介绍 配置goimports 设置gofmt gofmt介绍 Go语言的开发团队制定了统一的官方代码风格&#xff0c;并且推出了 gofmt 工具&#xff08;gofmt 或 go fmt&#xff09;来帮助开发者格式化他们的代码到统一的风格…

c/c++开发,无可避免的模板编程实践(篇四)

一、容器与模板 前文就说到&#xff0c;标准库基于模板编程&#xff0c;定义了许多容器类以及一系列泛型算法&#xff0c;使程序员可以更简洁、抽象和有效地编写程序。C标准库中有大量的标准容器&#xff0c;这些容器通常包含一组数据或对象的集合&#xff0c;几乎可以和任何类…

剑指 Offer 48. 最长不含重复字符的子字符串

摘要 剑指 Offer 48. 最长不含重复字符的子字符串 一、滑动窗口解析 这样一来&#xff0c;我们就可以使用「滑动窗口」来解决这个问题了&#xff1a; 我们使用两个指针表示字符串中的某个子串&#xff08;或窗口&#xff09;的左右边界&#xff0c;其中左指针代表着上文中枚…

解决Edge浏览器主页被篡改问题,或许可以帮你彻底解决

问题描述&#xff1a; 之前从一个第三方网站下载了一个不知名软件&#xff0c;接着电脑就各种下载360全家桶之类的软件&#xff0c;后来问题解决了&#xff0c;但是还残留了一些问题&#xff0c;前几天发现edge浏览器的主页被改成了360导航&#xff0c;就是那个该死的hao123&a…

TSITDM 的图

TSI (汽轮机监视保护系统) 时域信号的处理 TDM(Turbine Diagnosis Management) 对时域信号进行频域分析 频谱图&#xff08;Frequency Spectrogram Plot&#xff09;&#xff1a; 横轴是频率值&#xff0c;纵轴是振幅(被测信号在该频率下的能量值) 很多的故障都有自己特定的频…

吉林大学软件需求分析与规范(Software Requirements Analysis Specification)

chapter0课程简介&#xff1a;◼ 软件工程专业核心课程之一◼ 软件工程课程体系最前端课程◼ 主要内容&#xff1a;需求的基本概念&#xff0c;需求的分类&#xff0c;需求工程的基本过程&#xff0c;需求获取的方法、步骤、技巧&#xff0c;需求分析和建模技术&#xff0c;需求…