图神经网络学习笔记:拉普拉斯矩阵

拉普拉斯矩阵定义为:

L=DA L = D - A

其中,AA表示邻接矩阵,DD表示度矩阵。

拉普拉斯矩阵的元素级别定义

Lij={deg(vi)ifi=j1ifeijE0otherwise L_{{\operatorname{ij}}} = \left\{\begin{array}{ll} \deg (v_i) & {\operatorname{if}}i = j\\ - 1 & {\operatorname{if}}e_{{\operatorname{ij}}} \in E\\ 0 & {\operatorname{otherwise}} \end{array}\right.

拉普拉斯矩阵正则化形式(symmetric normalized
laplacian):Lsym=D12LD12L_{{\operatorname{sym}}} = D^{- \frac{1}{2}} LD^{- \frac{1}{2}}

Lsym=[i,j]={1ifi=j1deg(v1)deg(v2)ifeijE0otherwise L_{{\operatorname{sym}}} = [i, j] = \left\{\begin{array}{ll} 1 & {\operatorname{if}}i = j\\ \frac{- 1}{\sqrt{\deg (v_1) \deg (v_2)}} & {\operatorname{if}}e_{{\operatorname{ij}}} \in E\\ 0 & {\operatorname{otherwise}} \end{array}\right.

  • 是对称矩阵
  • 有实特征值
  • 有实正交特征矩阵(意味着VVT=EVV^T = E,即V1=VTV^{- 1} = V^T

这意味着可以被正交对角化,即L=VΛV1L = V \Lambda V^{- 1},又VV是正交矩阵,则L=VΛVTL = V \Lambda V^T

拉普拉斯算子矩阵的定义来源于拉普拉斯算子,拉普拉斯算子是n维欧式空间中的一个二阶微分算子:Δf=i=1n2fxi2\Delta f = \sum_{i = 1}^n \frac{\partial^2 f}{\partial x_i^2}

把拉普拉斯算子用于图像,就变成了边缘检测算子:[˙010˙141˙010˙]\left[\begin{array}{ccc}˙ 0 & 1 & 0\\˙ 1 & - 4 & 1\\˙ 0 & 1 & 0˙\end{array}\right]

Δf=2f(x,y)x2+2f(x,y)y2=[f(x+1,y)f(x,y)f(x1,y)]+[(f(x,y+1)f(x,y))(f(x,y)f(x,y1)]=[f(x+1,y)+f(x1,y)+f(x,y+1)+f(x,y1)]4f(x,y) \begin{array}{rcl} \Delta f & = & \frac{\partial^2 f (x, y)}{\partial x^2} + \frac{\partial^2 f (x, y)}{\partial y^2}\\ & = & [f (x + 1, y) - f (x, y) - f (x - 1, y)] + [( f (x, y + 1) - f (x, y)) - (f (x, y) - f (x, y - 1)]\\ & = & [f (x + 1, y) + f (x - 1, y) + f (x, y + 1) + f (x, y - 1)] - 4 f (x, y) \end{array}

为什么拉普拉斯矩阵的定义为:L=DAL = D - A?

思考,既然拉普拉斯算子是二阶微分,那么

  • 图上的函数是什么?
  • 图上的函数梯度是什么?

我在b站看到这两个问题的时候,对拉普拉斯矩阵的理解就突然有感觉了。

注:下面的解释是从b站看的,我还没看到其他的参考资料。所以这里只做理解用。频域、谱域以及拉普拉斯算子在图上的应用 ,参考:https://b23.tv/av51204684/p7

第一种定义

  1. 图上的函数是什么?
    对任一结点i,f(i)=f (i) =结点的出度
  2. 图上的函数梯度是什么?
    f()f (\cdot)在结点i处沿着结点j方向的导数=f(i)f(j)= f (i) - f (j)
    f()f (\cdot)在结点i处的梯度变化率==结点i出度方向上的导数和-结点i入度方向上的导数和

考虑下图
在这里插入图片描述
可得

f=[3010]Tf=[e1e2e3e4]T//=[f(1)f(2)f(1)f(3)f(1)f(4)f(3)f(4)]//[0323301021013010]=[3231]Tf=[e1+e2+e3e1e4e2e3e4]=[8314]T \begin{array}{rcl} f & = & \left[\begin{array}{cccc} 3 & 0 & 1 & 0 \end{array}\right]^T\\ f' & = & \left[\begin{array}{cccc} e_1 & e_2 & e_3 & e_4 \end{array}\right]^T / /只考虑存在的边\\ & = & \left[\begin{array}{c} f (1) - f (2)\\ f (1) - f (3)\\ f (1) - f (4)\\ f (3) - f (4) \end{array}\right] / /方向是边的方向,完整的 \left[\begin{array}{cccc} 0 & 3 & 2 & 3\\ - 3 & 0 & - 1 & 0\\ - 2 & 1 & 0 & 1\\ - 3 & 0 & - 1 & 0 \end{array}\right]\\ & = & \left[\begin{array}{cccc} 3 & 2 & 3 & 1 \end{array}\right]^T\\ f' 变化率 & = & \left[\begin{array}{c} e_1 + e_2 + e_3\\ - e_1\\ e_4 - e_2\\ - e_3 - e_4 \end{array}\right]\\ & = & \left[\begin{array}{cccc} 8 & - 3 & - 1 & - 4 \end{array}\right]^T \end{array}

第二种定义

  1. 图上的函数是什么?
    对任一结点i,f(i)=f (i) =结点的出度
  2. 图上的函数梯度是什么?
    KK为关联矩阵
    f()f (\cdot)的梯度=KTf= K^T f
    梯度变化率=KKTf= KK^T f​

f=[3010]TK=[1110100001010011]KTf=[3231]TKKTf=[8314]T \begin{array}{rcl} f & = & \left[\begin{array}{cccc} 3 & 0 & 1 & 0 \end{array}\right]^T\\ K & = & \left[\begin{array}{cccc} 1 & 1 & 1 & 0\\ - 1 & 0 & 0 & 0\\ 0 & - 1 & 0 & 1\\ 0 & 0 & - 1 & - 1 \end{array}\right]\\ K^T f & = & \left[\begin{array}{cccc} 3 & 2 & 3 & 1 \end{array}\right]^T\\ KK^T f & = & \left[\begin{array}{cccc} 8 & - 3 & - 1 & - 4 \end{array}\right]^T \end{array}

注意KKT=[˙3111˙1100˙1021˙1012˙]KK^T = \left[\begin{array}{cccc}˙ 3 & - 1 & - 1 & - 1\\˙ - 1 & 1 & 0 & 0\\˙ - 1 & 0 & 2 & - 1\\˙ - 1 & 0 & - 1 & 2˙\end{array}\right]为对应无向图的拉普拉斯矩阵

验证

L=DA=diag([3,1,2,2])[0111100010011010]=[3111110010211012] \begin{array}{rcl} L & = & D - A\\ & = & {\operatorname{diag}} ([3, 1, 2, 2]) - \left[\begin{array}{cccc} 0 & 1 & 1 & 1\\ 1 & 0 & 0 & 0\\ 1 & 0 & 0 & 1\\ 1 & 0 & 1 & 0 \end{array}\right]\\ & = & \left[\begin{array}{cccc} 3 & - 1 & - 1 & - 1\\ - 1 & 1 & 0 & 0\\ - 1 & 0 & 2 & - 1\\ - 1 & 0 & - 1 & 2 \end{array}\right] \end{array}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章