图神经网络中的谱图理论基础

简介: 图神经网络中的谱图理论基础

一、图的拉普拉斯矩阵


  1. 拉普拉斯算子


KJ]`5}ED}5TM{B2%TLKZOJW.png

这里简单介绍一下散度的概念:散度(divergence)用于表征空间各点矢量场发散的强弱程度。散度描述的是向量场里一个点是汇聚点还是发源点。值为正时表示该点为发源点,值为负时表示该点为汇聚点,值为零时表示该点无源。散度在物理上的含义可以理解为磁场、热源等。在笛卡尔坐标系中,矢量7A)79DAA%)CQ[Y{@8PL8K75.png的散度表示为:

ZSFPO18B04HU]L`I9Y0[WDR.png


那么拉普拉斯算子作为梯度的散度,则在笛卡尔坐标系中定义为:


KNIUMQ0{RBKEYB%B2PY}N13.png


也就是表示为函数EP`KH_C3%]O5BTF3$37`4KG.png在各个维度上的二阶偏导数的和。


接下来来看一下拉普拉斯算子直观上表示什么含义,以一维空间为例:


47YA7X10PEMOV[~R~%M{SAJ.png


接着来看二维空间的例子:


7@22@Z73%11C_%EO5%4BEI7.png

B%IXFT{A857CL$YFB%8W_YH.png

                                                           卷积核


那么我们可以认为:拉普拉斯算子是所有自由度上进行微小变化后所获得的增益。


  1. 图的表示


一个网络(无向图)由节点与节点之间的边组成。每个节点是有值的,我们用EP`KH_C3%]O5BTF3$37`4KG.png来表示节点的值:

AF3BFZ1[ICBBV95QB]UVC%S.png

JUIZNADSOVQ63RVZEOIE1PY.png



  1. 图的拉普拉斯矩阵


可以将拉普拉斯算子推广到网络(无向图)中,对于有5(M%G0IHQP_$9PU6_`1CVE6.png个节点的网络,我们想要获得一个节点关于其邻居节点(自由度)的增益,然而每个节点的邻居个数不一定是相同的,一个节点的最大自由度为5(M%G0IHQP_$9PU6_`1CVE6.png

B8TJ@9D4{7J(5JU953N_QYJ.png


那么拉普拉斯算子在所有的节点上的作用结果就是:


DLWBMYJ2TXRBX`(DE)]S)LA.png


  1. 拉普拉斯矩阵的谱分解


拉普拉斯矩阵的谱分解(Laplace Spectral Decomposition)就是拉普拉斯矩阵的特征分解:

91HOR)G$MJ[RFG}~_V~2@TU.png


对于无向图来说,拉普拉斯矩阵是实对称矩阵,而实对称矩阵一定可以用正交矩阵进行正交相似对角化:


130F]K_H0U(0U~8V[J(Y1%T.png

Q[I}Q9ANFQ5L5463{Z44JZD.png

  1. 拉普拉斯矩阵的性质


拉普拉斯矩阵有一些性质如下:


①对称性。


②由于其对称性,则它的所有特征值都是实数。


③对于任意向量EP`KH_C3%]O5BTF3$37`4KG.png,有:


@R9PR82ZC`47)7AD{DUCWKU.png


这一性质利用拉普拉斯矩阵的性质很容易可以得到:


KA(Z34VX)DZUB5Q3D}2`$`X.png


L{(4O`6G00BSUGNA37A_HI9.png

O3F2C`)X_HOU(LXCF6}2C]K.png

                                            图的平滑度


上图中的两个网络,第一个网络的节点标签差异较小(更平滑),因O_{SOFC1EX0[{HXN@JAKG50.png此较小,而第二个网络节点标签差异较大(不平滑),因此O_{SOFC1EX0[{HXN@JAKG50.png较大。因此Z07QF7LJPPWRK@7M%C)B84L.png可以用来刻画网络的平滑度(越小越平滑)。


多说一句,这一点可以用在半监督学习中,大概的思路是构建有标签和无标签数据的无向图,节点就是每一个数据样本,边是节点间的相似度(使用径向基函数等来度量的相似度),为了使模型为无标签数据标注的标签更平滑,可以将O_{SOFC1EX0[{HXN@JAKG50.png作为训练模型的一个正则项。感兴趣的同学可以参考:半监督学习|深度学习(李宏毅)(九)


图的拉普拉斯矩阵的应用是多种多样的,本文只介绍一些学习图神经网络(主要是图卷积网络GCN)的一些基础知识。图的拉普拉斯矩阵还可以应用在谱聚类方法中,这是一种聚类方法,也可当做一种降维方法,感兴趣的同学可以参考:谱聚类|机器学习推导系列(二十)


二、图傅里叶变换


本章节需要了解傅里叶变换的相关知识,可以参考这篇文章:傅里叶级数与傅里叶变换


  1. 回顾傅里叶变换


对于连续非周期函数U_1N9}%@6@`[{YYP6[WPV8S.png的傅里叶变换,其公式为:


HQ590_1FP5JY@X}9PZ[J1CD.png


WKTB@IPSR~T2GBFJ}@TR2PD.png


  1. 亥姆霍兹方程与傅里叶变换


亥姆霍兹方程的公式为:

@509{1X4`_9A~0F2OSAQ81K.png


因此我们可以看出,傅里叶变换的基函数其实就是拉普拉斯算子的特征函数,而TZZ7N`UKD5}0GRY[WU(3OYL.png就代表了拉普拉斯算子的特征值。


  1. 从傅里叶变换到图傅里叶变换


对于傅里叶变换,存在卷积定理:在适当条件下,两个信号的卷积的傅立叶变换是他们的傅立叶变换的点积,换句话说就是时域卷积等于频域相乘。为了能够应用卷积定理来处理卷积,所以可以将两个信号EP`KH_C3%]O5BTF3$37`4KG.pngB3SE{C{EJM{4JNFL(_IJD@I.png首先进行傅里叶变换再相乘,从而得到卷积结果,这样做的好处在于可以降低算法的时间复杂度。用公式表达卷积定理就是:


80B7EBRRMAS6DVI]DFPXMGH.png


对于网络来说,直接进行卷积是困难的,因为网络不具备图像那样规则的网格结构,因此考虑应用图傅里叶变换将网络的空域信息映射到频域来应用卷积定理完成卷积操作。

图傅里叶变换是使用类比的方式直接定义的,并非经过严格推导,类比的方法如下:


拉普拉斯算子与拉普拉斯矩阵:拉普拉斯算子的作用是能够得到一个点在某些自由度上微扰以后获得的增益,而拉普拉斯矩阵能够获得网络中的每个节点微扰以后从它的邻居节点上获得的增益,也就是说:拉普拉斯矩阵之于网络就相当于拉普拉斯算子之于函数。


拉普拉斯算子的特征函数与拉普拉斯矩阵的特征向量:傅里叶变换的基函数3CN}IDVN$C887(CCW$}KA)5.png是拉普拉斯算子的特征函数,那么同样的图傅里叶变换的基向量就是拉普拉斯矩阵的特征向量XDF~)$`KW_R8KWR5{B)2@]T.png


拉普拉斯算子的特征值与拉普拉斯矩阵的特征值:傅里叶变换的频率TZZ7N`UKD5}0GRY[WU(3OYL.png是拉普拉斯算子的特征值,那么同样的图傅里叶变换的频率就是拉普拉斯矩阵的特征值2N6EVE}J}F2HNUQUD4RCU6M.png


总而言之,这个类比的过程如下:


_}4O)4P9A`ZPCSHLKKW(XZC.png


既然对于函数来说拉普拉斯算子的特征值和特征函数能够用于函数的傅里叶变换,那么对于网络来说拉普拉斯矩阵的特征值和特征向量就能够用于网络的傅里叶变换。换句话说,傅里叶变换是以拉普拉斯算子的特征函数为基进行投影,那么图傅里叶变换就以拉普拉斯矩阵的特征向量为基进行投影,因此图傅里叶变换定义为:


31}7QGU{V39$YOO(}VN6RME.png


BQQYUH9[EV68P){)O0DQOQK.png

参考资料


ref:【GCN】万字长文带你入门 GCN——公众号:阿泽的学习笔记


ref:图傅里叶变换

相关文章
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
ICLR 2024 Spotlight:训练一个图神经网络即可解决图领域所有分类问题!
【2月更文挑战第17天】ICLR 2024 Spotlight:训练一个图神经网络即可解决图领域所有分类问题!
168 2
ICLR 2024 Spotlight:训练一个图神经网络即可解决图领域所有分类问题!
|
4月前
|
机器学习/深度学习 人工智能 自然语言处理
Transformer 能代替图神经网络吗?
Transformer模型的革新性在于其自注意力机制,广泛应用于多种任务,包括非原始设计领域。近期研究专注于Transformer的推理能力,特别是在图神经网络(GNN)上下文中。
62 5
|
3月前
|
机器学习/深度学习 搜索推荐 知识图谱
图神经网络加持,突破传统推荐系统局限!北大港大联合提出SelfGNN:有效降低信息过载与数据噪声影响
【7月更文挑战第22天】北大港大联手打造SelfGNN,一种结合图神经网络与自监督学习的推荐系统,专攻信息过载及数据噪声难题。SelfGNN通过短期图捕获实时用户兴趣,利用自增强学习提升模型鲁棒性,实现多时间尺度动态行为建模,大幅优化推荐准确度与时效性。经四大真实数据集测试,SelfGNN在准确性和抗噪能力上超越现有模型。尽管如此,高计算复杂度及对图构建质量的依赖仍是待克服挑战。[详细论文](https://arxiv.org/abs/2405.20878)。
68 5
|
3月前
|
机器学习/深度学习 PyTorch 算法框架/工具
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
图神经网络是一类用于处理图结构数据的神经网络。与传统的深度学习模型(如卷积神经网络CNN和循环神经网络RNN)不同,
|
3月前
|
机器学习/深度学习 编解码 数据可视化
图神经网络版本的Kolmogorov Arnold(KAN)代码实现和效果对比
目前我们看到有很多使用KAN替代MLP的实验,但是目前来说对于图神经网络来说还没有类似的实验,今天我们就来使用KAN创建一个图神经网络Graph Kolmogorov Arnold(GKAN),来测试下KAN是否可以在图神经网络方面有所作为。
148 0
|
4月前
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现深度学习模型:图神经网络(GNN)
使用Python实现深度学习模型:图神经网络(GNN)
173 1
|
5月前
|
机器学习/深度学习 自然语言处理 搜索推荐
【传知代码】图神经网络长对话理解-论文复现
在ACL2023会议上发表的论文《使用带有辅助跨模态交互的关系时态图神经网络进行对话理解》提出了一种新方法,名为correct,用于多模态情感识别。correct框架通过全局和局部上下文信息捕捉对话情感,同时有效处理跨模态交互和时间依赖。模型利用图神经网络结构,通过构建图来表示对话中的交互和时间关系,提高了情感预测的准确性。在IEMOCAP和CMU-MOSEI数据集上的实验结果证明了correct的有效性。源码和更多细节可在文章链接提供的附件中获取。
【传知代码】图神经网络长对话理解-论文复现
|
4月前
|
机器学习/深度学习 搜索推荐 PyTorch
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
【机器学习】图神经网络:深度解析图神经网络的基本构成和原理以及关键技术
959 2
|
5月前
|
机器学习/深度学习 JSON PyTorch
图神经网络入门示例:使用PyTorch Geometric 进行节点分类
本文介绍了如何使用PyTorch处理同构图数据进行节点分类。首先,数据集来自Facebook Large Page-Page Network,包含22,470个页面,分为四类,具有不同大小的特征向量。为训练神经网络,需创建PyTorch Data对象,涉及读取CSV和JSON文件,处理不一致的特征向量大小并进行归一化。接着,加载边数据以构建图。通过`Data`对象创建同构图,之后数据被分为70%训练集和30%测试集。训练了两种模型:MLP和GCN。GCN在测试集上实现了80%的准确率,优于MLP的46%,展示了利用图信息的优势。
76 1
|
5月前
|
机器学习/深度学习 数据挖掘 算法框架/工具
想要了解图或图神经网络?没有比看论文更好的方式,面试阿里国际站运营一般会问什么
想要了解图或图神经网络?没有比看论文更好的方式,面试阿里国际站运营一般会问什么