1. 參考論文
Reweighted Random Walks for Graph Matching【1】
The pagerank citation ranking: Bringing order to the web【2】
A spectral technique for correspondence problems using pairwise constraints【3】
2. 論文概述
論文提出了全新的思路——馬爾科夫鏈去解決圖匹配問題,提出了“基本版” Random Walk 並從隨機游走角度恰好解釋了【3】的譜方法SM的理論。隨后根據【2】的思路改進成 RRM,通過實驗證明其效果還是蠻不錯的。
3. 論文介紹
3.1 傳統問題描述
傳統的圖匹配問題,優化的目標函數為:
通過限制條件可以看出這是 IQP (integer quadratic program) 問題,其中 w 是兩個圖的相似度矩陣,x 是排列矩陣的列向量化(vec)
3.2 Markov角度問題描述
這是論文最核心的地方,即如何將傳統的圖匹配問轉化為隨機過程Markov的問題。我們先看平時場見的相似度矩陣 w 的形式:
觀察上圖(g),可以發現不管行、列,其坐標每一項代表含義都是兩圖中兩個點的假設對應關系,如 1a 。我們最終的目的也是找到類似如此的對應關系,只不過這里借助的是相似度矩陣。
那么,作者就是從相似度矩陣出發,將其改造成隨機游走模型,如圖:
兩個圖P、Q的點的對應關系就當作Grw的結點,而相似度矩陣的對角線上的值(即一階點的對應關系)當作Grw的 attribute,相似度矩陣非對角線上的 attribute 當作Grw的兩個頂點(如13--22)構成的邊的值。這樣一來,我們將相似度矩陣就變換成了Grw的形式,同時,整個圖匹配問題,變成了在改圖上的隨機游走過程,最終的目標成了在Grw上選點的過程—— To select the nodes in Grw( selecting reliable nodes in the Grw)
而如何選點,論文借鑒了【2】.
3.3 轉移矩陣
Markov 過程需要一個轉移矩陣(概率矩陣),那么對應到這里,怎么構建呢?首先可以明確的是,肯定是從 w 入手,將其改造成轉移矩陣——每行和為1,每一項 ≥ 0(滿足)。
對於前者條件,一種常見的思路是:
即求 w 每一行的和,然后改行分別處以該數——但是其弊處明顯,文中提到這種做法會放大不匹配點的概率,即相似度矩陣本來是相似度值的大小,通過除法,會削弱相似度大的值,反之放大原本小的值的匹配概率(如 1 0 2;3 0 6;---->均為 1/3 0 2/3)
作者采用將 w 矩陣每一項均除以 max(sum(和)),即以此做法保護原來相似度值較大的點。思路是這樣,然后為了滿足Markov的sum(行)=1的特點,需要改造轉移矩陣:
其中左式 P 就是轉移矩陣,其中dmax = max(sum(行和)),d(向量)是每行和,式子第一項就是為了滿足轉移矩陣行和為1,同時底部第二行是為了保證P是個方陣,原本是 xP,既然 P 是多了一項,所以改造x,引入(x xabs)P,即如上圖右邊式子,上標n代表轉移次數
而引入 xabs,其實就是對Grw再此進行改造,增加一個虛擬結點(absorb 吸收點),因為 P 的轉移概率是(0000....000 1), 即恰好代表 nm*nm+1 這個結點不會轉移到其他點,只能自轉移,概率為1。
如下圖,就是引入該 abs 的圖
3.4 為什么求解Markov鏈的穩態就是結果
論文最終就是通過 P 轉移矩陣,求得 x 的穩態(穩態Markov鏈),我想因為 x 的初始分布(應該)可以平均分配(即隨機游走開始(1/mn*mn 1/mn*mn.....)),而Grw的edge代表了相似度,進一步該相似度被轉化成了P(即概率表示),那么最終得到的 x 的值(再還原回矩陣)代表了兩兩結點如何匹配的score,然后使用匈牙利算法即可選出該x還原回來的矩陣的最佳匹配score
至於為什么穩態(轉移矩陣n次冪)一定存在:
但是如果按上述設計轉移矩陣 P,其最終的迭代結果是 (00000....000 1),所以如果迭代到一定次數即可,得到近似解
3.5 RM與SM效果的一致性證明
作者提到,RM 是從隨機游走角度解釋了譜方法【2】的做法(即選取 w 的最大特征值),證明如下:
首先引入一個概率分布
其中 X^(n) 是隨機變量表示(2)轉移公式中節點在n時刻的位置,x(hat)ia(n) 是如上定義的概率,表示為游走到absorb node 點的條件概率。同時記
同時給出定義、定理:
然后
這里一定要注意,個人覺得,按照上述P的轉移矩陣, XP---XPP----XPPP..... 最后X 一定變成了(0000 1),前面提過這點。所以這里 xhat(n) 表示的是條件概率,即不是以任意點開始游走,然后均以 absorb node 點為最終結果的的概率,也就是沒有算到最后穩態(迭代到穩態之前停止),那么
根據 Perron Frobenius theorem,① w 是不可約的 ② x hat 是非負的,則上述 “lamda” 是最大左特征值,對應的 x hat 是特征向量。
而這正好同SM【3】觀點相同,得到近似解,則只要求 w 的最大特征向量,隨后矩陣化得到排列矩陣
3.6 Reweighted Random Walk
通過RW,已經達到了SM的效果,更進一步,作者還是根據【2】的思路設計了RRW——作者給出的RW的不足的解釋是IQP的subject限制條件未在Markov中體現(這里我不理解,是≤1這個條件未滿足?我覺得RRW最大的好處就是inflation,①在游走的時候讓相似度大的點得到更到的被選概率②jump的存在提供了游走的更多狀態空間,詳見下) :
RRW就是改造轉移概率,提出 personalization jump,即在Grw中可以選擇①按照現有的邊走下一步②也可以直接jump到其點
阿爾法就是選擇繼續按邊walk 還是 1-α 選擇jump。其中 r 是 reweighting jump vector 。
關於 r 的設計,一種方法是:直接使用當前的 x ,弊端是會讓錯誤匹配(相似度點較小)的點不能在初期的迭代中排除掉。作者設計 r 從兩個角度:① inflation ② bistochastic normalization。后者是歸一化成雙隨機矩陣。
前者使用這樣一個公式:,用意是:
Strong candidates are amplified while weak candidates are attenuated。
所以最終:
其中 fc函數就是實現 inflation 和 bistochastic normalization的
3.7 RRW Algorithm
最后得到的 x 是個矩陣score,類似如下:
通過匈牙利算法可以得到選擇行列匹配關系是score最大的。匈牙利算法