图拉普拉斯矩阵的定义、推导、性质、应用

导语:在学习图神经网络时,不可避免地要遇到拉普拉斯算子,拉普拉斯矩阵,图傅里叶变换,拉普拉斯特征分解向量等等一堆概念,了解其中的来源,定义,推导,对于后续图卷积神经网络的演进过程会有更深刻的理解


公众号:一直学习一直爽,整理的GNN入门之路系列文章包含:

  1. GNN入门之路:01.图拉普拉斯矩阵的定义、推导、性质、应用
  2. GNN入门之路:02.谱域方法:Spectral CNN,ChebyNet,GCN
  3. GNN入门之路:03.空间域方法:GraphSAGE,GAT,MPNN
  4. GNN入门之路:04.图神经网络的表达能力,图表示学习

注:本文由于公式较多,iOS深色主题显示不友好,建议调成浅色主题阅读

本系列面向的对象是希望从更底层理解图神经网络的读者,我们一起来啃一啃图神经网络的演进过程,达到入门水平。

如果读者直接从空间方法开始学习图神经网络,那么基于消息传递的框架,会发现图神经网络就是在做各种聚合,学习曲线比较平滑,从GraphSAGE,GAT学起基本上没啥问题;反之,对于从谱方法开始学起的读者, 就会发现遇到很多图信号处理,图傅里叶变换,图滤波等概念,但这条脉络奠定了图神经网络的理论基础,空间方法与谱方法不是对立的关系,谱方法在不断朝着实用话的演进过程了,空间方法和谱方法得到了统一,最终才有了我们今天简洁的空间方法百花齐放的局面。

本文主要是关于图拉普斯矩阵相关的知识,涉及了其定义,推导过程,物理含义,作用在图上的性质。

基本概念

偏导数

对于我们熟悉的一元一次函数,导数描述的是因变量随自变量的变化率,如 y = 3 x + 1 y = 3x + 1 y=3x+1, 一阶导数为3;

在多元函数中,自变量的个数不止一个,如 z = f ( x , y ) z = f(x, y) z=f(x,y)函数中包含2个自变量,函数关于自变量的变化率比一元函数复杂得多,为了描述多元函数的变化率,引入了偏导数的概念,当求函数关于其中一个自变量的导数(变化率)时,其余的自变量被视作为常数, 假设函数 f f f在某个区域内存在偏导数,对于其中的任意一点 ( x 0 , y 0 ) (x_0,y_0) (x0,y0), 其偏导数一般记作:
f x ( x 0 , y 0 ) = ∂ f ∂ x ∣ ( x = x 0 , y = y 0 ) f y ( x 0 , y 0 ) = ∂ f ∂ y ∣ ( x = x 0 , y = y 0 ) \begin{aligned} f_x(x_0,y_0) &= \frac{\partial f}{\partial x} \Big |_{(x=x_0,y=y_0)} \\ f_y(x_0,y_0) &= \frac{\partial f}{\partial y} \Big |_{(x=x_0,y=y_0)} \end{aligned} fx(x0,y0)fy(x0,y0)=xf(x=x0,y=y0)=yf(x=x0,y=y0)

偏导数是个标量,以一个例子来让大家简单回顾一下:

求函数 f = x 2 + 3 x y + y 2 f = x^2 + 3xy + y^2 f=x2+3xy+y2 在点(1, 2)的偏导数

  1. y y y看做常数: ∂ f ∂ x = 2 x + 3 y \frac{\partial f}{\partial x} = 2x + 3y xf=2x+3y
  2. x x x看做常数: ∂ f ∂ y = 3 x + 2 y \frac{\partial f}{\partial y} = 3x + 2y yf=3x+2y
  3. 将(1,2)分别带入, ∂ f ∂ x ∣ ( x = 1 , y = 2 ) = 8 \frac{\partial f}{\partial x} \Big|_{(x=1,y=2)} =8 xf(x=1,y=2)=8, ∂ f ∂ y ∣ ( x = 1 , y = 2 ) = 7 \frac{\partial f}{\partial y} \Big|_{(x=1,y=2)} = 7 yf(x=1,y=2)=7

拉普拉斯算子

拉普拉斯算子是 n n n维欧式空间中对函数的二阶微分算子, 也是一个标量,下面给出了连续函数和离散函数的拉普拉斯算子的定义:

  • 对于3维函数 f ( x , y , z ) f(x,y,z) f(x,y,z),其拉普拉斯算子表示为:
    Δ f = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 + ∂ 2 f ∂ z 2 \begin{aligned} \Delta f = \frac{\partial^2 f}{\partial x^2} + \frac{\partial^2 f}{\partial y^2} + \frac{\partial^2 f}{\partial z^2} \end{aligned} Δf=x22f+y22f+z22f

  • 对于 n n n维函数 f ( x 1 , x 2 , . . . x n ) f(x_1,x_2,...x_n) f(x1,x2,...xn),其拉普拉斯算子表示为:
    Δ f = ∂ 2 f ∂ x 1 2 + ∂ 2 f ∂ x 2 2 + ∂ 2 f ∂ x 3 2 + . . . + ∂ 2 f ∂ x n 2 = ∑ i = 1 n ∂ 2 f ∂ x i 2 \begin{aligned} \Delta f &= \frac{\partial^2 f}{\partial x_1^2} + \frac{\partial^2 f}{\partial x_2^2} + \frac{\partial^2 f}{\partial x_3^2} + ...+ \frac{\partial^2 f}{\partial x_n^2} \\ &= \sum_{i=1}^n \frac{\partial^2 f}{\partial x_i^2} \end{aligned} Δf=x122f+x222f+x322f+...+xn22f=i=1nxi22f

  • 对于离散函数 f ( x ) f(x) f(x), 其一阶导数可以近似得到(相邻两个自变量间隔为1):
    ∂ f ∂ x = f ′ ( x ) = f ( x + 1 ) − f ( x ) ∂ 2 f ∂ x 2 = f ′ ′ ( x ) = f ′ ( x ) − f ′ ( x − 1 ) = f ( x + 1 ) − f ( x ) − f ( x ) + f ( x − 1 ) = f ( x + 1 ) + f ( x − 1 ) − 2 f ( x ) \begin{aligned} \frac{\partial f}{\partial x} &= f'(x) = f(x+1) - f(x) \\ \frac{\partial^2 f}{\partial x^2} & = f''(x) \\ &= f'(x) - f'(x-1) \\ &= f(x+1) -f(x) -f(x) + f(x-1) \\ &= f(x+1) + f(x-1) - 2f(x) \end{aligned} xfx22f=f(x)=f(x+1)f(x)=f(x)=f(x)f(x1)=f(x+1)f(x)f(x)+f(x1)=f(x+1)+f(x1)2f(x)
    因此,离散函数 f ( x ) f(x) f(x)的拉普拉斯算子为:
    Δ f = f ( x + 1 ) + f ( x − 1 ) − 2 f ( x ) \begin{aligned} \Delta f = f(x+1) + f(x-1) - 2f(x) \end{aligned} Δf=f(x+1)+f(x1)2f(x)

  • 对于离散函数 f ( x , y ) f(x,y) f(x,y)其拉普拉斯算子为:
    Δ f = f ( x + 1 , y ) + f ( x − 1 , y ) − 2 f ( x , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 2 f ( x , y ) = f ( x + 1 , y ) + f ( x − 1 , y ) + f ( x , y + 1 ) + f ( x , y − 1 ) − 4 f ( x , y ) \begin{aligned} \Delta f &= f(x+1,y) + f(x-1,y) - 2f(x,y) + f(x,y+1) + f(x,y-1) - 2f(x,y) \\ &= f(x+1,y) + f(x-1,y) + f(x,y+1) + f(x,y-1)- 4f(x,y) \end{aligned} Δf=f(x+1,y)+f(x1,y)2f(x,y)+f(x,y+1)+f(x,y1)2f(x,y)=f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)4f(x,y)

图拉普拉斯矩阵-来源

初次接触图神经网络时,大家肯定会看到图拉普拉斯矩阵定义为 L = D − A L = D - A L=DA,或者归一化形式的拉普拉斯矩阵 L s y m = I − D − 1 2 A D − 1 2 L_{sym} = I - D^{-\frac{1}{2}}AD^{-\frac{1}{2}} Lsym=ID21AD21, 你是不是会感到有点突兀,想知道为什么需要这么定义, 为了解决长久以来的好奇,下面给出了两种推导方法。

为了引入图的邻接矩阵度矩阵等结构信息到拉普拉斯算子计算过程中,将邻接矩阵表示为 A A A,度矩阵表示为 D D D:

  • 邻接矩阵
    邻接矩阵 A ∈ R N × N A \in \mathbb{R}^{N \times N} ARN×N, a i j = 1 a_{ij}=1 aij=1表示节点 i i i</
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值