拉普拉斯矩阵定义为:
L = D − A L = D - A L=D−A
其中, A A A表示邻接矩阵, D D D表示度矩阵。
拉普拉斯矩阵的元素级别定义
L ij = { deg ( v i ) if i = j − 1 if e ij ∈ E 0 otherwise 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. Lij=⎩⎨⎧deg(vi)−10ifi=jifeij∈Eotherwise
拉普拉斯矩阵正则化形式(symmetric normalized
laplacian): L sym = D − 1 2 L D − 1 2 L_{{\operatorname{sym}}} = D^{- \frac{1}{2}} LD^{- \frac{1}{2}} Lsym=D−21LD−21
L sym = [ i , j ] = { 1 if i = j − 1 deg ( v 1 ) deg ( v 2 ) if e ij ∈ E 0 otherwise 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. Lsym=[i,j]=⎩⎪⎨⎪⎧1deg(v1)deg(v2)−10ifi=jifeij∈Eotherwise
这意味着可以被正交对角化,即 L = V Λ V − 1 L = V \Lambda V^{- 1} L=VΛV−1,又 V V V是正交矩阵,则 L = V Λ V T L = V \Lambda V^T L=VΛVT。
拉普拉斯算子矩阵的定义来源于拉普拉斯算子,拉普拉斯算子是n维欧式空间中的一个二阶微分算子: Δ f = ∑ i = 1 n ∂ 2 f ∂ x i 2 \Delta f = \sum_{i = 1}^n \frac{\partial^2 f}{\partial x_i^2} Δf=∑i=1n∂xi2∂2f。
把拉普拉斯算子用于图像,就变成了边缘检测算子: [ ˙ 0 1 0 ˙ 1 − 4 1 ˙ 0 1 0 ˙ ] \left[\begin{array}{ccc}˙ 0 & 1 & 0\\˙ 1 & - 4 & 1\\˙ 0 & 1 & 0˙\end{array}\right] ⎣⎡˙0˙1˙01−41010˙⎦⎤
Δ f = ∂ 2 f ( x , y ) ∂ x 2 + ∂ 2 f ( x , y ) ∂ 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 ) \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} Δf===∂x2∂2f(x,y)+∂y2∂2f(x,y)[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)]−4f(x,y)
为什么拉普拉斯矩阵的定义为: L = D − A L = D - A L=D−A?
思考,既然拉普拉斯算子是二阶微分,那么
我在b站看到这两个问题的时候,对拉普拉斯矩阵的理解就突然有感觉了。
注:下面的解释是从b站看的,我还没看到其他的参考资料。所以这里只做理解用。频域、谱域以及拉普拉斯算子在图上的应用 ,参考:https://b23.tv/av51204684/p7
第一种定义
f = [ 3 0 1 0 ] T f ′ = [ e 1 e 2 e 3 e 4 ] T / / 只 考 虑 存 在 的 边 = [ f ( 1 ) − f ( 2 ) f ( 1 ) − f ( 3 ) f ( 1 ) − f ( 4 ) f ( 3 ) − f ( 4 ) ] / / 方 向 是 边 的 方 向 , 完 整 的 [ 0 3 2 3 − 3 0 − 1 0 − 2 1 0 1 − 3 0 − 1 0 ] = [ 3 2 3 1 ] T f ′ 变 化 率 = [ e 1 + e 2 + e 3 − e 1 e 4 − e 2 − e 3 − e 4 ] = [ 8 − 3 − 1 − 4 ] 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} ff′f′变化率======[3010]T[e1e2e3e4]T//只考虑存在的边⎣⎢⎢⎡f(1)−f(2)f(1)−f(3)f(1)−f(4)f(3)−f(4)⎦⎥⎥⎤//方向是边的方向,完整的⎣⎢⎢⎡0−3−2−330102−10−13010⎦⎥⎥⎤[3231]T⎣⎢⎢⎡e1+e2+e3−e1e4−e2−e3−e4⎦⎥⎥⎤[8−3−1−4]T
第二种定义
f = [ 3 0 1 0 ] T K = [ 1 1 1 0 − 1 0 0 0 0 − 1 0 1 0 0 − 1 − 1 ] K T f = [ 3 2 3 1 ] T K K T f = [ 8 − 3 − 1 − 4 ] 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} fKKTfKKTf====[3010]T⎣⎢⎢⎡1−10010−10100−1001−1⎦⎥⎥⎤[3231]T[8−3−1−4]T
注意 K K T = [ ˙ 3 − 1 − 1 − 1 ˙ − 1 1 0 0 ˙ − 1 0 2 − 1 ˙ − 1 0 − 1 2 ˙ ] 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] KKT=⎣⎢⎢⎡˙3˙−1˙−1˙−1−1100−102−1−10−12˙⎦⎥⎥⎤为对应无向图的拉普拉斯矩阵
验证
L = D − A = diag ( [ 3 , 1 , 2 , 2 ] ) − [ 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 ] = [ 3 − 1 − 1 − 1 − 1 1 0 0 − 1 0 2 − 1 − 1 0 − 1 2 ] \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} L===D−Adiag([3,1,2,2])−⎣⎢⎢⎡0111100010011010⎦⎥⎥⎤⎣⎢⎢⎡3−1−1−1−1100−102−1−10−12⎦⎥⎥⎤