線性代數及其應用:第六章 正定矩陣與奇異值分解


  前言:這篇blog是《Linear Algebra and Its Applications》第六章的一些學習筆記。

正定矩陣

  這一章要用到對實對稱矩陣AA的三角分解A=LDLTA=LDL^{T},以及譜定理A=QΛQTA=Q\Lambda Q^{T}

1. 正定矩陣

  對任意非零實向量xx,有xTAx>0x^{T}Ax>0,則AA爲正定矩陣。

  在線性代數中,正定矩陣是對稱矩陣,因爲來自二次型;對任一二次型,總可以寫成對稱矩陣的形式,即f(x1,x2xn)=xTAx=i=1nj=1naijxixjf(x_{1}, x_{2}\dots x_{n})=x^{T}Ax=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}a_{ij}x_{i}x_{j}

如果AA是正定矩陣,則xTAxx^{T}Ax表示的二次型有最小值,不存在鞍點。

  但在矩陣論中,正定矩陣不一定是對稱矩陣,例如[1110]\left [ \begin{matrix} 1 & -1 \\ 1 & 0\end{matrix}\right ]

1.1. 實對稱矩陣是正定矩陣的充要條件

  判斷實對稱矩陣AA是否爲正定矩陣,有5個充要條件,只要滿足其中一個即可。

  1. xTAx>0x^{T}Ax>0,對所有非零實向量xx均成立;
  2. AA的所有特徵值λi\lambda_{i}滿足λi>0\lambda_{i}>0
  3. 所有順序主子式AkA_{k}是正的;
  4. 所有主元(piovts)大於0(最快捷條件);
  5. AA能分解成RTRR^{T}R,其中R的列向量相互獨立。

證明:

條件1:定義,證畢。

條件2\Longleftrightarrow條件1:對AA進行分解,A=QΛQTA=Q\Lambda Q^{T},有xTAx=xTQΛQTxx^{T}Ax=x^{T}Q\Lambda Q^{T}x,令xTQ=yTx^{T}Q=y^{T},則xTAx=yTΛy=i=1nλiyi2x^{T}Ax=y^{T}\Lambda y=\sum\limits_{i=1}^{n}\lambda_{i}y_{i}^{2},根據條件1,如果實對稱矩陣AA是正定矩陣,則任意非零向量xxxTAxx^{T}Ax恆大於0,所以i=1nλiyi2\sum\limits_{i=1}^{n}\lambda_{i}y_{i}^{2}恆大於0,所以λi>0\lambda_{i}>0,證畢。

條件1和2\Longrightarrow條件3:對於實對稱矩陣AA,以證明A3A_{3}爲例,令x=[x1,x2,x3,0,0,0, ]Tx=[x_{1}, x_{2},x_{3},0,0,0,\dots]^{T},則xTAxx^{T}Ax等價於(1)[x1,x2,x3][a11a12a13a21a22a23a31a32a33][x1x2x3][x_{1},x_{2},x_{3}]\left [ \begin{matrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{matrix} \right ]\left [ \begin{matrix} x_{1} \\ x_{2} \\ x_{3}\end{matrix} \right ]\tag{1}

根據條件1,如果實對稱矩陣AA是正定矩陣,則xTAx>0x^{T}Ax>0,所以(1)的中間矩陣也應該是正定矩陣,根據條件2,(1)的中間矩陣的所有特徵值大於0,所以A3=(1)>0A_{3}=(1)的中間矩陣的所有特徵值乘積>0證畢。方陣的行列式等於所有特徵值乘積,在第五章特徵值與特徵向量中推導過這一結論。

條件3\Longrightarrow條件4:以d3d_{3}爲例,d3=A3A2>0d_{3}=\frac{A_{3}}{A_{2}}>0,證畢。關於求d3d_{3}用的表達式,在第四章行列式中推導過。

條件4\Longrightarrow條件1,對AA進行三角分解A=LDLTA=LDL^{T},則xTAx=xTLDLTxx^{T}Ax=x^{T}LDL^{T}x,令y=LTxy=L^{T}x,則xTAx=yTDyx^{T}Ax=y^{T}Dy,對角矩陣DD存的是AA的主元(pivots),所以yTDy=i=1ndiyi2>0y^{T}Dy=\sum\limits_{i=1}^{n}d_{i}y_{i}^{2}>0可以推出xTAx>0x^{T}Ax>0

至此,條件1-4相互均可以推導。

條件5\Longleftrightarrow條件4:A=LDLT=(LD)(DLT)=RTRA=LDL^{T}=(L\sqrt{D})(\sqrt{D}L^{T})=R^{T}R,其中R=DLTR=\sqrt{D}L^{T};或者條件5\Longleftrightarrow條件2:A=QΛQT=(QΛ)(ΛQT)=RTRA=Q\Lambda Q^{T}=(Q\sqrt{\Lambda})(\sqrt{\Lambda}Q^{T})=R^{T}R,其中R=ΛQTR=\sqrt{\Lambda}Q^{T}

1.2. 實對稱矩陣是半正定矩陣的充要條件

  半正定矩陣就是對任意非零實向量xx,有xTAx0x^{T}Ax\geq0,相對正定矩陣多了等於0;相應的充要條件也加上了等號。

  1. xTAx0x^{T}Ax\geq0,對所有非零實向量;
  2. AA的所有特徵值λi\lambda_{i}滿足λi0\lambda_{i}\geq0
  3. 所有順序主子式AkA_{k}0\geq 0的;
  4. 所有主元piovts0piovts \geq 0(最快捷條件);
  5. AA能分解成RTRR^{T}R,其中R的列向量相互獨立。

證明:考慮A+εIA+\varepsilon I正定,當ε>0\varepsilon > 0

1.3. 實對稱矩陣與正定矩陣的分解

  實對稱矩陣不一定可以三角分解A=LDLTA=LDL^{T},但可以A=QΛQTA=Q\Lambda Q^{T}分解,正定矩陣兩種分解都可以。

  A=LDLTA=LDL^{T}A=QΛQTA=Q\Lambda Q^{T}本質上都是二次型配方。


2. 慣性定理

2.1. 合同變換

  對於對稱方陣A,BA,B,存在可逆矩陣CC,使得B=CTACB=C^{T}AC,則A,BA,B相合。合同變換本質上是對實對稱矩陣的分類(上一章提到過,相似變換本質上是對方陣的分類)。

2.2. 慣性定理

  對於一個n階實對稱矩陣AA,與它合同的實對稱矩陣有多個,這些實對角矩陣的對角元中,正數的個數是一定的(叫A的正慣性指數),負數的個數也是一定的(叫A的負慣性指數)。

證明略。

  實際使用時,如果AA是對稱方陣,用三角分解A=LDLTA=LDL^{T}即可,因爲A,D,ΛA,D,\Lambda三者相合。

2.3. 慣性定理的推論

  任何一個實對稱矩陣可以相合到由若干1,若干-1,若干0組成的對角矩陣,即由相合條件約束的某一類實對稱矩陣均可相合到該對角矩陣。

證明:
對實對稱矩陣AA進行分解A=QΛQTA=Q\Lambda Q^{T},所以AAΛ\Lambda相合,不妨設Λ\Lambdaλ1λm\lambda_{1}\dots\lambda_{m}是正特徵根,λm+1λi\lambda_{m+1}\dots\lambda_{i}是負特徵根,λi+1λn\lambda_{i+1}\dots\lambda_{n}是零特徵根,則Λ=[λ1λmλiλn]=[1λ11λm1λi0]×[1110]×[1λ11λm1λi0]=CTBC\begin{aligned} \Lambda & =\left [ \begin{matrix} \lambda_{1} &&&&&& \\ &\ddots &&&&& \\ &&\lambda_{m}&&&& \\ &&&\ddots &&& \\ &&&&\lambda_{i}&& \\ &&&&&\ddots& \\ &&&&&&\lambda_{n} \end{matrix} \right ] \\ & = \left [ \begin{matrix} \frac{1}{\sqrt{\lambda_{1}}} &&&&&& \\ &\ddots &&&&& \\ && \frac{1}{\sqrt{\lambda_{m}}}&&&& \\ &&&\ddots &&& \\ &&&& \frac{1}{\sqrt{-\lambda_{i}}}&& \\ &&&&&\ddots& \\ &&&&&&0 \end{matrix} \right ] \times \\ & \left [ \begin{matrix} 1 &&&&&& \\ &\ddots &&&&& \\ && 1&&&& \\ &&&\ddots &&& \\ &&&& -1&& \\ &&&&&\ddots& \\ &&&&&&0 \end{matrix} \right ] \times \left [ \begin{matrix} \frac{1}{\sqrt{\lambda_{1}}} &&&&&& \\ &\ddots &&&&& \\ && \frac{1}{\sqrt{\lambda_{m}}}&&&& \\ &&&\ddots &&& \\ &&&& \frac{1}{\sqrt{-\lambda_{i}}}&& \\ &&&&&\ddots& \\ &&&&&&0 \end{matrix} \right ] \\ & = C^{T}BC \end{aligned}

Λ\LambdaBB相合,故AABB相合。證畢。

2.4. 慣性定理的應用

  通過AnIA-nI限定實對稱矩陣AA的特徵根區間,例如:A3IA-3I有2正特徵根,A5IA-5I只有1個正特徵根,則AA有一個特徵根在(3,5)之間。

這裏用到了AnIA-nI的特徵值,相對於AA的特徵值也減去n的推論,證明如下:

Ax=λx,(A3I)x=λxAx=\lambda x, (A-3I)x = \lambda' x

所以

Ax=(λ+3)xAx = (\lambda'+3) x

所以λ=λ3\lambda'=\lambda-3


3. 奇異值分解

3.1. SVD

  對矩陣Am×nA_{m\times n},其秩r=rank(A)r=rank(A),則其奇異值分解(Singular Value Decomposition, SVD)表示爲A=UΣV=()m×m()m×n()n×nA=U\Sigma V=(正交矩陣)_{m\times m}(對角矩陣)_{m\times n}(正交矩陣)_{n\times n}

其中UU的列向量由AATAA^{T}的特徵向量構成;VV的列向量由ATAA^{T}A的特徵向量構成;Σ\Sigma的對角元素的前r個被稱爲奇異值,是AATAA^{T}或者ATAA^{T}A的特徵值平方根,其餘元素爲0。

  證明依賴於譜定理,在有了求對稱方陣特徵根高效算法後,纔有了SVD。

證明:
證明分六步進行

  1. ATAA^{T}A一定是對稱方陣
    ATAx=λxA^{T}Ax=\lambda x,左乘上xTx^{T}
    xTATAx=λxTx=(Ax)TAx0x^{T}A^{T}Ax = \lambda x^{T}x = (Ax)^{T}Ax \geq 0
    λ0\lambda \geq 0
    ATAA^{T}A至少是半正定矩陣
  2. 由譜定理ATA=V[σ12σr200]VT=[v1,v2vn][σ12σr200][v1Tv2TvnT ]\begin{aligned} A^{T}A & = V \left [ \begin{matrix} \sigma_{1}^{2}&&&&& \\ &\ddots&&&& \\ &&\sigma_{r}^{2}&&& \\ &&&0&& \\ &&&&\ddots& \\ &&&&& 0 \end{matrix}\right ]V^{T} \\ & = [v_{1}, v_{2}\dots v_{n}] \left [ \begin{matrix} \sigma_{1}^{2}&&&&& \\ &\ddots&&&& \\ &&\sigma_{r}^{2}&&& \\ &&&0&& \\ &&&&\ddots& \\ &&&&& 0 \end{matrix}\right ] \left [ \begin{matrix} v_{1}^{T}\\ v_{2}^{T}\\ \vdots \\ v_{n}^{T}\ \end{matrix}\right ] \end{aligned}
    其中1ir1\leq i \leq r時,σi>0\sigma_{i}>0,當r<inr < i \leq n時,σi=0\sigma_{i}=0
    所以,ATAvi=σi2vi,0irA^{T}Av_{i}=\sigma^{2}_{i}v_{i}, 0\leq i \leq r
    由於Avi2=(Avi)T(Avi)=viTATAvi=viTσi2vi=σi2||Av_{i}||^{2}=(Av_{i})^{T}(Av_{i})=v_{i}^{T}A^{T}Av_{i}=v_{i}^{T}\sigma^{2}_{i}v_{i}=\sigma^{2}_{i}
    Avi=σi||Av_{i}||=\sigma_{i}
  3. ui=Aviσi,1iru_{i}=\frac{Av_{i}}{\sigma_{i}},1\leq i \leq r
    uiu_{i}AA的列空間的單位向量。對於iji\neq jAvi=uiσiAvj=ujσjAv_{i}=u_{i}\sigma_{i} \\ Av_{j}=u_{j}\sigma_{j}(Avi)TAvj=σiσjuiTuj(Av_{i})^{T}Av_{j}=\sigma_{i}\sigma_{j}u_{i}^{T}u_{j}
    左邊=viTATAvj=viTσj2vj=0=σiσjuiTuj==v^{T}_{i}A^{T}Av_{j}=v_{i}^{T}\sigma^{2}_{j}v_{j}=0=\sigma_{i}\sigma_{j}u_{i}^{T}u_{j}=右邊
    由於σi,σj0\sigma_{i},\sigma_{j}\neq 0,則uiTuj=0u_{i}^{T}u_{j}=0
    u1,u2uru_{1},u_{2}\dots u_{r}相互正交,是AA的列空間的標準正交基
  4. 擴充u1,u2uru_{1},u_{2}\dots u_{r}u1,u2ur,ur+1umu_{1},u_{2}\dots u_{r},u_{r+1}\dots u_{m}RmR^{m}的標準正交基,則
    u1,u2uru_{1},u_{2}\dots u_{r}AA列空間C(A)C(A)的標準正交基;
    ur+1,ur+2umu_{r+1},u_{r+2}\dots u_{m}AA左零空間N(AT)N(A^{T})的標準正交基;
  5. 逐列來看
    1ir1\leq i \leq r時,σi>0\sigma_{i}>0Avi=uiσiAv_{i}=u_{i}\sigma_{i}
    r<inr < i \leq n時,σi=0\sigma_{i}=0Avi=0=ui0Av_{i}=0=u_{i}·0
  6. AV=UΣAV=U\Sigma,所以A=UΣVTA=U\Sigma V^{T}

3.2. SVD的本質

  逐列來看AU=ΣVAU=\Sigma V1ir1\leq i \leq r時,σi>0\sigma_{i}>0Avi=uiσiAv_{i}=u_{i}\sigma_{i}r<inr < i \leq n時,σi=0\sigma_{i}=0Avi=0=ui0Av_{i}=0=u_{i}·0。則
  u1,u2uru_{1},u_{2}\dots u_{r}AA列空間C(A)C(A)的標準正交基;
  ur+1,ur+2umu_{r+1},u_{r+2}\dots u_{m}AA左零空間N(AT)N(A^{T})的標準正交基;
  vr+1,vr+2vnv_{r+1},v_{r+2}\dots v_{n}AA零空間N(A)N(A)的標準正交基;
  v1,v2vrv_{1},v_{2}\dots v_{r}AA行空間C(AT)C(A^{T})的標準正交基;

  可見,SVD是C(AT)C(A^{T})C(A)C(A)的極簡極優美映射,當1ir1\leq i \leq r
A[v1vr]=[u1ur][σ1σr]A[v_{1}\dots v_{r}]=[u_{1}\dots u_{r}]\left [ \begin{matrix} \sigma_{1}&& \\ &\ddots& \\ &&\sigma_{r} \end{matrix}\right ]即兩個子空間標準正交基的極簡極優美變換。

3.3. 求SVD

  1. ATAA^{T}Aσ,v\sigma, v,注意實對稱矩陣屬於不同特徵根的特徵向量正交;
  2. Avi=uiσiAv_{i}=u_{i}\sigma_{i}求出uiu_{i}
  3. 有Gram-Schmidt求ur+1umu_{r+1}\dots u_{m}

可見SVD的結果嚴重不唯一,但是奇異值是唯一的。

3.4. SVD的應用-僞逆

   求解線性方程組Am×nx=bA_{m\times n}x=b

  1. bbC(A)C(A),由第二章,利用高斯消去法,解方程,就和我們解多元一次方程組一樣;
  2. bb不再C(A)C(A),且AA列滿秩,則RnR^{n}就是C(AT)C(A^{T}),利用第三章的最小二乘法,把bbC(A)C(A)投影,在把這個投影點反向映射到C(AT)C(A^{T}),得到誤差最小的解
    AT(Ax^b)=0x^=(ATA)1ATbA^{T}(A\widehat{x}-b)=0 \Longrightarrow \widehat{x}=(A^{T}A)^{-1}A^{T}b
  3. bb不再C(A)C(A),且A列不滿秩,dim(Rn)=dim(C(AT))+dim(N(A))dim(R^{n})=dim(C(A^{T}))+dim(N(A))RnR^{n}相對於C(AT)C(A^{T})N(A)N(A)是更高維,把bbC(A)C(A)投影,在把這個投影點反映射到C(AT)C(A^{T})得到反向映射點,這個反向映射點加上N(A)N(A)中任意一個點都是誤差最小解,此時最小二乘法得到的誤差最小解不唯一,我們可以利用僞逆求得最短最簡單的誤差最小解,也就是反向映射點加上N(A)N(A)中的全零點。

   僞逆利用SVD定義,如果A=UΣVTA=U\Sigma V^{T},則A的僞逆定義爲A+=VΣ+UTA^{+}=V\Sigma^{+} U^{T}
其中Σ+\Sigma^{+}表示對Σ\Sigma進行轉置後,奇異值取倒數。

  則Ax=bAx=b的最短最簡單誤差最小解就是x+=A+bx^{+}=A^{+}bA+bA^{+}b的意義是把bb投影到C(A)C(A)中,在映射到C(AT)C(A^{T})

  下面是僞逆求解最短最簡單的誤差最小解的證明。

  1. 先證明AA是對角陣的情況,以A3×4,r(A)=2A_{3\times 4}, r(A)=2爲例,求最短最簡單的誤差最小解x^\widehat{x}
    bC(A)b\in C(A)
    [σ10000σ2000000][x^1x^2x^3x^4]=[b1b20]\left [ \begin{matrix} \sigma_{1} & 0 & 0 & 0 \\ 0 & \sigma_{2} & 0 & 0 \\ 0 & 0 & 0 & 0 \end{matrix}\right ] \left [ \begin{matrix} \widehat{x}_{1} \\ \widehat{x}_{2} \\ \widehat{x}_{3} \\ \widehat{x}_{4} \end{matrix}\right ] =\left [ \begin{matrix} b_{1} \\ b_{2} \\ 0 \end{matrix}\right ]x^1=b1σ1\widehat{x}_{1}=\frac{b_{1}}{\sigma_{1}}x^2=b2σ2\widehat{x}_{2}=\frac{b_{2}}{\sigma_{2}}
    定義僞逆
    A+=[1σ10001σ20000000]A^{+}=\left [ \begin{matrix} \frac{1}{\sigma_{1}} & 0 & 0 \\ 0 & \frac{1}{\sigma_{2}} & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{matrix}\right ]
    x^=A+[b1b20]\widehat{x}=A^{+}\left [ \begin{matrix} b_{1} \\ b_{2} \\ 0 \end{matrix}\right ]得到最短最簡單的誤差最小解。
    bC(A)b\notin C(A)時,b=[b1b2b3]b=\left [ \begin{matrix} b_{1} \\ b_{2} \\ b_{3} \end{matrix}\right],仍按照上面的僞逆,仍然可以求得最短解,同時也是誤差最小的解x^=A+[b1b2b3]=[b1σ1b2σ200]\widehat{x}=A^{+}\left [ \begin{matrix} b_{1} \\ b_{2} \\ b_{3} \end{matrix}\right ]=\left [ \begin{matrix} \frac{b_{1}}{\sigma_{1}} \\ \frac{b_{2}}{\sigma_{2}} \\ 0 \\ 0 \end{matrix}\right ]
  2. 如果A不是對角陣,則我們可以化成對角陣的形式,回到我們的根本目的,利用最小二乘法的想法求誤差最小解,最小化Axb||Ax-b||,則Axb=UΣVTxb=U(ΣVTxUTb)=ΣVTxUTb\begin{aligned} ||Ax-b|| & =||U\Sigma V^{T}x-b|| \\ & = ||U(\Sigma V^{T}x-U^{T}b)|| \\ & = ||\Sigma V^{T}x-U^{T}b|| \end{aligned}最後一個等號轉換用到了,正交變換不改變長度的性質。令y=VTxy=V^{T}x,則x=Vyx=Vy,進一步化簡Axb=ΣVTxUTb=ΣyUTb\begin{aligned} ||Ax-b|| & = ||\Sigma V^{T}x-U^{T}b|| \\ & = ||\Sigma y-U^{T}b|| \end{aligned}此時Σ\Sigma是對角矩陣,回到了情況1,我們得到yy的最短最簡單的誤差最小解是y+=Σ+UTby^{+}=\Sigma^{+}U^{T}b由於x=Vyx=Vy同樣是正交變換,不改變長度,進而得到xx的最短最簡單的誤差最小解是x+=Vy+=VΣ+UTbx^{+}=Vy^{+}=V\Sigma^{+}U^{T}b證畢。

  值得一提的是,AA+AA^{+}A+AA^{+}A均可看成投影矩陣,AA+bAA^{+}bbbC(A)C(A)投影,A+AaA^{+}AaaaC(AT)C(A^{T})投影。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章