我是靠谱客的博主 个性面包,最近开发中收集的这篇文章主要介绍Courant-Fischer定理、谱图分析和图的分割,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、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 H 定义
具有以下特性的矩阵,被称为Hermitian矩阵:
H = H ∗ , where  H ∗ = H ˉ T ( 1 ) mathbf H=mathbf H^* text{, where $mathbf H^*=bar{mathbf H}^T$}qquad(1) H=H, where H=HˉT(1)
H ∗ mathbf H^* H H mathbf H H 的共轭转置,即 H mathbf H H 与它的共轭转置矩阵 H ∗ mathbf H^* H 相等。若 H mathbf H H 为实数阵,则有 H = H ∗ = H T mathbf H =mathbf H^*=mathbf H^T H=H=HT,即实对称阵为Hermitian矩阵。
2、Hermitian矩阵 H mathbf H H 的性质
性质1:
若A是H矩阵(Hermitian矩阵,简称为H矩阵),对于任意向量 x ∈ C n mathbf x in mathbb C^n xCn x T A x mathbf x^TAmathbf x xTAx 是实数。
性质2:
H矩阵的特征值皆为实数。
性质3:
H矩阵相异特征值对应的特征向量互为正交。
Rayleigh Quotient (Rayleigh商, R)定义:
R = x ∗ A x x ∗ x ( 2 ) R = frac{mathbf x^*mathbf Amathbf x}{mathbf x^*mathbf x}qquad(2) R=xxxAx(2)
Courant-Fischer便是讨论 Rayleigh Quotient 的界问题。
命题1:
A mathbf A A是形状为 n × n n times n n×n H mathbf H H 矩阵,它的特征值(eigenvalues)皆为实数,设为 λ 1 ≥ λ 2 ⋯ ≥ λ n lambda_1gelambda_2cdotsgelambda_n λ1λ2λn,则有:
{ max ⁡ x ≠ 0 x ∗ A x x ∗ x = λ 1   min ⁡ x ≠ 0 x ∗ A x x ∗ x = λ n ( 3 ) left{ begin{array}{c} max_{xneq0}frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}=lambda_1\ \ min_{xneq0}frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}=lambda_n end{array} right. qquad(3) maxx̸=0xxxAx=λ1 minx̸=0xxxAx=λn(3)
即Rayleigh商的上界是最大特征值( λ 1 lambda_1 λ1),下界是最小特征值( λ n lambda_n λn)。
证明:
Λ = d i a g ( λ 1 , λ 2 , ⋯   , λ n ) mathbf Lambda = diag(lambda_1,lambda_2,cdots,lambda_n) Λ=diag(λ1,λ2,,λn),这些特征值对应的归一化特征矢量为 { u 1 , u 2 , ⋯   , u n } { mathbf u_1,mathbf u_2,cdots,mathbf u_n} {u1,u2,,un},即 ∥ u i ∥ = 1 Vert mathbf u_i Vert=1 ui=1,且 u i T u j = 0  (if i not equal j) mathbf u_i^Tmathbf u_j=mathbf 0text{ (if i not equal j)} uiTuj=0 (if i not equal j)。令 U = [ u 1 , u 2 , ⋯   , u n ] mathbf U =[ mathbf u_1,mathbf u_2,cdots,mathbf u_n] U=[u1,u2,,un],则有 A = U Λ U ∗ mathbf A = mathbf U mathbf Lambda mathbf U^* A=UΛU。代入(2)有:
R = x ∗ A x x ∗ x = x ∗ U Λ U ∗ x x ∗ I x = x ∗ U Λ U ∗ x x ∗ U U ∗ x   Let  z = U ∗ x = [ z i ] , i ∈ [ 1 , n ]   R = z ∗ Λ z z ∗ z = λ 1 ∣ z 1 ∣ 2 + ⋯ + λ n ∣ z n ∣ 2 ∣ z 1 ∣ 2 + ⋯ + ∣ z n ∣ 2 ≤ λ 1 ( 4 ) R=frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}=frac{mathbf x^*mathbf Umathbf Lambda mathbf U^*mathbf x}{mathbf x^*mathbf Imathbf x}=frac{mathbf x^*mathbf Umathbf Lambda mathbf U^*mathbf x}{mathbf x^*mathbf Umathbf U^*mathbf x}\ \ text{Let } mathbf z=mathbf U^*mathbf x=[z_i] ,iin[1,n]\ \ R=frac{mathbf z^*mathbf Lambda mathbf z}{mathbf z^*mathbf z}=frac{lambda_1vert z_1vert^2+cdots + lambda_nvert z_nvert^2}{vert z_1vert^2+cdots+vert z_nvert^2}le lambda_1qquad(4) R=xxxAx=xIxxUΛUx=xUUxxUΛUx Let z=Ux=[zi],i[1,n] R=zzzΛz=z12++zn2λ1z12++λnzn2λ1(4)
同理,可得:
R = x ∗ A x x ∗ x ≥ λ n ( ∣ z 1 ∣ 2 + ⋯ + ∣ z n ∣ 2 ) ∣ z 1 ∣ 2 + ⋯ + ∣ z n ∣ 2 = λ n ( 5 ) R=frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}ge frac{lambda_n(vert z_1vert^2+cdots + vert z_nvert^2)}{vert z_1vert^2+cdots+vert z_nvert^2}= lambda_n qquad(5) R=xxxAxz12++zn2λn(z12++zn2)=λn(5)
证毕。

可利用(4)最大化原则、(5)最小化原则求出H矩阵的最大和最小特征值,能否求出其余的特征值(eigenvalues): λ 2 , ⋯   , λ n − 1 lambda_2,cdots,lambda_{n-1} λ2,,λn1?倘若仅考虑与最大特征值的特征矢量 u 1 mathbf u_1 u1 的正交子空间中的向量 x mathbf x x,即 x T u 1 = 0 mathbf x^Tmathbf u_1=0 xTu1=0,令:
z = U ∗ x = [ u 1 , ⋯   , u n ] ∗ x = ( 0 , z 2 , z 3 , ⋯   , z n ) 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 z=Ux=[u1,,un]x=(0,z2,z3,,zn)T
根据上述 Hermitian矩阵 的性质3,可以令 U mathbf U U A mathbf A A列矢量(col vector)所在矢量空间(vector space)的标准正交基, z mathbf z z 是任意非0矢量 x mathbf x x 在此基上的坐标矢量。因此有:
x ∗ A x x ∗ x = x ∗ U Λ U ∗ x x ∗ x = z ∗ Λ z z ∗ z = λ 2 ∣ z 2 ∣ 2 + ⋯ + λ n ∣ z n ∣ 2 ∣ z 2 ∣ 2 + ⋯ + ∣ z n ∣ 2 ≤ λ 2 ( 6 ) . as  z ∗ z = x ∗ x frac{mathbf x^*mathbf Amathbf x}{mathbf x^*mathbf x}=frac{mathbf x^*mathbf Umathbf Lambda mathbf U^*mathbf x}{mathbf x^*mathbf x}=frac{mathbf z^*mathbf Lambda mathbf z}{mathbf z^*mathbf z}=frac{lambda_2vert z_2vert^2+cdots + lambda_nvert z_nvert^2}{vert z_2vert^2+cdots+vert z_nvert^2}le lambda_2qquad(6)\ .\text{as }mathbf z^*mathbf z=mathbf x^*mathbf x xxxAx=xxxUΛUx=zzzΛz=z22++zn2λ2z22++λnzn2λ2(6).as zz=xx
也就有:
max ⁡ x ≠ 0 , x ⊥ u 1 x ∗ A x x ∗ x = λ 2 ( 7 ) max_{mathbf xneq0,mathbf x bot mathbf u_1}frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}=lambda_2qquad(7) x̸=0,xu1maxxxxAx=λ2(7)
(7)求解必须要知道 u 1 mathbf u_1 u1,若要绕过它,考虑 C n mathbb C^n Cn 中任意向量 w mathbf w w,令 x ⊥ w mathbf x bot mathbf w xw ,则有:
Let  z = U ∗ x  , so   0 = x ∗ w = ( U z ) ∗ w = z ∗ U ∗ w ,  so   z ⊥ U ∗ w text{Let } mathbf z=mathbf U^*mathbf xtext{ , so}\ \ mathbf 0=mathbf x^* mathbf w=(mathbf U mathbf z)^*mathbf w=mathbf z^*mathbf U^*mathbf w,text{ so}\ \ mathbf zbot mathbf U^*mathbf w Let z=Ux , so 0=xw=(Uz)w=zUw, so zUw
V = { z ∈ C n ∣ z ⊥ U ∗ w } V={zin mathbb C^nvert mathbf zbot mathbf U^*mathbf w} V={zCnzUw},且 V ′ = { z ∈ C n ∣ z ⊥ U ∗ w , z 3 = ⋯ = z n = 0 } V'={zin mathbb C^nvert mathbf zbot mathbf U^*mathbf w,z_3=cdots=z_n=0} V={zCnzUw,z3==zn=0},则有 V ′ ⊂ V V'subset V VV,所以:
max ⁡ x ≠ 0 , x ⊥ w x ∗ A x x ∗ x = max ⁡ z ≠ 0 , z ⊥ U ∗ w z ∗ Λ z z ∗ z = max ⁡ z ≠ 0 , z ∈ V z ∗ Λ z z ∗ z   ≥ max ⁡ z ≠ 0 , z ∈ V ′ z ∗ Λ z z ∗ z = max ⁡ z ≠ 0 , z ∈ V ′ λ 1 ∣ z 1 ∣ 2 + λ 2 ∣ z 2 ∣ 2 ∣ z 1 ∣ 2 + ∣ z 2 ∣ 2 ≥ λ 2 ( 8 ) max_{mathbf xneq0,mathbf x bot mathbf w}frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}=max_{mathbf zneq0,mathbf z bot mathbf U^*mathbf w}frac{mathbf z^*mathbf Lambda mathbf z}{mathbf z^*mathbf z}=max_{mathbf zneq0,mathbf z in V}frac{mathbf z^*mathbf Lambda mathbf z}{mathbf z^*mathbf z}\ \ gemax_{mathbf zneq0,mathbf z in V'}frac{mathbf z^*mathbf Lambda mathbf z}{mathbf z^*mathbf z}=max_{mathbf zneq0,mathbf z in V'}frac{lambda_1vert z_1 vert^2+lambda_2vert z_2 vert^2}{vert z_1 vert^2+vert z_2 vert^2}ge lambda_2qquad(8) x̸=0,xwmaxxxxAx=z̸=0,zUwmaxzzzΛz=z̸=0,zVmaxzzzΛz z̸=0,zVmaxzzzΛz=z̸=0,zVmaxz12+z22λ1z12+λ2z22λ2(8)
前面的不等式成立的原因是在 V ′ ∖ { 0 } V'setminus{0} V{0} 所得的最大值,它必不大于在 V ∖ { 0 } Vsetminus{0} V{0} 中的最大值;后面的不等式则源于 λ 1 ≥ λ 2 lambda_1 ge lambda_2 λ1λ2。因为 w mathbf w w 是任意固定向量,对于所有可能的 w mathbf w w 获得的极小值也必然大于 λ 2 lambda_2 λ2,亦即:
min ⁡ w max ⁡ x ≠ 0 , x ⊥ w x ∗ A x x ∗ x ≥ λ 2 ( 9 ) min_{mathbf w}max_{mathbf xneq0,mathbf x bot mathbf w}frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}ge lambda_2 qquad(9) wminx̸=0,xwmaxxxxAxλ2(9)
此不等式的等号成立于 w = u 1 mathbf w=mathbf u_1 w=u1,因此有:
min ⁡ w max ⁡ x ≠ 0 , x ⊥ w x ∗ A x x ∗ x = λ 2 ( 10 ) min_{mathbf w}max_{mathbf xneq0,mathbf x bot mathbf w}frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}= lambda_2 qquad(10) wminx̸=0,xwmaxxxxAx=λ2(10)
设想在任意的n-1维子空间,亦即与 w mathbf w w 正交的正交子空间中寻找Rayleigh商的最大值,这个子空间未必包含任何特征向量,但我们可以确知其中必定有某个子空间不包含对应最大特征值 λ 1 lambda_1 λ1的特征向量 u 1 mathbf u_1 u1,而从该子空间所能找到的最大Rayleigh商正好是在所有n-1维空间所能找到的最小值
如果交换max和min位置,我们可以得到:
max ⁡ w min ⁡ x ≠ 0 , x ⊥ w x ∗ A x x ∗ x = λ n − 1 ( 11 ) max_{mathbf w}min_{mathbf xneq0,mathbf x bot mathbf w}frac{mathbf x^*mathbf A mathbf x}{mathbf x^*mathbf x}=lambda_{n-1} qquad(11) wmaxx̸=0,xwminxxxAx=λn1(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 × n n times n n×n,n是Graph的顶点数量;
    W ——图(Graph)的Weight矩阵,反映边的特性,是实对称阵(Real Symmatry Matrix);
    D ——图(Graph)的Degree矩阵,反映顶点的特性,是对角矩阵(Diagonal Matrix),其中对角元素 d i i = ∑ j w i j d_{ii}=sum_j w_{ij} dii=jwij
    有:
    L = D − W ( 12 ) L=D-Wqquad(12) L=DW(12)
    L L L 是一个实对称矩阵,若Graph为全连通图,则 L L L 满秩,其列空间的基为n维,将其特征值按从大到小排列有:
    λ 1 ≥ λ 2 ⋯ ≥ λ n lambda_1 gelambda_2cdotsgelambda_n λ1λ2λn,则定义 Λ = d i a g ( λ 1 , λ 2 , ⋯   , λ n ) mathbf Lambda=diag(lambda_1,lambda_2,cdots,lambda_n) Λ=diag(λ1,λ2,,λn)
    其对应的特征矢量,可进行标准化(正交和归一化处理)有:
    u 1 ⊥ u 2 ⋯ ⊥ u n ,  where  ∥ u i ∥ = 1 mathbf u_1 botmathbf u_2cdotsbotmathbf u_n,text{ where }Vert mathbf u_iVert=1 u1u2un, where ui=1,可定义 U = [ u 1 , u 2 , ⋯   , u n ] mathbf U=[mathbf u_1 ,mathbf u_2,cdots,mathbf u_n] U=[u1,u2,,un]
    L L L 符合上述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) G=(V,E),V是图G的所有顶点组成的顶点集,E是顶点间的连线。A是V的一个子集,则有: A + A ˉ = V A+bar A=V A+Aˉ=V,因而 A , A ˉ A,bar A A,Aˉ是V的一个二分割。将Graph表示成矩阵形式,则可以获得该Graph的Laplacian矩阵。通过对Laplacian特征值的讨论,分割问题最后可以归结为:
{ min ⁡ x N c u t ( x ) = min ⁡ y y T ( D − W ) y y T D y   where  y ( i ) ∈ { 1 , − b }  and  y T D 1 = 0 ( 13 ) left{ begin{array}{c} min_xNcut(mathbf x)=min_yfrac{mathbf y^T(D-W)mathbf y}{mathbf y^TDmathbf y}\ \ text{where } y(i)in {1,-b}text{ and }mathbf y^TDmathbf 1=mathbf 0end{array} right.qquad(13) minxNcut(x)=minyyTDyyT(DW)y where y(i){1,b} and yTD1=0(13)
详细的推导可见【2】、【3】。将y(i)的取值范围放宽到整个实数域,观察到(13)min()中分母部分 y T D y y^TDy yTDy 与Rayleigh商稍有差别,因此做变量转换,令 z = D 1 2 y mathbf z=mathbf D^{frac{1}{2}}mathbf y z=D21y,代入(13)为:
min ⁡ x N c u t ( x ) = min ⁡ y y T ( D − W ) y y T D y = min ⁡ y z T D 1 2 ( D − W ) D 1 2 z z T z   Let  L = D − 1 2 ( D − W ) D − 1 2 ,  so    min ⁡ x N c u t ( x ) = min ⁡ z z T L z z T z , and  y T D 1 = 0 ( 14 ) min_xNcut(mathbf x)=min_yfrac{mathbf y^T(D-W)mathbf y}{mathbf y^TDmathbf y}=min_yfrac{mathbf z^TD^{frac{1}{2}}(D-W)D^{frac{1}{2}}mathbf z}{mathbf z^Tmathbf z}\ \ text{Let }mathcal L=D^{-frac{1}{2}}(D-W)D^{-frac{1}{2}},text{ so }\ \min_xNcut(mathbf x)=min_zfrac{mathbf z^T mathcal Lmathbf z}{mathbf z^Tmathbf z}, text{and } mathbf y^TDmathbf 1=mathbf 0qquad(14) xminNcut(x)=yminyTDyyT(DW)y=yminzTzzTD21(DW)D21z Let L=D21(DW)D21, so  xminNcut(x)=zminzTzzTLz,and yTD1=0(14)
这是典型的Rayleigh商求最小值,由Courant-Fischer定理可知(14)最小值是在其最小特征值-特征矢量处得到,于是(14)等价于求解 L mathcal L L 的特征值-特征矢量,于是有:
L z = λ z D − 1 2 ( D − W ) D − 1 2 z = λ z ( 15 ) mathcal L mathbf z = lambda mathbf z\D^{-frac{1}{2}}(D-W)D^{-frac{1}{2}}mathbf z = lambda mathbf zqquad(15) Lz=λzD21(DW)D21z=λz(15)
因为 ( D − W ) 1 = 0 (D-W)mathbf 1=mathbf 0 (DW)1=0,因此 z n = D 1 2 1 mathbf z_n=D^{frac{1}{2}}mathbf 1 zn=D211 L mathcal L L 的特征值为0(最小特征值)的特征矢量。联系到(13)的约束条件:
y T D 1 = 0 ⇒ y T D 1 2 D 1 2 1 = 0 ⇒ z T ⋅ z n = 0 ( 16 ) mathbf y^TDmathbf 1=mathbf 0Rightarrow mathbf y^TD^{frac{1}{2}}D^{frac{1}{2}}mathbf 1=mathbf 0Rightarrow mathbf z^Tcdot mathbf z_n=mathbf 0qquad(16) yTD1=0yTD21D211=0zTzn=0(16)
(16)表示 z mathbf z z 的取值空间必垂直于最小特征向量,由(9)、(10)有(14)的最小值等于 L mathcal L L第二最小特征值 λ n − 1 lambda_{n-1} λn1,此时 z mathbf z z等于特征向量 u n − 1 mathbf u_{n-1} un1。于是,图的分割问题最终转化成在寻找Graph的Laplacian矩阵第二小的特征值和特征向量问题。

四、图像(Image)前景与背景的分割

一幅图像(Image)可以看成是一个图(Graph),图像中每一个像素(pixel)对应图中每一个顶点(vertex),可根据像素之间的关系可定义边。于是一幅图像可以用图的Laplacian矩阵表示,对于一幅图进行前景和背景分割,可看作是图的二分割。
一幅 n × n ntimes n n×n图像,对应的Laplacian矩阵为 n 2 × n 2 n^2times n^2 n2×n2,以下讨论仅通过亮度通道进行分割的情况:
1、定义权重矩阵W(有时又称为亲和度矩阵A,Affinity Matrix,亲和矩阵如何定义,往往是不同图像分割算法区别的关键地方)。为简便起见,定义它的每个元素如下:
w i j = { e − ∥ X i − X j ∥ 2 2 σ x 2 if  ∥ X ( i ) − X ( j ) ∥ 2 &lt; r ,and  i ≠ j 0 otherwise ( 17 ) w_{ij}=left{ begin{array}{cc} e^{-frac{Vert X_i-X_jVert^2_2}{sigma^2_x}} &amp; text{if $Vert X(i)-X(j)Vert_2 lt r$,and $ineq j$}\0&amp; text{otherwise} end{array} right.qquad(17) wij={eσx2XiXj220if ∥X(i)X(j)2<r,and i̸=jotherwise(17)
(17)中, X i X_i Xi 表示像素上的亮度, X ( i ) X(i) X(i) 表示像素的位置, ∥ X ( i ) − X ( j ) ∥ 2 &lt; r Vert X(i)-X(j)Vert_2lt r X(i)X(j)2<r 表示两个像素之间的几何距离小于r, σ x 2 sigma^2_x σx2是像素亮度的方差。
W是实对称矩阵,再由W定义对角矩阵D,我们便可以得到图像的Laplacian矩阵 L = D − W L=D-W L=DW。由(16)可知,图像分割问题可转化为寻找它的Laplacian矩阵第二小特征矢量问题,即:
z n − 1 = arg ⁡ min ⁡ z ⊥ D 1 2 1 z T D − 1 2 ( D − W ) D − 1 2 z z T z ( 18 ) mathbf z_{n-1} = argmin_{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^Tmathbf z}qquad(18) zn1=argzD211minzTzzTD21(DW)D21z(18)
由于我们在定义亲和度矩阵时,采用了window方式,因此 L mathcal L 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

最后

以上就是个性面包为你收集整理的Courant-Fischer定理、谱图分析和图的分割的全部内容,希望文章能够帮你解决Courant-Fischer定理、谱图分析和图的分割所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(36)

评论列表共有 0 条评论

立即
投稿
返回
顶部