圖神經網絡學習筆記:拉普拉斯矩陣

拉普拉斯矩陣定義爲:

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}

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