Courant-Fischer定理、譜圖分析和圖的分割

田神發表於2018-09-26

一、Courant-Fischer定理

“In linear algebra and functional analysis, the min-max theorem, or variational theorem, or Courant–Fischer–Weyl min-max principle, is a result that gives a variational characterization of eigenvalues of compact Hermitian operators on Hilbert spaces. It can be viewed as the starting point of many results of similar nature.”
——https://en.wikipedia.org/wiki/Min-max_theorem
講的是Courant–Fischer–Weyl min-max principle(最小-最大定理)給出了一個關於Hermitian矩陣特徵值的變分特性描述。以下是該定理的一個推導:
1、Hermitian矩陣 H\mathbf H 定義
具有以下特性的矩陣,被稱為Hermitian矩陣:
H=H, where H=HˉT(1)\mathbf H=\mathbf H^* \text{, where $\mathbf H^*=\bar{\mathbf H}^T$}\qquad(1)
H\mathbf H^*H\mathbf H 的共軛轉置,即H\mathbf H 與它的共軛轉置矩陣 H\mathbf H^* 相等。若 H\mathbf H 為實數陣,則有H=H=HT\mathbf H =\mathbf H^*=\mathbf H^T,即實對稱陣為Hermitian矩陣。
2、Hermitian矩陣 H\mathbf H 的性質
性質1:
若A是H矩陣(Hermitian矩陣,簡稱為H矩陣),對於任意向量 xCn\mathbf x \in \mathbb C^nxTAx\mathbf x^TA\mathbf x 是實數。
性質2:
H矩陣的特徵值皆為實數。
性質3:
H矩陣相異特徵值對應的特徵向量互為正交。
Rayleigh Quotient (Rayleigh商, R)定義:
R=xAxxx(2) R = \frac{\mathbf x^*\mathbf A\mathbf x}{\mathbf x^*\mathbf x}\qquad(2)
Courant-Fischer便是討論 Rayleigh Quotient 的界問題。
命題1:
A\mathbf A是形狀為 n×nn \times nH\mathbf H 矩陣,它的特徵值(eigenvalues)皆為實數,設為 λ1λ2λn\lambda_1\ge\lambda_2\cdots\ge\lambda_n,則有:
{maxx0xAxxx=λ1 minx0xAxxx=λn(3) \left\{ \begin{array}{c} \max_{x\neq0}\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}=\lambda_1\\ \ \\ \min_{x\neq0}\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}=\lambda_n \end{array} \right. \qquad(3)
即Rayleigh商的上界是最大特徵值(λ1\lambda_1),下界是最小特徵值(λn\lambda_n)。
證明:
Λ=diag(λ1,λ2, ,λn)\mathbf \Lambda = diag(\lambda_1,\lambda_2,\cdots,\lambda_n),這些特徵值對應的歸一化特徵向量為{u1,u2, ,un}\{ \mathbf u_1,\mathbf u_2,\cdots,\mathbf u_n\},即 ui=1\Vert \mathbf u_i \Vert=1,且uiTuj=0 (if i not equal j)\mathbf u_i^T\mathbf u_j=\mathbf 0\text{ (if i not equal j)}。令U=[u1,u2, ,un]\mathbf U =[ \mathbf u_1,\mathbf u_2,\cdots,\mathbf u_n],則有 A=UΛU\mathbf A = \mathbf U \mathbf \Lambda \mathbf U^*。代入(2)有:
R=xAxxx=xUΛUxxIx=xUΛUxxUUx Let z=Ux=[zi],i[1,n] R=zΛzzz=λ1z12++λnzn2z12++zn2λ1(4) R=\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}=\frac{\mathbf x^*\mathbf U\mathbf \Lambda \mathbf U^*\mathbf x}{\mathbf x^*\mathbf I\mathbf x}=\frac{\mathbf x^*\mathbf U\mathbf \Lambda \mathbf U^*\mathbf x}{\mathbf x^*\mathbf U\mathbf U^*\mathbf x}\\ \ \\ \text{Let } \mathbf z=\mathbf U^*\mathbf x=[z_i] ,i\in[1,n]\\ \ \\ R=\frac{\mathbf z^*\mathbf \Lambda \mathbf z}{\mathbf z^*\mathbf z}=\frac{\lambda_1\vert z_1\vert^2+\cdots + \lambda_n\vert z_n\vert^2}{\vert z_1\vert^2+\cdots+\vert z_n\vert^2}\le \lambda_1\qquad(4)
同理,可得:
R=xAxxxλn(z12++zn2)z12++zn2=λn(5) R=\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}\ge \frac{\lambda_n(\vert z_1\vert^2+\cdots + \vert z_n\vert^2)}{\vert z_1\vert^2+\cdots+\vert z_n\vert^2}= \lambda_n \qquad(5)
證畢。

可利用(4)最大化原則、(5)最小化原則求出H矩陣的最大和最小特徵值,能否求出其餘的特徵值(eigenvalues):λ2, ,λn1\lambda_2,\cdots,\lambda_{n-1}?倘若僅考慮與最大特徵值的特徵向量 u1\mathbf u_1 的正交子空間中的向量 x\mathbf x,即 xTu1=0\mathbf x^T\mathbf u_1=0,令:
z=Ux=[u1, ,un]x=(0,z2,z3, ,zn)T \mathbf z=\mathbf U^*\mathbf x=[\mathbf u_1,\cdots,\mathbf u_n]^*\mathbf x=(0,z_2,z_3,\cdots,z_n)^T
根據上述 Hermitian矩陣 的性質3,可以令 U\mathbf UA\mathbf A列向量(col vector)所在向量空間(vector space)的標準正交基,z\mathbf z 是任意非0向量x\mathbf x 在此基上的座標向量。因此有:
xAxxx=xUΛUxxx=zΛzzz=λ2z22++λnzn2z22++zn2λ2(6).as zz=xx \frac{\mathbf x^*\mathbf A\mathbf x}{\mathbf x^*\mathbf x}=\frac{\mathbf x^*\mathbf U\mathbf \Lambda \mathbf U^*\mathbf x}{\mathbf x^*\mathbf x}=\frac{\mathbf z^*\mathbf \Lambda \mathbf z}{\mathbf z^*\mathbf z}=\frac{\lambda_2\vert z_2\vert^2+\cdots + \lambda_n\vert z_n\vert^2}{\vert z_2\vert^2+\cdots+\vert z_n\vert^2}\le \lambda_2\qquad(6)\\ .\\\text{as }\mathbf z^*\mathbf z=\mathbf x^*\mathbf x
也就有:
maxx0,xu1xAxxx=λ2(7) \max_{\mathbf x\neq0,\mathbf x \bot \mathbf u_1}\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}=\lambda_2\qquad(7)
(7)求解必須要知道 u1\mathbf u_1,若要繞過它,考慮 Cn\mathbb C^n 中任意向量 w\mathbf w,令 xw\mathbf x \bot \mathbf w ,則有:
Let z=Ux , so 0=xw=(Uz)w=zUw, so zUw\text{Let } \mathbf z=\mathbf U^*\mathbf x\text{ , so}\\ \ \\ \mathbf 0=\mathbf x^* \mathbf w=(\mathbf U \mathbf z)^*\mathbf w=\mathbf z^*\mathbf U^*\mathbf w,\text{ so}\\ \ \\ \mathbf z\bot \mathbf U^*\mathbf w
V={zCnzUw}V=\{z\in \mathbb C^n\vert \mathbf z\bot \mathbf U^*\mathbf w\},且 V={zCnzUw,z3==zn=0}V'=\{z\in \mathbb C^n\vert \mathbf z\bot \mathbf U^*\mathbf w,z_3=\cdots=z_n=0\},則有 VVV'\subset V,所以:
maxx0,xwxAxxx=maxz0,zUwzΛzzz=maxz0,zVzΛzzz maxz0,zVzΛzzz=maxz0,zVλ1z12+λ2z22z12+z22λ2(8) \max_{\mathbf x\neq0,\mathbf x \bot \mathbf w}\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}=\max_{\mathbf z\neq0,\mathbf z \bot \mathbf U^*\mathbf w}\frac{\mathbf z^*\mathbf \Lambda \mathbf z}{\mathbf z^*\mathbf z}=\max_{\mathbf z\neq0,\mathbf z \in V}\frac{\mathbf z^*\mathbf \Lambda \mathbf z}{\mathbf z^*\mathbf z}\\ \ \\ \ge\max_{\mathbf z\neq0,\mathbf z \in V'}\frac{\mathbf z^*\mathbf \Lambda \mathbf z}{\mathbf z^*\mathbf z}=\max_{\mathbf z\neq0,\mathbf z \in V'}\frac{\lambda_1\vert z_1 \vert^2+\lambda_2\vert z_2 \vert^2}{\vert z_1 \vert^2+\vert z_2 \vert^2}\ge \lambda_2\qquad(8)
前面的不等式成立的原因是在 V{0}V'\setminus\{0\} 所得的最大值,它必不大於在 V{0}V\setminus\{0\} 中的最大值;後面的不等式則源於 λ1λ2\lambda_1 \ge \lambda_2。因為 w\mathbf w 是任意固定向量,對於所有可能的 w\mathbf w 獲得的極小值也必然大於 λ2\lambda_2,亦即:
minwmaxx0,xwxAxxxλ2(9) \min_{\mathbf w}\max_{\mathbf x\neq0,\mathbf x \bot \mathbf w}\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}\ge \lambda_2 \qquad(9)
此不等式的等號成立於w=u1\mathbf w=\mathbf u_1,因此有:
minwmaxx0,xwxAxxx=λ2(10) \min_{\mathbf w}\max_{\mathbf x\neq0,\mathbf x \bot \mathbf w}\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}= \lambda_2 \qquad(10)
設想在任意的n-1維子空間,亦即與w\mathbf w 正交的正交子空間中尋找Rayleigh商的最大值,這個子空間未必包含任何特徵向量,但我們可以確知其中必定有某個子空間不包含對應最大特徵值λ1\lambda_1的特徵向量u1\mathbf u_1,而從該子空間所能找到的最大Rayleigh商正好是在所有n-1維空間所能找到的最小值
如果交換max和min位置,我們可以得到:
maxwminx0,xwxAxxx=λn1(11) \max_{\mathbf w}\min_{\mathbf x\neq0,\mathbf x \bot \mathbf w}\frac{\mathbf x^*\mathbf A \mathbf x}{\mathbf x^*\mathbf x}=\lambda_{n-1} \qquad(11)
完整的最小-最大定理還包括其他的特徵值的推導。詳細見【1】:
https://ccjou.wordpress.com/2010/03/16/hermitian-矩陣特徵值的變化界定/
本文上半部分幾乎都是抄自於此。

二、譜圖分析(Spectral Graph Analysis)

詳細可參看:

  • 譜圖(Spectral Graph Theory)理解(1)
    https://blog.csdn.net/StreamRock/article/details/82754539
  • 譜圖(Spectral Graph Theory)理解(2)
    https://blog.csdn.net/StreamRock/article/details/82769865
    “譜圖”簡單說就是通過矩陣的方式,描述圖中頂點(Vertex)與邊(Edge,頂點之間的連線)的關係,這些關係可以歸結以下矩陣關係為:
    L —— 圖(Graph)的Laplacian矩陣,形狀為n×nn \times n,n是Graph的頂點數量;
    W ——圖(Graph)的Weight矩陣,反映邊的特性,是實對稱陣(Real Symmatry Matrix);
    D ——圖(Graph)的Degree矩陣,反映頂點的特性,是對角矩陣(Diagonal Matrix),其中對角元素 dii=jwijd_{ii}=\sum_j w_{ij}
    有:
    L=DW(12) L=D-W\qquad(12)
    LL 是一個實對稱矩陣,若Graph為全連通圖,則LL 滿秩,其列空間的基為n維,將其特徵值按從大到小排列有:
    λ1λ2λn\lambda_1 \ge\lambda_2\cdots\ge\lambda_n,則定義Λ=diag(λ1,λ2, ,λn)\mathbf \Lambda=diag(\lambda_1,\lambda_2,\cdots,\lambda_n)
    其對應的特徵向量,可進行標準化(正交和歸一化處理)有:
    u1u2un, where ui=1\mathbf u_1 \bot\mathbf u_2\cdots\bot\mathbf u_n,\text{ where }\Vert \mathbf u_i\Vert=1,可定義U=[u1,u2, ,un]\mathbf U=[\mathbf u_1 ,\mathbf u_2,\cdots,\mathbf u_n]
    LL 符合上述Courant-Fischer定理的要求,因此可以用該定理討論Graph的Laplacian矩陣。

三、圖的分割

詳細內容可參看《Normalized Cuts and Image Segmentation》【2】,或:譜圖(Spectral Graph Theory)理解(2)【3】
https://blog.csdn.net/StreamRock/article/details/82769865
圖的分割是指將圖分割成幾部分,其中最簡單的是二分割(two-way partition):令 G=(V,E)G=(V,E),V是圖G的所有頂點組成的頂點集,E是頂點間的連線。A是V的一個子集,則有:A+Aˉ=VA+\bar A=V,因而A,AˉA,\bar A是V的一個二分割。將Graph表示成矩陣形式,則可以獲得該Graph的Laplacian矩陣。通過對Laplacian特徵值的討論,分割問題最後可以歸結為:
{minxNcut(x)=minyyT(DW)yyTDy where y(i){1,b} and yTD1=0(13)\left\{ \begin{array}{c} \min_xNcut(\mathbf x)=\min_y\frac{\mathbf y^T(D-W)\mathbf y}{\mathbf y^TD\mathbf y}\\ \ \\ \text{where } y(i)\in \{1,-b\}\text{ and }\mathbf y^TD\mathbf 1=\mathbf 0\end{array} \right.\qquad(13)
詳細的推導可見【2】、【3】。將y(i)的取值範圍放寬到整個實數域,觀察到(13)min()中分母部分 yTDyy^TDy 與Rayleigh商稍有差別,因此做變數轉換,令 z=D12y\mathbf z=\mathbf D^{\frac{1}{2}}\mathbf y,代入(13)為:
minxNcut(x)=minyyT(DW)yyTDy=minyzTD12(DW)D12zzTz Let L=D12(DW)D12, so  minxNcut(x)=minzzTLzzTz,and yTD1=0(14) \min_xNcut(\mathbf x)=\min_y\frac{\mathbf y^T(D-W)\mathbf y}{\mathbf y^TD\mathbf y}=\min_y\frac{\mathbf z^TD^{\frac{1}{2}}(D-W)D^{\frac{1}{2}}\mathbf z}{\mathbf z^T\mathbf z}\\ \ \\ \text{Let }\mathcal L=D^{-\frac{1}{2}}(D-W)D^{-\frac{1}{2}},\text{ so }\\ \ \\\min_xNcut(\mathbf x)=\min_z\frac{\mathbf z^T \mathcal L\mathbf z}{\mathbf z^T\mathbf z}, \text{and } \mathbf y^TD\mathbf 1=\mathbf 0\qquad(14)
這是典型的Rayleigh商求最小值,由Courant-Fischer定理可知(14)最小值是在其最小特徵值-特徵向量處得到,於是(14)等價於求解 L\mathcal L 的特徵值-特徵向量,於是有:
Lz=λzD12(DW)D12z=λz(15) \mathcal L \mathbf z = \lambda \mathbf z\\D^{-\frac{1}{2}}(D-W)D^{-\frac{1}{2}}\mathbf z = \lambda \mathbf z\qquad(15)
因為(DW)1=0(D-W)\mathbf 1=\mathbf 0,因此 zn=D121\mathbf z_n=D^{\frac{1}{2}}\mathbf 1L\mathcal L 的特徵值為0(最小特徵值)的特徵向量。聯絡到(13)的約束條件:
yTD1=0yTD12D121=0zTzn=0(16) \mathbf y^TD\mathbf 1=\mathbf 0\Rightarrow \mathbf y^TD^{\frac{1}{2}}D^{\frac{1}{2}}\mathbf 1=\mathbf 0\Rightarrow \mathbf z^T\cdot \mathbf z_n=\mathbf 0\qquad(16)
(16)表示z\mathbf z 的取值空間必垂直於最小特徵向量,由(9)、(10)有(14)的最小值等於L\mathcal L第二最小特徵值λn1\lambda_{n-1},此時z\mathbf z等於特徵向量un1\mathbf u_{n-1}。於是,圖的分割問題最終轉化成在尋找Graph的Laplacian矩陣第二小的特徵值和特徵向量問題。

四、影像(Image)前景與背景的分割

一幅影像(Image)可以看成是一個圖(Graph),影像中每一個畫素(pixel)對應圖中每一個頂點(vertex),可根據畫素之間的關係可定義邊。於是一幅影像可以用圖的Laplacian矩陣表示,對於一幅圖進行前景和背景分割,可看作是圖的二分割。
一幅n×nn\times n影像,對應的Laplacian矩陣為n2×n2n^2\times n^2,以下討論僅通過亮度通道進行分割的情況:
1、定義權重矩陣W(有時又稱為親和度矩陣A,Affinity Matrix,親和矩陣如何定義,往往是不同影像分割演算法區別的關鍵地方)。為簡便起見,定義它的每個元素如下:
wij={eXiXj22σx2if X(i)X(j)2<r,and ij0otherwise(17) w_{ij}=\left\{ \begin{array}{cc} e^{-\frac{\Vert X_i-X_j\Vert^2_2}{\sigma^2_x}} & \text{if $\Vert X(i)-X(j)\Vert_2 \lt r$,and $i\neq j$}\\0& \text{otherwise} \end{array} \right.\qquad(17)
(17)中,XiX_i 表示畫素上的亮度,X(i)X(i) 表示畫素的位置,X(i)X(j)2<r\Vert X(i)-X(j)\Vert_2\lt r 表示兩個畫素之間的幾何距離小於r,σx2\sigma^2_x是畫素亮度的方差。
W是實對稱矩陣,再由W定義對角矩陣D,我們便可以得到影像的Laplacian矩陣L=DWL=D-W。由(16)可知,影像分割問題可轉化為尋找它的Laplacian矩陣第二小特徵向量問題,即:
zn1=argminzD121zTD12(DW)D12zzTz(18) \mathbf z_{n-1} = \arg\min_{\mathbf z \bot D^{\frac{1}{2}}\mathbf 1} \frac {\mathbf z^T D^{-\frac{1}{2}}(D-W)D^{-\frac{1}{2}}\mathbf z}{\mathbf z^T\mathbf z}\qquad(18)
由於我們在定義親和度矩陣時,採用了window方式,因此L\mathcal L必然是非常稀疏的矩陣,可以通過Lanczos algorithm方法進行求解,詳細敘述在:
https://en.wikipedia.org/wiki/Lanczos_algorithm

小結:

少輝常說,學習應當放在某個情景中,則所學知其所為,效率會大大提高。通過影像分割來學習這其中的圖譜理論、Courant-Fischer定理、Lanczos algorithm應當屬於此類情景學習了。


參考資料:
【1】https://ccjou.wordpress.com/2010/03/16/hermitian-矩陣特徵值的變化界定/
【2】《Normalized Cuts and Image Segmentation》
【3】譜圖(Spectral Graph Theory)理解(2)
https://blog.csdn.net/StreamRock/article/details/82769865

相關文章