之前對圖卷積也有淺顯的研究,譜圖卷積核心就是在圖拉普拉斯運算元上做操作。但是對於圖拉普拉斯運算元一直懵懵懂懂,對於其定義有一種「好像有道理又不知為何如此」感覺,只知其一不知其二。而基本所有的資料都直接告訴你圖拉普拉斯矩陣就是D-W,久而久之就忘記追尋這種定義的源頭了。

注: 以下沒有特別嚴謹的數學推導,有些數學表達式不太嚴謹,主要源於類比+簡單推導,主要想說清楚圖上拉普拉斯運算元為啥這麼定義。如有不對,希望批評指正。

希望我可以表達清楚...


先說圖拉普拉斯運算元的定義,有很多種,主要是以下2種:

  1. L = D-W
  2. L^{nor} = D^{-frac 1 2}LD^{-frac 1 2} 或者 L^{nor} = D^{-1}L

其實就是一種啦,第二種是第一種的normalized形式而已。

關鍵問題是,為什麼圖的拉普拉斯運算元定義為 L=D-W ?呢???

先從拉普拉斯運算元說起...

拉普拉斯運算元數學定義是這樣的: 	riangle = sum_ifrac {delta^2} {delta x_i^2}

其含義很明確,是非混合二階偏導數的和!

要明白這個是其嚴謹的數學定義,所有的xxx拉普拉斯運算元都是其一個特例,或是某種情況下的一種近似。


我們先看看圖像處理上怎麼近似的。

圖像是一種離散數據,那麼其拉普拉斯運算元必然要進行離散化。

從導數定義說起

egin{aligned} f(x) &= frac {delta f(x)}{delta x}\ &approx f(x+1)-f(x)\ end{aligned}

那麼:

egin{aligned} frac {delta^2 f(x)}{delta x^2} &= f(x) \ &approx f(x)-f(x-1) \ &approx f(x+1)-f(x) - (f(x) - f(x-1))\ &=f(x+1)+f(x-1)-2f(x) end{aligned}

結論1:二階導數近似等於其二階差分。

結論2:二階導數等於其在所有自由度上微擾之後獲得的增益。一維函數其自由度可以理解為2,分別是+1和-1兩個方向。

對於二維的圖像來說,其有兩個方向(4個自由度)可以變化,即如果對(x,y)處的像素進行擾動,其可以變為四種狀態(x+1,y),(x-1,y),(x,y+1),(x,y-1)。當然了,如果將對角線方向也認為是一個自由度的話,會再增加幾種狀態(x+1,y+1),(x+1,y-1),(x-1,y+1),(x-1,y-1),事實上圖像處理上正是這種。再當然了,如果你認為對一個像素進行微擾可能變為任何一個像素,那它的自由度就是整個圖片的像素數(不過這還叫微擾嗎?)。其實結論差不多,就討論第一種吧。

egin{aligned} 	riangle &=frac {delta^2 f(x,y)}{delta x^2} + frac {delta^2 f(x,y)}{delta y^2} \ &approx f(x+1,y)+f(x-1,y)-2f(x,y) + [f(x,y+1)+f(x,y-1)-2f(x,y)]\ &= f(x+1,y)+f(x-1,y)+f(x,y+1)+f(x,y-1)-4f(x,y) end{aligned}

上式可以理解為,在圖像上某一點,其拉普拉斯運算元的值,即為對其進行擾動,使其變化到相鄰像素後得到的增益。

這給我們一種形象的結論:拉普拉斯運算元就是在所有自由度上進行微小變化後獲得的增益。


那麼推廣到Graph,對於有N個節點的Graph,就設節點為 1,...,N ?吧,且其鄰接矩陣為?W。

這個Graph的自由度是多少呢?答案是最多為N

因為如果該圖是一個完全圖,即任意兩個節點之間都有一條邊,那麼對一個節點進行微擾,它可能變成任意一個節點。

那麼上面的函數f就理所當然是一個N維的向量,即:

f = (f_1,...,f_N)

其中 f_i ?即表示函數f在節點i的值。類比f(x,y)即為f在(x,y)處的值。

對於任意節點i:

對i節點進行微擾,它可能變為任意一個與他相鄰的節點 jinmathcal{N_i} ?,其中? mathcal{N_i} 表示節點i的一階鄰域節點。

我們上面結論說了,拉普拉斯運算元就是在所有自由度上進行微小變化後獲得的增益。

但是對於Graph,從節點i變化到節點j增益是多少呢?即 f_j-f_i ?是多少呢?最容易想到就是和他們之間的邊權相關。那就姑且當成 W_{ij} ?吧!

那麼,對於節點i來說,其變化的增益就是 sum_{jinmathcal{N}_i}W_{ij}[f_j-f_i]?

所以,對於Graph來說,其拉普拉斯運算元如下:

egin{aligned} (	riangle f)_i &=sum_i frac {delta^2 f} {delta i^2}\ &approx sum_{jinmathcal{N}_i}W_{ij}[f_j-f_i] end{aligned}

上式 jinmathcal{N}_i ?可以去掉,因為節點i和j不直接相鄰的話, W_{ij} = 0 ?;

繼續化簡一下:

egin{aligned} sum_{jinmathcal{N}_i}W_{ij}[f_j-f_i]&=sum_{j}W_{ij}f_j - sum_{j}W_{ij}f_i\ &=(Wf)_i - (Df)_i \ &=[(W-D)f]_i end{aligned}

即:

    (	riangle f)_i =[(W-D)f]_i

對於任意的i成立,那麼也就是:

	riangle f equiv(W-D)f

也就是圖上的拉普拉斯運算元應該定義為W-D?!

畢!

注: 以上沒有特別嚴謹的數學推導,甚至數學表達式都不太嚴謹,主要源於類比+簡單推導,主要想說清楚圖上拉普拉斯運算元為啥這麼定義。如有不對,希望批評指正。

推薦閱讀:

相关文章