拉普拉斯算子与图拉普拉斯

文章目录

  • 拉普拉斯算子与图拉普拉斯
    • 1. 拉普拉斯基本概念与计算
      • 1.1 哈密尔顿算子
      • 1.2 梯度(gradient)
      • 1.3 散度(divergence)
      • 1.4 拉普拉斯算子
    • 2. 图像或图上的拉普拉斯算子
      • 2.1 离散网格上的拉普拉斯算子
      • 2.2 图(graph)上的拉普拉斯算子
        • 2.2.1 图的梯度(考虑边的方向和权重)
        • 2.2.2 图上的散度
        • 2.2.3 拉普拉斯矩阵
      • 2.3 无向图上的拉普拉斯算子
      • 2.3 图拉普拉斯矩阵的性质

1. 拉普拉斯基本概念与计算

拉普拉斯是函数梯度散度, 这个概念里面涉及到另外两个概念, 一个是梯度, 一个是散度, 首先需要回归一下这两个概念.

1.1 哈密尔顿算子

要分析多元函数 f ( x , y , z ) f(x, y, z) f(x,y,z) 的性态, 偏导数是一个重要的工具, 即从不同的角度(笛卡尔坐标系的方向)来观察其增减性, 这就用到了哈密尔顿算子, 定义如下

∇ = ∂ ∂ x i ⃗ + ∂ ∂ y j ⃗ + ∂ ∂ z k ⃗ \nabla = \frac{\partial}{\partial x} \vec{i} + \frac{\partial}{\partial y} \vec{j} + \frac{\partial}{\partial z} \vec{k} ∇=∂x∂​i +∂y∂​j ​+∂z∂​k

∇ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) \nabla = (\frac{\partial}{\partial x} ,\frac{\partial}{\partial y} ,\frac{\partial}{\partial z} ) ∇=(∂x∂​,∂y∂​,∂z∂​)

其中, i ⃗ \vec{i} i , j ⃗ \vec{j} j ​, k ⃗ \vec{k} k 分别表示 x y z xyz xyz 方向上的单位矢量.

1.2 梯度(gradient)

梯度是哈密尔顿算子直接作用于函数 f f f 的结果( f f f 可以是标量也可以是向量).

grad f = ∇ f = ∂ f ∂ x i ⃗ + ∂ f ∂ y j ⃗ + ∂ f ∂ z k ⃗ = ( ∂ f ∂ x , ∂ f ∂ y , ∂ f ∂ z ) \text{grad} f = \nabla f =\frac{\partial f}{\partial x} \vec{i} + \frac{\partial f}{\partial y} \vec{j} + \frac{\partial f}{\partial z} \vec{k} = (\frac{\partial f}{\partial x} ,\frac{\partial f}{\partial y} ,\frac{\partial f}{\partial z} ) gradf=∇f=∂x∂f​i +∂y∂f​j ​+∂z∂f​k =(∂x∂f​,∂y∂f​,∂z∂f​)
标量场的梯度是向量场, 标量场中某一点的梯度只想标量场增长最快的地方, 梯度的长度是最大变化率.

1.3 散度(divergence)

散度针对的是对象是矢量场, 是描述从周围汇合到某一处或者从某一处散开的程度, 它可用于表征空间个点矢量场发散的强弱程度, 在物理上, 散度的意义是场的有源性.

对于 v ⃗ ( x , y , z ) = P ( x , y , z ) ⋅ i ⃗ + Q ( x , y , z ) ⋅ i ⃗ + R ( x , y , z ) ⋅ i ⃗ \vec{v}(x,y,z)=P(x,y,z)\cdot\vec{i}+Q(x,y,z)\cdot\vec{i}+R(x,y,z)\cdot\vec{i} v (x,y,z)=P(x,y,z)⋅i +Q(x,y,z)⋅i +R(x,y,z)⋅i , 散度定义为

div v ⃗ = ∇ ⋅ v ⃗ = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) ⋅ ( P ( x , y , z ) , Q ( x , y , z ) , R ( x , y , z ) ) = ∂ P ( x , y , z ) ∂ x + ∂ Q ( x , y , z ) ∂ y + ∂ R ( x , y , z ) ∂ z \text{div}\; \vec{v}=\nabla\cdot \vec{v}=(\frac{\partial}{\partial x} ,\frac{\partial}{\partial y} ,\frac{\partial}{\partial z} )\cdot\Big(P(x,y,z),Q(x,y,z),R(x,y,z)\Big)\\ =\frac{\partial P(x,y,z)}{\partial x} +\frac{\partial Q(x,y,z)}{\partial y} +\frac{\partial R(x,y,z)}{\partial z} divv =∇⋅v =(∂x∂​,∂y∂​,∂z∂​)⋅(P(x,y,z),Q(x,y,z),R(x,y,z))=∂x∂P(x,y,z)​+∂y∂Q(x,y,z)​+∂z∂R(x,y,z)​

  • 当 div v ⃗ > 0 \text{div}\; \vec{v}>0 divv >0, 该点有发散通量的正源(发散源)
  • 当 div v ⃗ < 0 \text{div}\; \vec{v}<0 divv <0, 该点有吸收通量的负源(汇聚源)
  • 当 div v ⃗ > 0 \text{div}\; \vec{v}>0 divv >0, 该点无源

1.4 拉普拉斯算子

在通常我们遇到的数据集或者函数都是标量而非矢量, 函数或者数据的每一个样本点可通过求梯度获得矢量场, 然后可通过求解矢量场的散度获得有源性, 称为拉普拉斯算子. 拉普拉斯算子本质上是梯度的散度.

对于多元函数 f ( x , y , z ) f(x,y,z) f(x,y,z), 其拉普拉斯运算可表示为
Δ f = d i v ⋅ g r a d f = ∇ ⋅ ∇ f = ∇ 2 f = ( ∂ ∂ x , ∂ ∂ y , ∂ ∂ z ) ⋅ ( ∂ f ∂ x , ∂ f ∂ y , ∂ f ∂ z ) = ∂ 2 f ∂ x 2 + ∂ 2 f ∂ y 2 + ∂ 2 f ∂ z 2 \Delta f = div \cdot grad f = \nabla\cdot \nabla f = \nabla^2 f\\ =(\frac{\partial}{\partial x} ,\frac{\partial}{\partial y} ,\frac{\partial}{\partial z} )\cdot(\frac{\partial f}{\partial x} ,\frac{\partial f}{\partial y} ,\frac{\partial f}{\partial z} )\\ =\frac{\partial ^2f}{\partial x^2} +\frac{\partial^2 f}{\partial y^2} +\frac{\partial^2 f}{\partial z^2} Δf=div⋅gradf=∇⋅∇f=∇2f=(∂x∂​,∂y∂​,∂z∂​)⋅(∂x∂f​,∂y∂f​,∂z∂f​)=∂x2∂2f​+∂y2∂2f​+∂z2∂2f​

2. 图像或图上的拉普拉斯算子

从拉普拉斯算子的形式上看是梯度的散度, 或者是二阶偏导数的和. 在应用过程中由于涉及到求二阶偏导数, 这就是的其很容易应用于笛卡尔坐标系中的图像数据, 而对于图结构数据的应用则需要一定的推广.

2.1 离散网格上的拉普拉斯算子

图像虽然是非结构化数据, 但是其形式非常特殊, 像素点可看作函数值, 而且有规整的离散网格形式, 图像的行、列、通道符合笛卡尔直角坐标系, 满足两两互相垂直, 很容易通过函数定义进行计算.

对于规整的图像数据而言, 拉普拉斯本质上可看作是对每个像素至的加权求和, 即

Δ f ( x , y ) = ( 1 , 1 , 1 , 1 , − 4 ) ( f ( x − 1 , y ) , f ( x + 1 , y ) , f ( x , y − 1 ) , f ( x , y + 1 ) ) \Delta f(x,y)=(1,1,1,1,-4)\Big(f(x-1,y), f(x+1,y), f(x,y-1), f(x,y+1)\Big) Δf(x,y)=(1,1,1,1,−4)(f(x−1,y),f(x+1,y),f(x,y−1),f(x,y+1))
如图所示

通过构造卷积核的方式利用拉普拉斯值的大小和正负很容易应用于点检测; 同样, 也可以利用拉普拉斯算子构造卷积核进行线检测.

2.2 图(graph)上的拉普拉斯算子

拉普拉斯算子处理的对象一般是在欧氏空间中的,而图上的拉普拉斯不能直接套用图像上的拉普拉斯算子, 而需要将其拓展到了非欧氏空间上,因为其处理的数据不在是规则区域,而是具有一定拓扑结构的图。

规则结构的图像上的拉普拉斯算子的操作主要是对中心点的周围点进行运算,如果类比到图上的话就是对应顶点的邻接点。同样我们也需要定义一个关于顶点的函数来与之前的多元函数对应,并且还要相应的定义偏导与散度。

由于graph不像不像活着连续函数有像素值或者函数值, 所以在求梯度时不容易, 因此, 我们需要给顶点定义函数. 另外, graph 中有边和权重组成, 记为 G ( W , E , V ) \mathcal{G}(W,E,V) G(W,E,V). 下面通过一个图信号 f = ( 3 , 5 , − 2 , 1 , − 5 ) ⊤ f = (3,5,-2,1,-5)^\top f=(3,5,−2,1,−5)⊤ 为例来展示如何定义图拉普拉斯

2.2.1 图的梯度(考虑边的方向和权重)

∇ f ( e A B ) = 5 × ( 5 − 3 ) = 10 \nabla f(e_{AB})=5\times(5-3)=10 ∇f(eAB​)=5×(5−3)=10
∇ f ( e A C ) = 3 × ( − 2 − 3 ) = − 15 \nabla f(e_{AC})=3\times(-2-3)=-15 ∇f(eAC​)=3×(−2−3)=−15
∇ f ( e B D ) = 7 × ( 1 − 5 ) = − 28 \nabla f(e_{BD})=7\times(1-5)=-28 ∇f(eBD​)=7×(1−5)=−28
∇ f ( e B E ) = 2 × ( − 5 − 5 ) = − 20 \nabla f(e_{BE})=2\times(-5-5)=-20 ∇f(eBE​)=2×(−5−5)=−20
∇ f ( e C D ) = 1 × ( 1 − ( − 2 ) ) = 3 \nabla f(e_{CD})=1\times(1-(-2))=3 ∇f(eCD​)=1×(1−(−2))=3
∇ f ( e D E ) = 4 × ( − 5 − 1 ) = − 24 \nabla f(e_{DE})=4\times(-5-1)=-24 ∇f(eDE​)=4×(−5−1)=−24

所以, 可知每个点的梯度为
∇ f ( A ) = ( 10 , − 15 ) ⊤ \nabla f(A)=(10,-15)^\top ∇f(A)=(10,−15)⊤
∇ f ( B ) = ( 10 , − 28 , − 20 ) ⊤ \nabla f(B) = (10,-28,-20)^\top ∇f(B)=(10,−28,−20)⊤
∇ f ( C ) = ( − 15 , 3 ) ⊤ \nabla f(C)=(-15,3)^\top ∇f(C)=(−15,3)⊤
∇ f ( D ) = ( − 28 , 3 , − 24 ) ⊤ \nabla f(D)=(-28,3,-24)^\top ∇f(D)=(−28,3,−24)⊤
∇ f ( E ) = ( − 20 , − 24 ) ⊤ \nabla f(E)=(-20,-24)^\top ∇f(E)=(−20,−24)⊤

函数 f \boldsymbol{f} f 的梯度为

g r a d f = [ 10 − 15 − 28 − 20 3 − 24 ] grad \boldsymbol{f}=\left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ] gradf= ​10−15−28−203−24​ ​
用矩阵进行表示
g r a d f = ∇ f = [ − 5 5 0 0 0 − 3 0 3 0 0 0 − 7 0 7 0 0 − 2 0 0 2 0 0 − 1 1 0 0 0 0 − 4 4 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ 10 − 15 − 28 − 20 3 − 24 ] grad \boldsymbol{f}=\nabla\boldsymbol{f}=\left[ \begin{array}{c} -5&5&0&0&0\\ -3&0&3&0&0\\ 0&-7&0&7&0\\ 0&-2&0&0&2\\ 0&0&-1&1&0\\ 0&0&0&-4&4 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ] gradf=∇f= ​−5−30000​50−7−200​0300−10​00701−4​000204​ ​⋅ ​35−21−5​ ​= ​10−15−28−203−24​ ​

∇ f = [ 5 3 7 2 1 4 ] ⋅ [ − 1 1 0 0 0 − 1 0 1 0 0 0 − 1 0 1 0 0 − 1 0 0 1 0 0 − 1 1 0 0 0 0 − 1 1 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ 10 − 15 − 28 − 20 3 − 24 ] \nabla\boldsymbol{f}=\left[ \begin{array}{c} 5&&&&&\\ &3&&&&\\ &&7&&&\\ &&&2&&\\ &&&&1&\\ &&&&&4 \end{array} \right ]\cdot \left[ \begin{array}{c} -1&1&0&0&0\\ -1&0&1&0&0\\ 0&-1&0&1&0\\ 0&-1&0&0&1\\ 0&0&-1&1&0\\ 0&0&0&-1&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ] ∇f= ​5​3​7​2​1​4​ ​⋅ ​−1−10000​10−1−100​0100−10​00101−1​000101​ ​⋅ ​35−21−5​ ​= ​10−15−28−203−24​ ​

矩阵乘法的解释如图所示

2.2.2 图上的散度

graph 中的散度不同于图像中散度的求法, 因为图像或者函数是在直角坐标系中进行运算, 而 graph 中的方向不是互相垂直的, 因此, 我们认为每条边都互相垂直, 可通过边的方向的正负求偏导数

拉普拉斯(梯度的散度)
Δ f ( A ) = ∇ ⋅ ∇ f ( A ) = ( − 1 , − 1 ) ( 10 , − 15 ) ⊤ = − 5 \Delta f(A)=\nabla\cdot\nabla f(A)=(-1,-1)(10,-15)^\top=-5 Δf(A)=∇⋅∇f(A)=(−1,−1)(10,−15)⊤=−5
Δ f ( B ) = ∇ ⋅ ∇ f ( B ) = ( 1 , − 1 , − 1 ) ( 10 , − 28 , − 20 ) ⊤ = 58 \Delta f(B)=\nabla\cdot\nabla f(B)=(1,-1, -1)(10,-28,-20)^\top=58 Δf(B)=∇⋅∇f(B)=(1,−1,−1)(10,−28,−20)⊤=58
Δ f ( C ) = ∇ ⋅ ∇ f ( C ) = ( 1 , − 1 ) ( − 15 , 3 ) ⊤ = − 18 \Delta f(C)=\nabla\cdot\nabla f(C)=(1,-1)(-15,3)^\top=-18 Δf(C)=∇⋅∇f(C)=(1,−1)(−15,3)⊤=−18
Δ f ( D ) = ∇ ⋅ ∇ f ( A ) = ( 1 , 1 , − 1 ) ( − 28 , 3 , − 24 ) ⊤ = − 1 \Delta f(D)=\nabla\cdot\nabla f(A)=(1,1,-1)(-28,3,-24)^\top=-1 Δf(D)=∇⋅∇f(A)=(1,1,−1)(−28,3,−24)⊤=−1
Δ f ( E ) = ∇ ⋅ ∇ f ( A ) = ( 1 , 1 ) ( − 20 , − 24 ) ⊤ = − 44 \Delta f(E)=\nabla\cdot\nabla f(A)=(1,1)(-20,-24)^\top=-44 Δf(E)=∇⋅∇f(A)=(1,1)(−20,−24)⊤=−44

图信号 f \boldsymbol{f} f 的梯度的散度为 ∇ 2 f = [ − 5 , 58 , − 18 , − 1 , − 44 ] ⊤ \nabla^2\boldsymbol{f}=[-5,58,-18,-1,-44]^\top ∇2f=[−5,58,−18,−1,−44]⊤

矩阵表示为
∇ 2 f = [ − 1 − 1 0 0 0 0 1 0 − 1 − 1 0 0 0 1 0 0 − 1 0 0 0 1 0 1 − 1 0 0 0 1 0 1 ] ⋅ [ 10 − 15 − 28 − 20 3 − 24 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} -1&-1&0&0&0&0\\ 1&0&-1&-1&0&0\\ 0&1&0&0&-1&0\\ 0&0&1&0&1&-1\\ 0&0&0&1&0&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 10\\ -15\\ -28\\ -20\\ 3\\ -24 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f= ​−11000​−10100​0−1010​0−1001​00−110​000−11​ ​⋅ ​10−15−28−203−24​ ​= ​−558−18−1−44​ ​

综上可知

∇ 2 f = [ − 1 − 1 0 0 0 0 1 0 − 1 − 1 0 0 0 1 0 0 − 1 0 0 0 1 0 1 − 1 0 0 0 1 0 1 ] ⋅ [ 5 3 7 2 1 4 ] ⋅ [ − 1 1 0 0 0 − 1 0 1 0 0 0 − 1 0 1 0 0 − 1 0 0 1 0 0 − 1 1 0 0 0 0 − 1 1 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} -1&-1&0&0&0&0\\ 1&0&-1&-1&0&0\\ 0&1&0&0&-1&0\\ 0&0&1&0&1&-1\\ 0&0&0&1&0&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 5&&&&&\\ &3&&&&\\ &&7&&&\\ &&&2&&\\ &&&&1&\\ &&&&&4 \end{array} \right ]\cdot \left[ \begin{array}{c} -1&1&0&0&0\\ -1&0&1&0&0\\ 0&-1&0&1&0\\ 0&-1&0&0&1\\ 0&0&-1&1&0\\ 0&0&0&-1&1 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f= ​−11000​−10100​0−1010​0−1001​00−110​000−11​ ​⋅ ​5​3​7​2​1​4​ ​⋅ ​−1−10000​10−1−100​0100−10​00101−1​000101​ ​⋅ ​35−21−5​ ​= ​−558−18−1−44​ ​

∇ 2 f = [ − 5 − 3 0 0 0 0 5 0 − 7 − 2 0 0 0 3 0 0 − 1 0 0 0 7 0 1 − 2 0 0 0 2 0 2 ] ⋅ [ − 5 5 0 0 0 − 3 0 3 0 0 0 − 7 0 7 0 0 − 2 0 0 2 0 0 − 1 1 0 0 0 0 − 2 2 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} -\sqrt{5}&-\sqrt{3}&0&0&0&0\\ \sqrt{5}&0&-\sqrt{7}&-\sqrt{2}&0&0\\ 0&\sqrt{3}&0&0&-1&0\\ 0&0&\sqrt{7}&0&1&-2\\ 0&0&0&\sqrt{2}&0&2 \end{array} \right ]\cdot \left[ \begin{array}{c} -\sqrt{5}&\sqrt{5}&0&0&0\\ -\sqrt{3}&0&\sqrt{3}&0&0\\ 0&-\sqrt{7}&0&\sqrt{7}&0\\ 0&-\sqrt{2}&0&0&\sqrt{2}\\ 0&0&-1&1&0\\ 0&0&0&-2&2 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f= ​−5 ​5 ​000​−3 ​03 ​00​0−7 ​07 ​0​0−2 ​002 ​​00−110​000−22​ ​⋅ ​−5 ​−3 ​0000​5 ​0−7 ​−2 ​00​03 ​00−10​007 ​01−2​0002 ​02​ ​⋅ ​35−21−5​ ​= ​−558−18−1−44​ ​

这种矩阵表达形式也可以表示为

∇ 2 f = [ 8 − 5 − 3 0 0 − 5 14 0 − 7 − 2 − 3 0 4 − 1 0 0 − 7 − 1 12 − 4 0 − 2 0 − 4 6 ] ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\left[ \begin{array}{c} 8&-5&-3&0&0\\ -5&14&0&-7&-2\\ -3&0&4&-1&0\\ 0&-7&-1&12&-4\\ 0&-2&0&-4&6 \end{array} \right ]\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f= ​8−5−300​−5140−7−2​−304−10​0−7−112−4​0−20−46​ ​⋅ ​35−21−5​ ​= ​−558−18−1−44​ ​

或可表示为

∇ 2 f = ( [ 8 14 4 12 6 ] − [ 0 5 3 0 0 5 0 0 7 2 3 0 0 1 0 0 7 1 0 4 0 2 0 4 0 ] ) ⋅ [ 3 5 − 2 1 − 5 ] = [ − 5 58 − 18 − 1 − 44 ] \nabla^2 \boldsymbol{f}=\Bigg(\left[ \begin{array}{c} 8&&&&\\ &14&&&\\ &&4&&\\ &&&12&\\ &&&&6 \end{array} \right ]-\left[ \begin{array}{c} 0&5&3&0&0\\ 5&0&0&7&2\\ 3&0&0&1&0\\ 0&7&1&0&4\\ 0&2&0&4&0 \end{array} \right ]\Bigg)\cdot \left[ \begin{array}{c} 3\\ 5\\ -2\\ 1\\ -5 \end{array} \right ] =\left[ \begin{array}{c} -5\\ 58\\ -18\\ -1\\ -44 \end{array} \right ] ∇2f=( ​8​14​4​12​6​ ​− ​05300​50072​30010​07104​02040​ ​)⋅ ​35−21−5​ ​= ​−558−18−1−44​ ​

2.2.3 拉普拉斯矩阵

如2.2.2节的例子所示, 拉普拉斯矩阵是梯度的散度形式的矩阵表达. 把有向图看作无向图可表示为一个邻接矩阵(对称矩阵)
W = [ 0 5 3 0 0 5 0 0 7 2 3 0 0 1 0 0 7 1 0 4 0 2 0 4 0 ] W = \left[ \begin{array}{c} 0&5&3&0&0\\ 5&0&0&7&2\\ 3&0&0&1&0\\ 0&7&1&0&4\\ 0&2&0&4&0 \end{array} \right ] W= ​05300​50072​30010​07104​02040​ ​

度矩阵为对角阵
D = [ 8 14 4 12 6 ] D = \left[ \begin{array}{c} 8&&&&\\ &14&&&\\ &&4&&\\ &&&12&\\ &&&&6 \end{array} \right ] D= ​8​14​4​12​6​ ​

则拉普拉斯矩阵可表示为

L = D − W L = D-W L=D−W

若定义矩阵 M M M

M i j = { − w i j i < j 0 i = j w i j i > j M_{ij} = \left\{\begin{array}{c} -\sqrt{w_{ij}}&i<j\\ 0&i=j\\ \sqrt{w_{ij}}&i>j \end{array} \right. Mij​=⎩ ⎨ ⎧​−wij​ ​0wij​ ​​i<ji=ji>j​
则拉普拉斯矩阵也可以表示为

L = M ⊤ M L=M^\top M L=M⊤M

2.3 无向图上的拉普拉斯算子

首先我们需要借助图像函数的思想, 为每个顶点赋予一个通用的函数 f f f. 第 i i i 个点的梯度可表示为 { w i j ( f i − f j ) } j = 1 N i \Big\{w_{ij}(f_i-f_j)\Big\}_{j=1}^{N_i} {wij​(fi​−fj​)}j=1Ni​​, 对梯度分量在求梯度和的时候, 由于图的特殊性, 不考虑坐标轴而是有向图只考虑出发为-1, 进入为 1; 无向图则不考虑出发和进入, 全部为 1, 则无向图的单个顶点的拉普拉斯(本质上是在度量差异性)可表示为

L a p ( f i ) = Σ j ∈ N i ⏟ d i v o f u n d e r e c t i o n g r a p h w i j ( f i − f j ) ⏟ g r a d = Σ j ∈ N i w i j f i − Σ j ∈ N i w i j f j = ( w i 1 f i + w i 2 f i + ⋯ + w i n f i ) − ( w i 1 f 1 + w i 2 f 2 + ⋯ + w i N i f N i ) = ( w i 1 + w i 2 + ⋯ + w i n ) f i − ( w i 1 f 1 + w i 2 f 2 + ⋯ + w i N i f N i ) = d i f i − w i , : f \begin{array}{l} Lap( f_i)=\underbrace{\Sigma_{j\in N_i}}_{div\;of\; underection\;graph}\underbrace{w_{ij}(f_i-f_j)}_{grad}\\ =\Sigma_{j\in N_i}w_{ij}f_i-\Sigma_{j\in N_i}w_{ij}f_j\\ =(w_{i1}f_i+w_{i2}f_i+\cdots+w_{in}f_i)-(w_{i1}f_1+w_{i2}f_2+\cdots+w_{i{N_i}}f_{N_i})\\ =(w_{i1}+w_{i2}+\cdots+w_{in})f_i-(w_{i1}f_1+w_{i2}f_2+\cdots+w_{i{N_i}}f_{N_i})\\ =d_if_i-w_{i,:}\boldsymbol f \end{array} Lap(fi​)=divofunderectiongraph Σj∈Ni​​​​grad wij​(fi​−fj​)​​=Σj∈Ni​​wij​fi​−Σj∈Ni​​wij​fj​=(wi1​fi​+wi2​fi​+⋯+win​fi​)−(wi1​f1​+wi2​f2​+⋯+wiNi​​fNi​​)=(wi1​+wi2​+⋯+win​)fi​−(wi1​f1​+wi2​f2​+⋯+wiNi​​fNi​​)=di​fi​−wi,:​f​

对于图上的所有顶点的拉普拉斯可表示为
L a p ( f ) = [ L a p ( f 1 ) L a p ( f 2 ) ⋯ L a p ( f n ) ] = [ d 1 f 1 − w 1 , : f d 2 f 2 − w 2 , : f ⋯ d n f n − w n , : f ] = [ d 1 f 1 d 2 f 2 ⋯ d n f n ] − [ w 1 , : w 2 , : ⋯ w n , : ] f = ( d 1 d 2 ⋱ d n ) ( f 1 f 2 ⋮ f n ) − [ w 1 , : w 2 , : ⋯ w n , : ] f = D f − W f = ( D − W ) f = L f \begin{array}{l} Lap( \boldsymbol f)=\begin{bmatrix} Lap( f_1)\\ Lap( f_2)\\ \cdots\\ Lap( f_n) \end{bmatrix} =\begin{bmatrix} d_1f_1-w_{1,:}\boldsymbol f\\ d_2f_2-w_{2,:}\boldsymbol f\\ \cdots \\ d_nf_n-w_{n,:}\boldsymbol f \end{bmatrix} =\begin{bmatrix} d_1f_1 \\ d_2f_2 \\ \cdots \\ d_nf_n \end{bmatrix}- \begin{bmatrix} w_{1,:} \\ w_{2,:} \\ \cdots \\ w_{n,:} \end{bmatrix}\boldsymbol f\\ =\begin{pmatrix} d_1 & & & \\ & d_2 & & \\ & & \ddots & \\ & & &d_n \end{pmatrix}\begin{pmatrix} f_1\\ f_2\\ \vdots \\ f_n \end{pmatrix}- \begin{bmatrix} w_{1,:} \\ w_{2,:} \\ \cdots \\ w_{n,:} \end{bmatrix}\boldsymbol f\\ =D\boldsymbol f-W\boldsymbol f=(D-W)\boldsymbol{f}=L\boldsymbol{f} \end{array} Lap(f)= ​Lap(f1​)Lap(f2​)⋯Lap(fn​)​ ​= ​d1​f1​−w1,:​fd2​f2​−w2,:​f⋯dn​fn​−wn,:​f​ ​= ​d1​f1​d2​f2​⋯dn​fn​​ ​− ​w1,:​w2,:​⋯wn,:​​ ​f= ​d1​​d2​​⋱​dn​​ ​ ​f1​f2​⋮fn​​ ​− ​w1,:​w2,:​⋯wn,:​​ ​f=Df−Wf=(D−W)f=Lf​
矩阵 L = D − W L=D-W L=D−W称为矩阵 W W W的拉普拉斯矩阵。

2.3 图拉普拉斯矩阵的性质

如果对拉普拉斯矩阵进行特征值分解, 特征方程为 L u = λ u L\boldsymbol{u}=\lambda \boldsymbol{u} Lu=λu. 由于图拉普拉斯矩阵的行和为 0 0 0, 则其最小的特征值为0, 特征向量为全 1 1 1 的列向量.

算法设计与智能计算 || 专题八: 拉普拉斯算子与图拉普拉斯相关推荐

  1. 拉普拉斯算子的疑惑--拉普拉斯算子作用于矢量和定义Hessian矩阵时遇到的问题

    拉普拉斯算子的疑惑 国内许多工科教材在讲到有关拉普拉斯算子(Δ\DeltaΔ)与哈密顿算子(∇\nabla∇)的内容时含混不清,忽略了许多重要定义,使得一些进一步的推导难以理解 现记录我发现的两个主要 ...

  2. 拉普拉斯算子_图机器学习图拉普拉斯算子的离散正则性,141页ppt,Discrete regularity graph Laplacians...

    本文由专知微信公众号整理, 图Laplacian的谱在数据科学中起着重要的作用,是聚类和降维算法的基础,如光谱聚类.Laplacian特征图.扩散图等.在这堂课中,我们将介绍图泊松方程的新的Lipsc ...

  3. 算法设计技巧与分析(八):随机算法(Randomized Algorithms)

    文章目录 随机算法(Randomized Algorithms) 一.随机选择(Randomized Selection) 二.测试字符串相等性(Testing String Equality) 三. ...

  4. 5.8 拉普拉斯算子和拉普拉斯矩阵,图拉普拉斯算子推导

  5. 基于双向LSTM的影评情感分析算法设计学习记录

    引言 需求分析,技术可行性(目前的研究进度),主流怎么做?我要如何做? 随着互联网技术的飞速发展及联网的便捷,越来越多的人在网上表达自己的意见.其中,电影评论受到广泛关注.很多人选择在闲暇时间观看电影 ...

  6. 指令集创始人潘爱民博士参加之江实验室“第二届智能计算创新论坛”并作报告...

    2022年10月19日-20日,之江实验室联合Science/AAAS举办了"第二届智能计算创新论坛".指令集智能科技创始人潘爱民博士,作为之江实验室智能计算数字反应堆首席架构师受 ...

  7. 成立智能计算事业部,华为在下什么大棋?

    几年前,在一个研讨会上,我问过与会嘉宾,我们ICT(或者说电子信息产业)发展的终结目标是什么?经过讨论,我们的答案是"要构建一个平行于我们现实世界的虚拟数字世界."现在,这个目标正 ...

  8. 从复现人类智能到挑战AI大工程,智能计算正经历什么考验?

    来源:AI科技评论 作者:杏花 编辑:青暮 世界顶级机器学习专家Michael I.Jordan曾提出一个观点,他认为人工智能正逐步由原理性研究,走向人工智能大工程. Michael I.Jordan ...

  9. 【图的着色问题】算法设计与分析实验1

    计算机科学与工程学院实验报告 课程名称 算法设计与分析 班级 实验内容 实验1:图的着色问题 指导教师 姓名 重剑DS 学号 实验日期 2022.04.28 一.问题描述,含输入.输出数据内容.格式 ...

最新文章

  1. 山东华为服务器安装系统,山东云服务器平台安装
  2. vue-自定义组件传值
  3. 一个有意思的js小问题
  4. 网友怒喷运营商“为推广5G故意调慢4G网速!”官方紧急回应!
  5. python matplotlib模块教程_Python中的Matplotlib模块入门教程
  6. 安装pycharm软件后,打开robot framework怎么默认用pycharm打开
  7. php zip class,DedeCMS 自带压缩工具 zip.class.php 的用法
  8. 春运期间长江海事局开辟四类运输“绿色通道”
  9. 自动装配的几种方式——Spring IOC/DI(四)
  10. 抖音去水印最新php方法代码
  11. 数独终盘生成器(调试成果)
  12. c++八大排序算法详解
  13. 【个人积累】轨道根数六要素中第4、5项的理解与STK仿真演示
  14. Unity 代码加密 Mono 编译与加密 windows版
  15. RS232和RS485概念与区别
  16. python图片修改过、有原图、怎么得到改动的地方_python--修改证件照的大小
  17. 【VBA】通过VBA实现EXCEL真正的全屏显示
  18. 中专学校计算机科目试讲稿,中专10分钟试讲教案模板
  19. IT人的5G网络架构视点:从网络架构演进的前世今生详解5G各NF网络功能体
  20. Dynamic Debug [dyndbg] 概述

热门文章

  1. 阅读:朱自清《大学的路》
  2. python中rstrip是什么意思_【详解】python中字符串的strip(),lstrip(),rstrip()的含义...
  3. 郑州北大软件公司一轮游(java实习)
  4. 内连接与外连接的时候场景
  5. 7大单兵武器库下载 | 渗透测试集成系统环境
  6. 汽车业内软件编码规范--MISRA C简介
  7. 怎么把多张图片合成为一张?
  8. 【Python】超简单的华容道小游戏制作+保姆级讲解(附源码)
  9. 实现原理 扫描枪_条码扫描枪的工作原理是什么?
  10. 使用html和css进行红米案例、学成在线开发