模式識別與機器學習第八講(附錄C, 2)

關鍵詞:矩陣基礎、矩陣微積分、特徵方程。

最後更新時間:2018.1.12。

題圖為詹姆斯·約瑟夫·西爾維斯特(James Joseph Sylvester),他對矩陣論(matrix theory)、不變數理論(invariant theory)、數論(number theory)、分拆理論(partition theory)、組合數學(combinatorics)都做出了基礎性的貢獻。

圖片來源:James Joseph Sylvester Quote

Appendix C. Properties of Matrices (Continued)

定義12:對角矩陣(diagonal matrix)

對於矩陣 mathbf{A}=begin{bmatrix}a_{11} & a_{12} &cdots & a_{1n} a_{21} & a_{22} &cdots & a_{2n} vdots &vdots &ddots &vdots a_{m1} &a_{m2} &cdots &a_{mn} end{bmatrix} ,如果 forall iin{1,cdots,m},forall jin{1,cdots,n},ineq j 都有 a_{ij}=0 ,則稱 mathbf{A} 是一個對角矩陣 。顯然單位矩陣就是一個對角矩陣的例子。在大部分情況下當我們在談論對角矩陣的時候都只考慮 mathbf{A} 為方陣的情況。但有時候也有人會考慮 mathbf{A} 不是方陣的情況,稱 mathbf{A}矩形對角矩陣(rectangular diagonal matrix)

矩陣論里存在很多恆等式。在特定情況下,恆等式的一邊相較另一邊計算起來更加便捷、迅速。Bishop在696頁介紹了以下三個矩陣恆等式:

  1. (P^{-1}+B^{T}R^{-1}B)^{-1}B^{T}R^{-1}=PB^{T}(BPB^{T}+R)^{-1} 。假設 PNtimes N 階矩陣, RMtimes M 階矩陣,則有 BMtimes N 階矩陣。當 Mll N (指 M 遠小於 N )時等式右邊運算起來較左邊更加快捷。
  2. P=R=IB=A^{T} ,則有上式的一個特殊形式是 (I+AB)^{-1}A=A(I+BA)^{-1}
  3. 伍德伯里恆等式(Woodbury identity)(A+BD^{-1}C)^{-1}=A^{-1}-A^{-1}B(D+CA^{-1}B)^{-1}CA^{-1} 。當 A 非常大並且是對角矩陣的時候, B 有非常多行但很少列而 C 有很少行而很多列的時候伍德伯里恆等式的右邊較左邊計算起來更為快捷。

在描述以上這些恆等式的過程中Bishop的很多用詞都相對不那麼準確如遠小於或非常多等。感興趣的讀者可以在NumPy里實際嘗試一下在統計上這些恆等式在何種情況下的表現如何。

我們接下來來推導一下看如何得出這三個恆等式。

引理1(I+P)^{-1}=(I+P)^{-1}(I+P-P)=I-(I+P)^{-1}P

引理2(I+PQ)^{-1}P=P(I+QP)^{-1}

證明

P=PI=P(I+QP)(I+QP)^{-1}=(P+PQP)(I+QP)^{-1}=(I+PQ)P(I+QP)^{-1} ,所以 (I+PQ)^{-1}P=P(I+QP)^{-1}

我們先來證明伍德伯里恆等式。

假設 A 是一個可逆矩陣,則有

(A+BCD)^{-1}=(A[I+A^{-1}BCD])^{-1}=[I+A^{-1}BCD]^{-1}A^{-1}

由引理1可得上式等於 [I-(I+A^{-1}BCD)^{-1}A^{-1}BCD]A^{-1}=A^{-1}-(I+A^{-1}BCD)^{-1}A^{-1}BCDA^{-1}

通過使用引理2兩次可得上式等於 A^{-1}-A^{-1}(I+BCDA^{-1})^{-1}BCDA^{-1}=A^{-1}-A^{-1}B(I+CDA^{-1}B)^{-1}CDA^{-1}

C 是一個可逆矩陣時,上式等於 A^{-1}-A^{-1}B(C^{-1}+DA^{-1}B)^{-1}DA^{-1} ,證畢。

我們再來看恆等式一。

(A+BCD)^{-1}BC=((I+BCDA^{-1})A)^{-1}BC=A^{-1}(I+BCDA^{-1})^{-1}BC

由引理二可得上式等於

A^{-1}B(I+CDA^{-1}B)^{-1}C

C 是一個可逆矩陣時,上式等於

A^{-1}B(C^{-1}+DA^{-1}B)^{-1} ,證畢。

定義13:線性獨立(linearly independent)/線性相關(linearly dependent)

對於向量 a_{1},cdots,a_{N} ,如果 sum_{n=1}^{N}alpha_{n}a_{n}=0 當且僅當 alpha_{1}=cdots=alpha_{N}=0 ,則稱這些向量是線性獨立的。這表明這些向量中任意一個都無法被表示為其餘向量的線性組合。

反過來如果這組向量不是線性獨立的則稱之為線性相關。

定義14:秩(rank)

對於任意矩陣 mathbf{A} ,稱 mathbf{A} 線性獨立的列的最大數目為 mathbf{A} 的列秩(column rank),稱 mathbf{A} 線性獨立的行的最大數目為 mathbf{A} 的行秩(row rank)。由於 mathbf{A} 的列秩恆等於它的行秩(此處不做證明),一般簡稱為秩。

定義15:跡(trace)

對於一個方陣 mathbf{A}=begin{bmatrix}a_{11} & a_{12} &cdots & a_{1n} a_{21} & a_{22} &cdots & a_{2n} vdots &vdots &ddots &vdots a_{n1} &a_{n2} &cdots &a_{nn} end{bmatrix} ,稱 sum_{i=1}^{n}a_{ii} ,即 mathbf{A} 對角線上元素之和,為 mathbf{A} 的跡,記作 text{Tr}(mathbf{A})

命題5:

對於 n 階方陣 mathbf{A},mathbf{B}text{Tr}(mathbf{A}mathbf{B})=text{Tr}(mathbf{B}mathbf{A})

證明

假設 mathbf{A}=begin{bmatrix}a_{11} & a_{12} &cdots & a_{1n} a_{21} & a_{22} &cdots & a_{2n} vdots &vdots &ddots &vdots a_{n1} &a_{n2} &cdots &a_{nn} end{bmatrix}mathbf{B}=begin{bmatrix}b_{11} & b_{12} &cdots & b_{1n} b_{21} & b_{22} &cdots & b_{2n} vdots &vdots &ddots &vdots b_{n1} &b_{n2} &cdots &b_{nn} end{bmatrix} ,則有 text{Tr}(mathbf{A}mathbf{B})=sum_{i=1}^{n}sum_{j=1}^{n}a_{ij}b_{ji}=sum_{i=1}^{n}sum_{j=1}^{n}b_{ij}a_{ji}=text{Tr}(mathbf{B}mathbf{A})

定義16:雙射(bijection)

考慮一個從 XY 的映射 f:Xmapsto Y 。如果對於任意 x,yin X, xneq y, 都有 f(x)neq f(y) ,稱 f 是一個單射(injection)。如果對於任意 zin Y ,都有 win X 使得 f(w)=z ,則稱 f 是一個滿射(surjection)。如果 f 同時是單射和滿射,則稱 f 是一個雙射。

定義17:置換(permutation)

對於任意一個集合 S ,我們稱一個從 S 到它自身的雙射為 S 的一個置換。如果一個置換將每個元素映射到它本身,這個置換被稱為恆等置換(identity permutation)。如果一個置換可以由恆等置換通過偶數次兩個元素互換得到,則稱這個置換為偶置換(even permutation),反之稱為奇置換(odd permutation)

例子1

S={1, 2}f(1)=2,f(2)=1 ,則 f 定義了一個奇置換。

例子2

S={1, 2, 3}, f(1)=2, f(2)=3, f(3)=1,f 定義了一個偶置換。

定義18:行列式(determinant)

對於一個方陣 mathbf{A}=begin{bmatrix}a_{11} & a_{12} &cdots & a_{1n} a_{21} & a_{22} &cdots & a_{2n} vdots &vdots &ddots &vdots a_{n1} &a_{n2} &cdots &a_{nn} end{bmatrix} ,稱 det(mathbf{A})=begin{vmatrix}a_{11} & a_{12} &cdots & a_{1n} a_{21} & a_{22} &cdots & a_{2n} vdots &vdots &ddots &vdots a_{n1} &a_{n2} &cdots &a_{nn} end{vmatrix}=sum_{text{所有}{1, cdots, n}的置換} (pm 1)a_{1 i_{1}}a_{2i_{2}}cdots a_{n i_{n}}mathbf{A} 的行列式。對於求和的每一項, f(k)=i_{k}, kin{1, cdots, n} 都定義了 {1, 2, cdots, n} 的一個置換。當置換為偶置換時,與之相連的係數為 1 ,否則為 -1

命題6:行列式的性質

  1. 對於 n 階單位矩陣 mathbf{I}_{n}det(mathbf{I}_{n})=1
  2. 對於任意方陣 mathbf{A}det(mathbf{A}^{T})=det(mathbf{A})
  3. 對於 n 階方陣 mathbf{A},mathbf{B}, det(mathbf{A}mathbf{B})=det(mathbf{A})det(mathbf{B})
  4. 性質3的一個特殊情況是當 mathbf{A} 是一個可逆方陣時,det(mathbf{A}^{-1})=frac{1}{det(mathbf{A})}
  5. 對於 n 階方陣 mathbf{A} ,給定標量 cdet(cmathbf{A})=c^{n}det(mathbf{A})
  6. 對於任意方陣 mathbf{A} ,如果 mathbf{A} 不可逆(non-invertible),也稱為奇異的(singular),則有 det(mathbf{A})=0
  7. 對於任意方陣 mathbf{A}=0 當且僅當 mathbf{A} 的縱向量線性相關。

命題7:西爾維斯特行列式恆等式(Sylvester determinant identity)

mathbf{A},mathbf{B}ntimes m 階矩陣,則有 det(mathbf{I}_{n}+mathbf{AB}^{T})=det(mathbf{I}_{m}+mathbf{B}^{T}mathbf{A})

證明

考慮一個分塊矩陣

begin{bmatrix}mathbf{I}_{n} &mathbf{-A} mathbf{B^{T}} &mathbf{I}_{m}end{bmatrix}=begin{bmatrix}mathbf{I}_{n} &0 mathbf{B^{T}} &mathbf{I}_{m}end{bmatrix}begin{bmatrix}mathbf{I}_{n} &0 0 &mathbf{I}_{m}+mathbf{B}^{T}mathbf{A}end{bmatrix}begin{bmatrix}mathbf{I}_{n} &mathbf{-A} 0 &mathbf{I}_{m}end{bmatrix} =begin{bmatrix}mathbf{I}_{n} &mathbf{-A} 0 &mathbf{I}_{m}end{bmatrix}begin{bmatrix}mathbf{I}_{n}+mathbf{AB}^{T} &0 0 &mathbf{I}_{m}end{bmatrix}begin{bmatrix}mathbf{I}_{n} &0 mathbf{B}^{T} &mathbf{I}_{m}end{bmatrix},

begin{vmatrix}mathbf{I}_{n} &0 0 &mathbf{I}_{m}+mathbf{B}^{T}mathbf{A}end{vmatrix}=begin{vmatrix}mathbf{I}_{n}+mathbf{AB}^{T} &0 0 &mathbf{I}_{m}end{vmatrix}。

矩陣微積分(Matrix Calculus)

1. 向量函數的導數

mathbf{x}mathbf{y} 分別為一個 n 階和 m 階向量,即

mathbf{x}=begin{bmatrix}x_{1}x_{2}vdotsx_{n}end{bmatrix}, mathbf{y}=begin{bmatrix}y_{1}y_{2}vdotsy_{m}end{bmatrix},

每一個 y_{i}, 1leq ileq m, 都可能是一個關於所有 x_{j},1leq jleq n, 的函數,即 mathbf{y}_{i}=mathbf{y}_{i}(x_{1},cdots,x_{n}) 。因此 mathbf{y} 是一個關於 mathbf{x} 的函數,可以寫作 mathbf{y}=mathbf{y}(mathbf{x}) 。當 n=1m=1 時我們可以直接認為此時的 mathbf{x}mathbf{y} 是一個標量。為了強調標量,我們會用 xy 來表示。

1.1. 一個縱向量關於另一個縱向量的導數

定義19雅克比矩陣(Jacobian matrix)

mathbf{y} 關於 mathbf{x} 的導數是一個 mtimes n 階的矩陣,展開來可以寫作

frac{partialmathbf{y}}{partialmathbf{x}}= begin{bmatrix} frac{partial y_{1}}{partial x_{1}} & frac{partial y_{1}}{partial x_{2}} & cdots &frac{partial y_{1}}{partial x_{n}} frac{partial y_{2}}{partial x_{1}} & frac{partial y_{2}}{partial x_{2}} &cdots &frac{partial y_{2}}{partial x_{n}} vdots & vdots &ddots &vdots frac{partial y_{m}}{partial x_{1}} &frac{partial y_{m}}{partial x_{2}} &cdots &frac{partial y_m}{partial x_n} end{bmatrix} 。注意左邊的等號實際是定義的,有時候我們為了強調這一點會在等號上畫一個三角或畫一個點或寫"def"(definition的縮寫)。在這個定義下, (frac{partial mathbf{y}}{partialmathbf{x}})_{ij}=frac{partial y_{i}}{partial x_{j}}

雅克比矩陣的行列式被稱為雅克比行列式,有時候大家也會直接用雅克比來指代雅克比行列式。

定義19里的定義被稱為一個縱向量關於另一個縱向量導數的分子表示(numerator-layout),個人猜測起這個名字是因為矩陣的行數取決於分子的維數。在Felippa的Matrix Calculus里,他把 frac{partial mathbf{y}}{partial mathbf{x}} 定義為上述矩陣的轉置,這一種定義被稱為一個縱向量關於另一個縱向量導數的分母表示(denominator-layout),個人猜測起這個名字是因為矩陣的行數取決於分母的維數。根據他的說法,經濟學和統計學的學者傾向於採用定義19里的定義。讀者們在遇到矩陣微積分的時候應當注意這一點。

注意以下例子里的結果在採用分母表示的情況下需要採取結果的轉置。

根據以上定義,則有:

1. 當 m=1 ,即 y 是一個標量時,則有 frac{partial y}{partial mathbf{x}}= begin{bmatrix} frac{partial y}{partial x_{1}} &cdots &frac{partial y}{partial x_{n}} end{bmatrix}

2. 當 n=1 ,即 x 是一個標量時,則有 frac{partial mathbf{y}}{partial x}= begin{bmatrix} frac{partial y_{1}}{partial x} vdots frac{partial y_{m}}{partial x} end{bmatrix}

例子3

假設 mathbf{x},mathbf{a} 是兩個 n 階向量,則有 frac{partial mathbf{x}^{T}mathbf{a}}{partialmathbf{x}}=frac{partial sum_{i=1}^{n}x_{i}a_{i}}{partial mathbf{x}}= begin{bmatrix} frac{partial sum_{i=1}^{n}x_{i}a_{i}}{x_{1}} &cdots & frac{partial sum_{i=1}^{n}x_{i}a_{i}}{x_{n}} end{bmatrix} = begin{bmatrix} a_{1} &cdots & a_{n} end{bmatrix} =mathbf{a}^{T}

同樣的, frac{partial mathbf{a}^{T}mathbf{x}}{partial mathbf{x}}=mathbf{a^{T}}

例子4例子6里我們考慮 mathbf{x}= begin{bmatrix} x_{1} vdots x_{n} end{bmatrix}mathbf{A}= begin{bmatrix} a_{11} &cdots &a_{1n} a_{21} &cdots &a_{2n} vdots &ddots &vdots a_{n1} &cdots &a_{nn} end{bmatrix}

例子4

mathbf{y}=mathbf{A}mathbf{x}= begin{bmatrix} sum_{i=1}^{n}a_{1i}x_{i} vdots sum_{i=1}^{n}a_{ni}x_{i} end{bmatrix} ,則有 frac{partial mathbf{y}}{partial mathbf{x}}= begin{bmatrix} a_{11} &cdots &a_{1n} vdots &ddots &vdots a_{n1} &cdots &a_{nn} end{bmatrix} = mathbf{A}

例子5:(一個行向量關於一個縱向量的導數

mathbf{y}=mathbf{x}^{T}mathbf{A}= begin{bmatrix} sum_{i=1}^{n}x_{i}a_{1i} &cdots &sum_{i=1}^{n}x_{i}a_{ni} end{bmatrix} ,此時 mathbf{y} 是一個行向量,這時我們一般會定義 frac{partialmathbf{y}}{partial mathbf{x}}=(frac{partial mathbf{y}^{T}}{partial mathbf{x}})^{T} 。因此

frac{partial mathbf{y}}{partial mathbf{x}}= (frac{partial mathbf{y}^{T}}{mathbf{x}})^{T}=mathbf{A}^{T}

例子6

y=mathbf{x}^{T}mathbf{A}mathbf{x}= begin{bmatrix} sum_{i=1}^{n} x_{1}a_{1i}cdots sum_{i=1}^{n}x_{n}a_{ni} end{bmatrix} mathbf{x} = sum_{j=1}^{n}x_{j}sum_{i=1}^{n}x_{i}a_{ji} 。則有 frac{partial y}{partial mathbf{x}}= begin{bmatrix} (sum_{i=1}^{n}x_{i}a_{1i})+(sum_{j=1}^{n}x_{j}a_{j1}) &cdots &(sum_{i=1}^{n}x_{i}a_{ni})+(sum_{j=1}^{n}x_{j}a_{jn}) end{bmatrix} = mathbf{A}mathbf{x}+mathbf{A}^{T}mathbf{x}

2. 向量函數的鏈式法則

mathbf{x}= begin{bmatrix} x_{1} vdots x_{n} end{bmatrix}mathbf{y}= begin{bmatrix} y_{1} vdots y_{r} end{bmatrix}mathbf{z} = begin{bmatrix} z_{1} vdots z_{m} end{bmatrix} 。根據定義 frac{partialmathbf{z}}{partial mathbf{x}}= begin{bmatrix} frac{partial z_{1}}{partial x_{1}} &cdots &frac{partial z_{1}}{partial x_{n}} vdots &ddots &vdots frac{partial z_{m}}{partial x_{1}} &cdots &frac{partial z_{m}}{partial x_{n}} end{bmatrix}

frac{partial z_{i}}{partial x_{j}}=sum_{k=1}^{r}frac{partial z_{i}}{partial y_{k}}frac{partial y_{k}}{partial x_{j}}i=1,cdots,mj=1,cdots,n

由於 frac{partialmathbf{z}}{partialmathbf{y}}= begin{bmatrix} frac{partial z_{1}}{partial y_{1}} &cdots &frac{partial z_{1}}{partial y_{r}} vdots &ddots &vdots frac{partial z_{m}}{partial y_{1}} &cdots &frac{partial z_{m}}{partial y_{r}} end{bmatrix}frac{partialmathbf{y}}{partialmathbf{x}}= begin{bmatrix} frac{partial y_{1}}{partial x_{1}} &cdots &frac{partial y_{1}}{partial x_{n}} vdots &ddots &vdots frac{partial y_{r}}{partial x_{1}} &cdots &frac{partial y_{r}}{partial x_{n}} end{bmatrix} 。因此 frac{partial mathbf{z}}{partial mathbf{x}}=frac{partial mathbf{z}}{partialmathbf{y}}frac{partial mathbf{y}}{partial mathbf{x}}

3. 標量函數關於矩陣的導數

定義20:

假設 y=f(mathbf{X}) 是一個未知標量, mathbf{X} 是一個 mtimes n 階矩陣,定義 y 關於 mathbf{X} 的導數為

frac{partial y}{partial mathbf{X}}= begin{bmatrix} frac{partial y}{partial x_{11}} &cdots &frac{partial y}{partial x_{m1}} vdots &ddots &vdots frac{partial y}{partial x_{1n}} &cdots &frac{partial y}{partial x_{mn}} end{bmatrix}

例子7

假設 mathbf{X} 是一個 n 階方陣,則有 frac{partial Tr(mathbf{X})}{partial mathbf{X}}=mathbf{I}_{n}

4. 矩陣關於標量的導數

定義21:

假設 mathbf{Y} 是一個 mtimes n 階矩陣, x 是一個未知標量,定義 mathbf{Y} 關於 x 的導數為

frac{partial mathbf{Y}}{partial x}= begin{bmatrix} frac{partial y_{11}}{partial x} &cdots &frac{partial y_{1n}}{partial x} vdots &ddots &vdots frac{partial y_{m1}}{partial x} &cdots &frac{partial y_{mn}}{partial x} end{bmatrix}

命題8:一些相關的性質

假定 mathbf{A}mathbf{B} 是兩個 n 階方陣, x 是一個未知標量。

  1. frac{partial mathbf{AB}}{partial x}==frac{partial mathbf{A}}{partial x}mathbf{B}+mathbf{A}frac{partial mathbf{B}}{partial x}
  2. 假設 mathbf{A} 是可逆的,則有 frac{partial mathbf{A}^{-1}}{partial x}=-mathbf{A}^{-1}frac{partial mathbf{A}}{partial x}mathbf{A}^{-1}
  3. frac{partial Tr(mathbf{AB})}{partial a_{ij}}=b_{ji}
  4. frac{partial Tr(mathbf{AB})}{partial mathbf{A}}=mathbf{B}^{T}
  5. frac{partial Tr(mathbf{A}^{T}mathbf{B})}{partial mathbf{A}}=mathbf{B}
  6. frac{partial Tr(mathbf{A}mathbf{B}mathbf{A}^{T})}{partial mathbf{A}}=mathbf{A}(mathbf{B}+mathbf{B}^{T})

證明

1.

mathbf{A}mathbf{B}= begin{bmatrix} sum_{i=1}^{n}a_{1i}b_{i1} &cdots &sum_{i=1}^{n}a_{1i}b_{in} vdots &ddots &vdots sum_{i=1}^{n}a_{ni}b_{i1} &cdots &sum_{i=1}^{n}a_{ni}b_{in} end{bmatrix}

frac{partial mathbf{AB}}{partial x}= begin{bmatrix} sum_{i=1}^{n}(frac{partial a_{1i}}{partial x} b_{i1} + a_{1i}frac{partial b_{i1}}{partial x} ) &cdots & sum_{i=1}^{n}(frac{partial a_{1i}}{partial x} b_{in} + a_{1i}frac{partial b_{in}}{partial x} ) vdots &ddots &vdots sum_{i=1}^{n}(frac{partial a_{ni}}{partial x} b_{i1} + a_{ni}frac{partial b_{i1}}{partial x} ) &cdots & sum_{i=1}^{n}(frac{partial a_{ni}}{partial x} b_{in} + a_{ni}frac{partial b_{in}}{partial x} ) end{bmatrix}

=begin{bmatrix} sum_{i=1}^{n}frac{partial a_{1i}}{partial x} b_{i1} &cdots & sum_{i=1}^{n}frac{partial a_{1i}}{partial x} b_{in}  vdots &ddots &vdots sum_{i=1}^{n}frac{partial a_{ni}}{partial x} b_{i1} &cdots & sum_{i=1}^{n}frac{partial a_{ni}}{partial x} b_{in} end{bmatrix}+ begin{bmatrix} sum_{i=1}^{n} a_{1i}frac{partial b_{i1}}{partial x} &cdots &sum_{i=1}^{n}a_{1i}frac{partial b_{in}}{partial x}  vdots &ddots &vdots sum_{i=1}^{n}a_{ni}frac{partial b_{i1}}{partial x} &cdots &sum_{i=1}^{n}a_{ni}frac{partial b_{in}}{partial x} end{bmatrix}

=frac{partial mathbf{A}}{partial x}mathbf{B}+mathbf{A}frac{partial mathbf{B}}{partial x}

2.

由1里的結論可知

0 = frac{partial mathbf{I}}{partial x} = frac{partial mathbf{A}^{-1}mathbf{A}}{partial x}=frac{partial mathbf{A}^{-1}}{partial x}mathbf{A}+mathbf{A}^{-1}frac{partialmathbf{A}}{partial x}

因此 frac{partial mathbf{A}^{-1}}{partial x}=-mathbf{A}^{-1}frac{partial mathbf{A}}{partial x}mathbf{A}^{-1}

3可經由簡單的計算得到,4則是直接對 mathbf{A} 里的每個元素應用3即可得到。

5.

Tr(mathbf{A}^{T}mathbf{B})=sum_{i=1}^{n}sum_{j=1}^{n}a_{ji}b_{ji}

frac{partial Tr(mathbf{A}^{T}mathbf{B})}{partial a_{ij}}=b_{ij}

因此 frac{partial Tr(mathbf{A}^{T}mathbf{B})}{partial mathbf{A}}=mathbf{B}

6.

Tr(mathbf{A}mathbf{B}mathbf{A}^{T})=sum_{k=1}^{n}sum_{j=1}^{n}a_{kj}sum_{i=1}^{n}a_{ki}b_{ij} 。對於任意 min{1,cdots, n}, nin {1,cdots, n}

frac{partial Tr(mathbf{A}mathbf{B}mathbf{A}^{T})}{a_{mn}}= (sum_{i=1}^{n}a_{mi}b_{in})+(sum_{j=1}^{n}a_{mj}b_{nj})=(mathbf{A}mathbf{B})_{mn}+(mathbf{AB}^{T})_{mn}=(mathbf{A}(mathbf{B}+mathbf{B}^{T}))_{mn}

特徵向量方程式(Eigenvector Equation)

定義22:特徵向量(eigenvector)和特徵值(eigenvalue)

對於 n 階方陣 mathbf{A} ,如果存在一個 n 階非零向量 mathbf{u} (即該向量至少有一個元素不是 0 )使得 mathbf{Au}=lambda mathbf{u}lambda 是一個標量/複數,則稱 mathbf{u}mathbf{A} 的一個特徵向量並且 lambdamathbf{A} 的一個與 mathbf{u} 相對應的特徵值。

來源:https://en.wikipedia.org/wiki/Eigenvalues_and_eigenvectors

對於一個 n 階方陣 mathbf{A} 和一個 n 階向量 mathbf{u} ,我們把 mathbf{A} 應用於 mathbf{u} 會得到一個新的 n 階向量。我們可以把每一個 n 階向量 mathbf{u} 看做是 n 維空間里的一個點,而把 mathbf{Au} 看做是另一個 n 維空間里不排除和 mathbf{u} 相等的點。因此 mathbf{A} 可以看做是一個從 n 維空間到 n 維空間的映射。

一個映射就像一道光,把光延伸方向上障礙物的影子打到牆上,只是光線行進的路徑和投影的牆面可能都非常病態。

一個二維空間的映射, 來源:https://commons.wikimedia.org/wiki/File:Allowed_mapping_for_a_function.png

我們不光能研究映射對於單個點的作用。通過採集足夠多的樣本點,我們還可以了解到一個映射對一個曲線、曲面產生了什麼樣的作用。

最左側的正方形是原先的二維空間,作者們研究了一系列演算法看他們學到了怎樣一個從二維數據到三維表示的映射。來源:https://arxiv.org/pdf/1506.07365.pdf

特徵向量、特徵值可以幫助我們更好地通過這樣的手段來理解映射。給定 n 階方陣 mathbf{A} ,假如在 n 維空間里存在 n 個線性獨立的單位特徵向量 mathbf{e}_{1},cdots, mathbf{e}_{n} ,那麼對於每一個 n 維向量 mathbf{u}=sum_{i=1}^{n}u_{i}mathbf{e}_{i} 我們可以分別研究每個單位特徵向量被 mathbf{A} 作用的結果 mathbf{A}mathbf{e}_{i}=lambda_{i}mathbf{e}_{i} ,然後通過線性組合來得到 mathbf{A}mathbf{u}=mathbf{A}(sum_{i=1}^{n}u_{i}mathbf{e}_{i})=sum_{i=1}^{n}u_{i}mathbf{A}mathbf{e}_{i}=sum_{i=1}^{n}u_{i}lambda_{i}mathbf{e}_{i} 。這些單位特徵向量構成了一個便於我們理解映射的坐標系。

左圖裡,v1, v2是兩個單位特徵向量,在左邊乘上了一個2階方陣後(右圖),它們一個被拉長,一個被縮短,圖上左圖裡整個圓圈被映射為了右圖裡一個橢圓形。來源:https://towardsdatascience.com/deep-learning-basic-mathematics-for-deep-learning-a82981e95e3b

顯然當 mathbf{Au}=lambdamathbf{u}, mathbf{u} neq mathbf{0} (我用粗體的 0 來強調這是一個向量)時,我們有 (mathbf{A}-lambdamathbf{I}_{n})mathbf{u}=mathbf{0} 。由此我們又可以引出一個新的概念,特徵方程(characteristic equation)。

定義23:特徵方程

給定 n 階方陣 mathbf{A} ,我們定義它的特徵方程為 det(mathbf{A}-tmathbf{I}_{n})=0 。這裡的 t 是方程的未知數。等號左邊的部分也被稱為特徵多項式(characteristic polynomial)

代數基本定理(Fundamental Theorem of Algebra)可知一個 n 階多項式恰有 n 個零點,這些零點可能重複。

命題9:

一個方陣特徵多項式的零點恰是它的特徵值。

證明:

考慮一個 n 階方陣 mathbf{A}

Leftarrow

假設 lambdamathbf{A} 的一個特徵值。則存在 mathbf{v}neqmathbf{0} 使得 (mathbf{A}-lambdamathbf{I}_{n})mathbf{v}=0

假設 mathbf{A}-lambdamathbf{I}_{n} 是一個可逆矩陣,則存在一個 n 階方陣 mathbf{B} 使得 mathbf{B}(mathbf{A}-lambdamathbf{I}_{n})=mathbf{I}_{n} ,那麼就會有 mathbf{B}(mathbf{A}-lambdamathbf{I}_{n})mathbf{v}=mathbf{v} ,然而 mathbf{B}mathbf{0}=mathbf{0} ,左邊不等於右邊,所以 mathbf{A}-lambdamathbf{I}_{n} 不可逆。因此 det(mathbf{A}-lambdamathbf{I}_{n})=0lambdamathbf{A} 特徵多項式的一個零點。

Rightarrow

假設 lambdamathbf{A} 特徵方程的一個零點,令 mathbf{T}=mathbf{A}-lambdamathbf{I}_{n} 。由於 det(mathbf{T})=0 ,根據命題 67 條,令 mathbf{T}^{1},cdots,mathbf{T}^{n}mathbf{T} 的縱向量,存在 v_{1},cdots v_{n}v_{i}neq 0 對於某些 iin{1,cdots,n} ,使得 sum_{i=1}^{n}v_{i}mathbf{T}^{i}=mathbf{0} 。令 mathbf{v}= begin{bmatrix} v_{1} vdots v_{n} end{bmatrix}mathbf{T}mathbf{v}=mathbf{0}mathbf{A}mathbf{v}=lambdamathbf{v}

本來想著這次附錄C要更完的,結果還有一些但篇幅已經很長了,只能留到下次了。

其它參考內容

1. Matrix Inversion Identities

2. Determinant - Wikipedia

3. Sylvester『s determinant identity

4. Felippa』s Matrix Calculus chapter

5. Barnes, R., Matrix Differentiation


推薦閱讀:

特徵值和特徵向量[MIT線代第二十一課]
深度學習中的線性代數1:基本概念和矩陣乘法
設A,B為n階方陣,且AB-BA=A,證明|A|=0 ?
det(AB)=det(A)det(B)有簡單證法嗎?
掰開揉碎推導Normal Equation

TAG:机器学习 | PRML | 线性代数 |