当前位置: 首页 > news >正文

拉普拉斯矩阵

拉普拉斯算子

Δf=f(xi+1,yj)+f(xi−1,yj)+f(xi,yj+1)+f(xi,yj−1)−4f(xi,yj)=∑(k,l)∈N(i,j)(f(xk,yl)−f(xi,yj))\begin{aligned} \Delta f &= f\left(x_{i+1}, y_j\right) + f\left(x_{i-1},y_j\right) + f\left(x_i,y_{j+1}\right)+f\left(x_i,y_{j-1}\right) - 4f\left(x_i,y_j\right)\\ &=\sum\limits_{\left(k,l\right) \in N\left(i,j\right)}\left(f\left(x_k,y_l\right) - f\left(x_i,y_j\right)\right) \end{aligned} Δf=f(xi+1,yj)+f(xi1,yj)+f(xi,yj+1)+f(xi,yj1)4f(xi,yj)=(k,l)N(i,j)(f(xk,yl)f(xi,yj))
其中N(i,j)N\left(i,j\right)N(i,j)表示(i,j)\left(i,j\right)(i,j)相邻的节点,例如这里是四联通(上下左右)

拉普拉斯矩阵

前面的拉普拉斯算子是上下左右,而图的顶点的连接关系可以是任意的,下面将拉普拉斯算子推广到图。
如果将图的顶点处的值看作是函数值,则在顶点iii的拉普拉斯算子为
Δfi=∑j∈Ni(fi−fj)\Delta f_i = \sum_{j \in N_i}\left(f_i-f_j\right) Δfi=jNi(fifj)
这里的拉普拉斯算子和上面的拉普拉斯算子查了个负号

(下面针对无向图)

由于图的边可以带有权重,设W\mathbf{W}W为邻接矩阵
Δfi=∑j∈Niwij(fi−fj)\Delta f_i = \sum_{j \in N_i}w_{ij}\left(f_i-f_j\right) Δfi=jNiwij(fifj)
VVV为顶点集合,n=∣V∣n = \left|V\right|n=VD\mathbf{D}D为加权度矩阵,即dij={∑j=1nwij,i=j0,otherwised_{ij} = \begin{cases} \sum_{j=1}^{n}w_{ij},& i = j\\ 0,&otherwise\\ \end{cases}dij={j=1nwij,0,i=jotherwise
如果j∉Nij\notin N_ij/Niwij=0w_{ij} = 0wij=0,于是
Δfi=∑j∈Vwij(fi−fj)=∑j∈Vwijfi−∑j∈Vwijfj=diifi−wif\Delta f_i = \sum_{j \in V}w_{ij}\left(f_i-f_j\right) = \sum_{j \in V}w_{ij}f_i - \sum_{j \in V}w_{ij}f_j = d_{ii} f_i - \mathbf{w}_i\mathbf{f} Δfi=jVwij(fifj)=jVwijfijVwijfj=diifiwif
其中wI\mathbf{w}_IwI表示W\mathbf{W}W的第iii行,f=(f1f2⋮fn)\mathbf{f} = \begin{pmatrix} f_1\\ f_2\\ \vdots\\ f_n\\ \end{pmatrix}f=f1f2fn

对于所有的点,有
Δf=(Δf1⋮Δfn)=(d1f1−w1f⋮dnfn−wnf)=Df−Wf=(D−W)f\Delta f = \begin{pmatrix} \Delta f_1\\ \vdots \\ \Delta f_n \end{pmatrix} = \begin{pmatrix} d_1 f_1 - \mathbf{w}_1 \mathbf{f}\\ \vdots \\ d_n f_n - \mathbf{w}_n \mathbf{f}\\ \end{pmatrix}=\mathbf{D}\mathbf{f} - \mathbf{W}\mathbf{f} = \left(\mathbf{D} - \mathbf{W} \right) \mathbf{f} Δf=Δf1Δfn=d1f1w1fdnfnwnf=DfWf=(DW)f
定义拉普拉斯矩阵为
L=D−W\mathbf{L} = \mathbf{D} - \mathbf{W} L=DW

性质

性质1

∀f∈Rn\forall \mathbf{f}\in\mathbb{R}^nfRn,有
fTLf=12∑i=1n∑j=1nwij(fi−fj)2\mathbf{f}^T\mathbf{L}\mathbf{f}=\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}\left(f_i-f_j\right)^2 fTLf=21i=1nj=1nwij(fifj)2

证明:
fTLf=fTDf−fTWf=∑i=1ndiifi2−∑i=1n∑j=1nfifjwij=12(2∑i=1ndiifi2−2∑i=1n∑j=1nfifjwij)=12(∑i=1ndiifi2−2∑i=1n∑j=1nfifjwij+∑j=1ndjjfj2)=12(∑i=1n∑j=1nwijfi2−2∑i=1n∑j=1nfifjwij+∑j=1n∑i=1nwjifj2)=12(∑i=1n∑j=1nwijfi2−2∑i=1n∑j=1nfifjwij+∑i=1n∑j=1nwjifj2)=12(∑i=1n∑j=1nwijfi2−2∑i=1n∑j=1nfifjwij+∑i=1n∑j=1nwijfj2)=12∑i=1n∑j=1nwij(fi−fj)2\begin{aligned} \mathbf{f}^T\mathbf{L}\mathbf{f} &= \mathbf{f}^T\mathbf{D}\mathbf{f} - \mathbf{f}^T\mathbf{W} \mathbf{f}\\ &=\sum_{i=1}^{n}d_{ii} f_i^2 - \sum_{i=1}^{n}\sum_{j=1}^{n}f_i f_j w_{ij}\\ &=\frac{1}{2}\left(2\sum_{i=1}^{n}d_{ii} f_i^2 - 2\sum_{i=1}^{n}\sum_{j=1}^{n}f_i f_j w_{ij}\right)\\ &=\frac{1}{2}\left(\sum_{i=1}^{n}d_{ii} f_i^2 - 2\sum_{i=1}^{n}\sum_{j=1}^{n}f_i f_j w_{ij} + \sum_{j=1}^{n}d_{jj} f_j^2\right)\\ &=\frac{1}{2}\left(\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij} f_i^2 - 2\sum_{i=1}^{n}\sum_{j=1}^{n}f_i f_j w_{ij} + \sum_{j=1}^{n}\sum_{i=1}^{n}w_{ji} f_j^2\right)\\ &=\frac{1}{2}\left(\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij} f_i^2 - 2\sum_{i=1}^{n}\sum_{j=1}^{n}f_i f_j w_{ij} + \sum_{i=1}^{n}\sum_{j=1}^{n}w_{ji} f_j^2\right)\\ &=\frac{1}{2}\left(\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij} f_i^2 - 2\sum_{i=1}^{n}\sum_{j=1}^{n}f_i f_j w_{ij} + \sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij} f_j^2\right)\\ &=\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}\left(f_i-f_j\right)^2 \end{aligned} fTLf=fTDffTWf=i=1ndiifi2i=1nj=1nfifjwij=21(2i=1ndiifi22i=1nj=1nfifjwij)=21(i=1ndiifi22i=1nj=1nfifjwij+j=1ndjjfj2)=21(i=1nj=1nwijfi22i=1nj=1nfifjwij+j=1ni=1nwjifj2)=21(i=1nj=1nwijfi22i=1nj=1nfifjwij+i=1nj=1nwjifj2)=21(i=1nj=1nwijfi22i=1nj=1nfifjwij+i=1nj=1nwijfj2)=21i=1nj=1nwij(fifj)2

性质2

L⪰0\mathbf{L}\succeq 0 L0
由性质1,显然

性质3

最小特征值为0,对应的特征向量为e\mathbf{e}e,即全1的向量

证明:
每一行加起来
∑j=1nlij=∑j=1n(dij−wij)=dii−∑j=1nwij=0\sum_{j=1}^{n} l_{ij} = \sum_{j=1}^{n}\left(d_{ij} - w_{ij}\right) = d_{ii}-\sum_{j=1}^{n}w_{ij} = 0j=1nlij=j=1n(dijwij)=diij=1nwij=0
于是Le=0e\mathbf{L}\mathbf{e} = 0\mathbf{e}Le=0e

性质4

G\mathbf{G}G是一个非负权重的无向图,则其拉普拉斯矩阵L\mathbf{L}L的特征值0的重数kkk等于图的连通分量的个数

证明:
k=1k=1k=1时,即连通图

fTLf=12∑i=1n∑j=1nwij(fi−fj)2=12∑(i,j)wij(fi−fj)2=0\mathbf{f}^T\mathbf{L}\mathbf{f}=\frac{1}{2}\sum_{i=1}^{n}\sum_{j=1}^{n}w_{ij}\left(f_i-f_j\right)^2=\frac{1}{2}\sum_{\left(i,j\right)}w_{ij}\left(f_i-f_j\right)^2=0 fTLf=21i=1nj=1nwij(fifj)2=21(i,j)wij(fifj)2=0
对于wij>0w_{ij}>0wij>0,有fi=fjf_i = f_jfi=fj
由于是连通图,最后f1=f2=⋯=fnf_1 = f_2 = \cdots = f_nf1=f2==fn(有点像并查集)
也就是说当且仅当f=te(t≠0)\mathbf{f} = t\mathbf{e}\left(t\neq 0\right)f=te(t=0)时,fTLf=0\mathbf{f}^T\mathbf{L}\mathbf{f} = 0fTLf=0

因为特征值000对应的特征向量只有tet\mathbf{e}te,所以重数为1

假设k−1k-1k1的时候成立
kkk
不妨假设顶点按照其所属的联通分量排序
则对应的拉普拉斯矩阵是一个分块矩阵,
L=(L1L2⋱Lk)\mathbf{L} = \begin{pmatrix} \mathbf{L}_1&&& \\ &\mathbf{L}_2&&\\ &&\ddots&\\ &&&\mathbf{L}_k \end{pmatrix} L=L1L2Lk
f=(0⋮01⋮10⋮0)\mathbf{f} = \begin{pmatrix} 0\\ \vdots\\ 0\\ 1\\ \vdots\\ 1\\ 0\\ \vdots\\ 0\\ \end{pmatrix}f=001100,每一个分块矩阵对应的分量为1,剩下的为0
fTLf=0\mathbf{f}^T\mathbf{L}\mathbf{f} = 0fTLf=0
这样的f\mathbf{f}fkkk

归一化拉普拉斯矩阵

对称归一化

盲猜针对无向图,并且没有孤立点和自环,这样才能保证dii≠0,wii=0,wij=wjid_{ii} \neq 0,w_{ii} = 0,w_{ij} = w_{ji}dii=0,wii=0,wij=wji

定义为
Lsym=D−12LD−12=I−D−12WD−12\mathbf{L}_{sym} = \mathbf{D}^{-\frac{1}{2}}\mathbf{L}\mathbf{D}^{-\frac{1}{2}} = \mathbf{I}-\mathbf{D}^{-\frac{1}{2}}\mathbf{W}\mathbf{D}^{-\frac{1}{2}} Lsym=D21LD21=ID21WD21
显然这是一个对称,[lsym]ij={1i=j−wijdiidjj,wij≠00,otherwise\left[l_{sym}\right]_{ij} = \begin{cases} 1&i = j\\ -\frac{w_{ij}}{\sqrt{d_{ii}d_{jj}}},&w_{ij}\neq 0\\ 0,&otherwise\\ \end{cases}[lsym]ij=1diidjjwij,0,i=jwij=0otherwise

http://www.lryc.cn/news/4482.html

相关文章:

  • Top-1错误率、Top-5错误率等常见的模型算法评估指标解析
  • Urho3D 容器类型
  • C语言学习笔记(四): 循环结构程序设计
  • 02 OpenCV图像通道处理
  • 微信小程序图书馆座位预约管理系统
  • 有限元分析学习一
  • android avb2.0 总结
  • 聊天机器人-意图识别类,开源库推荐
  • Java 标识符以及修饰符
  • 封装、继承、Super、重写、多态instanceof类型转换的使用以及个人见解
  • day13_面向对象的三大特征之一(封装)
  • 越界访问数组
  • 软件设计(十)--计算机系统知识
  • 【不知道是啥】浅保存哈
  • 2021 WAIC 世界人工智能大会参会总结
  • ThingsBoard-实现定时任务调度器批量RPC
  • MySQL数据库调优————数据库调优维度及测试数据准备
  • 电子货架标签多种固定方式
  • 基于JavaEE的智能化跨境电子商务平台的设计
  • C语言学习笔记(二): 简单的C程序设计
  • 十、STM32端口复用重映射
  • 【C++1】函数重载,类和对象,引用,string类,vector容器,类继承和多态,/socket,进程信号
  • Spring基础知识
  • proxy代理与reflect反射
  • 机器视觉 多模态学习11篇经典论文代码以及解读
  • Redis过期删除策略
  • 数据流分析之def-use链分析
  • 【0175】【内存上下文】如何利用context_freelists[]来彻底释放MemoryContext中分配的所有内存(8 - 2)
  • Redis实战—黑马点评(一) 登录篇
  • 建造者模式-搭建Qt窗口案例