本文為原創(chuàng)文章,歡迎轉(zhuǎn)載,但請務必注明出處。
上文介紹了線性映射,而與線性映射直接相關(guān)的就是矩陣,它決定了線性映射的結(jié)果,這里介紹矩陣的一些基本概念和運算。包括矩陣的轉(zhuǎn)置、逆、特征值與特征向量、投影、正交矩陣、對稱矩陣、正定矩陣、內(nèi)積和外積、SVD、二次型等基本概念。本文主要參考Garrett Thomas(2018),Marc Peter Deisenroth(2018),Strang(2003),José Miguel Figueroa-O'Farrill, Isaiah Lankham(UCD, MAT67,2012)等教授的相關(guān)講座和教材。
1、 矩陣的轉(zhuǎn)置
矩陣轉(zhuǎn)置的定義很簡單,矩陣的轉(zhuǎn)置就是將矩陣的行變?yōu)榱校?b>A∈ ?m×n, 那么轉(zhuǎn)置A?∈ ?n×m,且(A?)ij=Aji。
轉(zhuǎn)置的性質(zhì):
若A?=A, 那么A稱為對稱矩陣(symmetric)。任何一個矩陣都可以是一個對稱矩陣和反對稱矩陣(antisymmetric)的和:
其中,1/2(A+A?)是對稱矩陣,1/2(A-A?)是反對稱矩陣。
2、可逆矩陣(invertible matrix)
一個方陣 A ∈ ?n×n可逆當且僅當存在一個方陣 B∈ ?n×n使得
其中 I∈?n×n為單位矩陣。那么方陣 B 為方陣 A的逆矩陣,記作 A?1。
如果矩陣 A∈?n×n,那么下面的說法等價:
A可逆
A不是奇異矩陣(non-singular)
行列式 det(A)≠0
A 滿秩,即 rank(A=n)
Ax=0只有唯一解:x=0
A 的零空間只有零向量:{0},即null(A)=0
A的列向量線性無關(guān)
A的列向量的張成是整個?n空間。
A的列向量構(gòu)成?n的一個基向量集
存在方陣B∈?n×n使得 AB=I=BA.
轉(zhuǎn)置 A?是可逆矩陣,于是,矩陣A的行向量是線性無關(guān)的,張成是?n空間,同時構(gòu)成了?n的一個基向量集。
A不存在值為0的特征值。
A可以表示為有限個初等矩陣的乘積。
A 有左逆矩陣(即 BA=I)和 右逆矩陣(即 AC=I),且 B=C=A?1。
可逆矩陣 A 的一些重要性質(zhì):
(A?1)?1=A;
(αA)?1=α?1A?1,這里實數(shù)標量α≠0
(A?)?1=(A?1)?
(AB)?1=B?1A?1,其中B∈?n×n是可逆矩陣。 更一般情況,如果方陣 A1,...Ak可逆,那么(A1...Ak)?1=A?1k...A?11.
det(A?1)=(det(A))?1
如果方陣A 的逆矩陣就是它自身,即A=A?1, 那么有 A2=I,這是方陣A就叫對合矩陣(involutory matrix)。
3、矩陣的列空間(columnspace)和行空間(rowspace), 矩陣的秩(rank)
矩陣 A∈?m×n的列空間(columnspace)是指其列向量(看成是?m中的向量)的張成; 類似的,行空間(rowspace)是指其行向量(看成是?n中的向量)的張成。
矩陣A的列空間等于由矩陣A導致的線性映射 ?n→?m的值域, 即range(A)。
矩陣A∈?m×n的列秩是矩陣A的線性無關(guān)的列向量的最大數(shù)量。類似地,行秩是矩陣A的線性無關(guān)的行向量的最大數(shù)量。 矩陣的列秩和行秩總是相等的,因此它們可以簡單地稱作矩陣A的秩,通常表示為r(A)或rank(A)。
4、范數(shù)(norm)和內(nèi)積(inner product)
4.1、范數(shù)(norm)
范數(shù)(norm)是對歐氏空間距離的一般描述。在實數(shù)向量空間在實數(shù)向量空間V的一個范數(shù)是一個函數(shù) ‖?‖:V→? ,并且滿足:
‖x‖≥0 , 當且僅當 x=0 等號成立;
‖αx‖=|α|‖x‖
‖x+y‖≤‖x‖+‖y‖ (三角不等式)
注意在V上的任何范數(shù)都會引出一個在V上的距離度量:d(x,y)=‖x?y‖。
常用的范數(shù)包括:
圖一,不同范數(shù)在二維平面的示例
4.2、內(nèi)積(inner product)
在實數(shù)向量空間V的一個內(nèi)積是一個函數(shù) ???:V×V→?,并且滿足:
?x,x?≥0 ,當且僅當 x=0 等號成立
?x+y,z?=?x,z?+?y,z?,?αx,y?=α?x,y?
?x,y?=?y,x?
另外,對于向量的2-范數(shù),有
當?x,y?=0時, 那么在同一向量空間中的非零向量x 和 y 正交 (orthogonal, 垂直,記為 x⊥y)。 如果x 和 y還是單位長度,即‖x‖=‖y‖=1,那么向量x 和 y 稱為是標準正交的(orthonormal)。
向量正交的幾何解釋,如下圖二,假設向量x 和 y的夾角是 θ,那么由于:
當夾角 θ=π/2 (即垂直)時,cos(θ)=0,所以有?x,y?=0。
圖二,空間中兩個向量之間的夾角
通常內(nèi)積被記為:
在空間?n上, 內(nèi)積被稱為點積(dot product), 記為 x?y。
(畢氏定理,Pythagorean Theorem)如果x⊥y, 那么‖x+y‖2=‖x‖2+‖y‖2。
(柯西-施瓦茨不等式,Cauchy-Schwarz inequality): |?x,y?|≤‖x‖‖y‖
5、投影(projection)
5.1、點到直線的投影
考慮下圖中的兩個向量 u,v∈?2,如何將向量u 投影到向量 v 上呢?
圖三,一個向量投影到另一個向量
假設u 投影到向量 v 上的最近的點是 p,即p點(將向量看成一個空間的一點)是一條通過u點的直線并與向量 v 所在直線垂直且相交的點。這時,如果用向量p來近似向量u,那么誤差為 e=u?p。下面來求u 在向量v上的投影p。因為p 與 向量v在同一直線上,那么設 p=αv,由于v 與 e 垂直,那么有 v?e=0, 即
于是
5.2、投影矩陣(projection matrix)
下面介紹用投影矩陣描述上述的投影,即p=Pu。由于:
所以, 投影矩陣
投影矩陣具有如下一些性質(zhì):
投影矩陣P 的列空間是有向量 v 張成的,因為對于任何一個向量 u, Pu都是位于由向量 v所決定的直線上。
秩 rank(P)=1 ;
對稱矩陣: P?=P;
P2=P。
P 叫做正交(與向量所在直線正交)投影矩陣。
5.3、點到平面的投影
在 ?3中,如何將向量u 投影到平面上距離u最近的p點呢?
首先假設 a1和 a2是平面上的兩個基向量,那么該平面就是矩陣 A=[a1a2] 的列空間(即兩個基向量張成所構(gòu)成的空間)。
基于上面的假設,那么平面里的任意一點(或任意一個向量)p 都可以由平面的兩個基向量線性表示,即p=α1a1+α2a2=Aα。 我們需要求得向量α=(α1,α2),也就是說我們要在平面上找一個p,使得u 到 p的距離最近(即垂直)。如圖四所示。
圖四,向量映射到平面。a<sub>1</sub> 和 a<sub>2</sub> 是平面里的兩個基向量,那么平面里的任意向量都可以由這兩個向量的線性組合得到,這就是向量p=α<sub>1</sub>a<sub>1</sub>+α<sub>2</sub>a<sub>2</sub>=Aα 的原因
類似“點到直線投影”的方法,點u到平面上一點p的誤差向量為 e=u?p=u?Aα。也就是說,要使得誤差e最小,只需要u垂直投影到平面上,而p 就是e與平面相交的點。
由于e與平面垂直,那么e就與平面上所有的向量或直線垂直,最簡單的就是e與平面的兩個基向量a1和 a2都垂直,所以有:
用矩陣表示就是:A?(u?Aα)=0。
還有就是,e=u?Aα 是在 A?的零空間里,所以 e 也是在 A 的左零空間里(left nullspace)。我們知道所有在A 的左零空間里的向量都是與A 的列空間垂直的。這也從另一個方面驗證了上述計算。
由于A?(u?Aα)=0, 所以
如果是映射到直線,那么 A?A 就是一個標量數(shù)值,但是如果是映射到平面,A?A 變成了一個方陣(square matrix)。所以這里不再是除以 v?v,而是乘以 A?A 的逆 (A?A)-1。
所以(對于 n 維空間也是一樣)有
這里,仍然有 P?=P,P2=P。
P? 叫做正交(這里是與平面正交)投影矩陣。如果A中的列向量之間兩兩相互正交,且向量長度為1(標準正交向量),那么A?A=I,所以有
P=A(A?A)?1A?=AA?。(注意,這個結(jié)論的矩陣A必須是標準正交的列向量組成)。
5.4、從投影的視角看線性回歸
線性回歸問題:給定m個數(shù)據(jù)對{(xi,yi)}im= 1,其中xi∈?n,yi∈?, 目標是找到一點直線 y? =θ?x 能“最好的”擬合這些點使得損失最小。為了找到這樣的直線,問題變成了根據(jù)給定的m個數(shù)據(jù)點求向量參數(shù) θ。
現(xiàn)在以矩陣來表示:X∈?m×n,y∈?m。 假設這些數(shù)據(jù)是由真實的 y=Xθ+?, 其中 ?是高斯白噪聲。我們的目標就是求y? =Xθ,使得真實的y 與模型預測的y? 誤差最小。
以二維平面為例,假設平面是兩個向量 x1和x2的張成(即x1和x2是平面的兩個基向量),y是平面外的一個點,我們記作 X=[x1x1]。 由于我們定義了y? =Xθ, 那就說明 y?? 是平面兩個基向量x1和x2的線性組合,也就是說,y? 也在平面上。我們求向量參數(shù)θ,使得平面外的y與平面上的y? 距離最近,那么就是說y?? 是通過向量y的直線垂直于平面的交點。根據(jù)上面4.3的結(jié)論,有(如圖五所示)
圖五,從投影的視角看線性回歸
于是,有
6、特征值(eigenvalue)和特征向量(eigenvector)
凡是涉及到特征值和特征向量時,矩陣首先必須是方陣, 即 A∈?n×n。
如果方陣A 作用于一個非零向量 x∈?n,得到的結(jié)果其實只是簡單的對向量 x 進行拉伸或收縮(scaled) λ 個單位,即經(jīng)過方陣A的作用(或叫做線性變換)后向量 x 的方向不變只是長度變化了(這個特性也叫線性不變性),那么這個特殊的向量 x 就是方陣 A 的一個特征向量,λ 則是該特征向量對應的特征值,即
特征向量不包括零向量(0)。
假設方陣A 的一個特征向量為 x,對應的特征值是 λ ,下面列出一些重要的結(jié)論:
對于任意的實數(shù) γ∈?,那么方陣 A+γI 的特征向量仍然是x, 對應的特征值變?yōu)?λ+γ;
如果方陣A可逆,那么方陣A?1的特征向量仍然是x對應的特征值為 λ?1;
對于任意的整數(shù) k∈?,有Akx=λkx,(這里 定義A0=I)。
后面會詳細介紹特征值和特征向量的應用。
7、矩陣的跡(trace)
在談到矩陣的跡(trace)的時候一般也是針對的方陣。一個方陣的跡是該方陣上的對角線上元素的和,即
跡的一些重要的性質(zhì):
tr(A+B)=tr(A)+tr(B);
tr(αA)=α tr(A),這里α∈?;
tr(A?)=tr(A)
tr(ABCD)=tr(BCDA)=tr(CDBA)=tr(DABC)。
另外,方陣的跡等于方陣的所有特征值的和,即
8、行列式(determinant)
行列式(方陣才有行列式)的定義在這里就不在介紹,這里列出一些重要性質(zhì):
det(I)=1
det(A?)=det(A)
det(AB)=det(A)det(B)
det(A-1)=det(A)-1
det(αA)=αndet(A)
另外,方陣的行列式等于該方陣的所有特征值的乘積,即
從幾何意義的角度,在二維平面上,行列式的絕對值等于由矩陣的兩個向量(列向量或行向量都可以)為臨邊所圍成的平行四邊形的面積;如果是3維空間,那么行列式的絕對值等于由矩陣的三個向量(列向量或行向量都可以)為臨邊所圍成的平行四邊體的體積,以此類推。
圖六,二維平面中行列式的幾何意義
9、正交矩陣(Orthogonal matrices)
如果方陣 Q∈?n×n的列兩兩標準正交(pairwise orthonormal),那么Q稱為正交矩陣, 即
也就是說,正交矩陣的轉(zhuǎn)置等于它的逆,即Q?=Q?1。正交矩陣作用于任何向量(即與向量相乘,矩陣和向量相乘也可以看成根據(jù)矩陣對向量進行線性變換)保留了向量的內(nèi)積結(jié)果(即內(nèi)積結(jié)果不受正交矩陣相乘的影響),即
一個直接的結(jié)果就是正交矩陣保留了2-范數(shù)的結(jié)果:
上面的結(jié)果因此說明了正交矩陣與向量相乘可以看成是一個保留了向量長度的線性變換,但是方向有可能針對向量的原點進行了旋轉(zhuǎn)或翻轉(zhuǎn)。
10、對稱矩陣(symmetric matrices)
如果方陣 A∈ ?n×n的轉(zhuǎn)置就是它本身,那么方陣A 就稱為對稱矩陣,即A=A?。
以下介紹一個重要的定理:
矩陣質(zhì)譜定理(Spectral Theorem):如果方陣 A∈?n×n 是對稱矩陣,那么在 ?n空間中存在由方陣 A的特征向量組成的標準正交基(orthonormal basis)。
這個定理的直接應用就是對對稱矩陣的因子化(factorization),也就是常說的矩陣的特征分解(eigen decomposition)或譜分解(spectral decomposition)。假設對稱方陣 A 的特征向量(也就是方陣 A對應空間?n 的標準正交基)為q1,...,qn,對應的特征值為 λ1,...,λn。假設正交矩陣 Q 的列就是q1,...,qn,對角矩陣 Λ=diag(λ1,...,λn)。根據(jù)這些假設,所以對所有的 i 有 Aqi=λiqi,于是用矩陣表示就是
上式右乘 Q?,就可以可以得到矩陣分解:
11、瑞利熵(Rayleigh quotients)
如果方陣 A∈?n×n是對稱矩陣,那么表達式x?Ax 稱為二次型 (quadratic form)。
瑞利熵(Rayleigh quotients,見下面的等式)將一個對稱矩陣的二次型與該對稱矩陣的特征值聯(lián)系了起來:
一些瑞利熵的重要性質(zhì):
標量不變性:對于任意非零向量 x≠0 和任意非零實數(shù)標量 α≠0, 有
如果 x是方陣 A 的特征向量,對應的特征值是 λ, 有
下面兩個性質(zhì)對求解某些問題也很重要,這些性質(zhì)說明對稱矩陣A的瑞利熵的計算結(jié)果是介于A的最小和最大特征值之間的:
對于任意向量x,如果其長度為1(即‖x‖2=1),那么有
(瑞麗熵的最小最大定理,min-max theorem):對于任意的非0向量x,有
當其僅當向量x為其對應的特征向量時,等號成立。
后面我們會介紹瑞麗熵的應用及其與拉格朗日算子求極值的例子。
12、正定(或半正定)矩陣 (Positive (semi-)definite matrices)
對于對稱矩陣A,如果對于所有的向量 x∈?n,都有 x?Ax ≥ 0, 記作 A?0,那么對稱矩陣A稱為半正定矩陣。如果對于所有的非零向量x∈?n,都有 x?Ax > 0, 記作 A?0,那么對稱矩陣A稱為正定矩陣。
下面的一些性質(zhì)與其特征值有關(guān):
一個對稱矩陣是半正定矩陣當且僅當它的所有特征值都是非負的;一個對稱矩陣是正定矩陣當且僅當它的所有特征值都是正的。
假設任意矩陣 A∈?m×n,那么A?A 是半正定矩陣。 如果A的零空間只有 0 向量, 即null(A)={0}, 那么A是正定矩陣(null(A)={0} 說明只要向量 x∈?n是非零向量,那么就有 Ax≠0)。
如果 A是半正定矩陣,對于任意 ?>0,那么 A+?I 是正定矩陣。
12.1、正定二次型的幾何表示(The geometry of positive definite quadratic forms)
一個理解二次型的有用方法就是通過觀察他們的幾何水平集(the geometry of their level set)。一個函數(shù)的水平集或等高線(isocontour)是一組輸入的集合,對于這些輸入,函數(shù)都產(chǎn)生一個相同的值或結(jié)果,如函數(shù) f 的 c-等高線是 {x∈dom? f:f(x)=c}。
考慮一個特殊情況 f(x)=x?Ax,其中 A 是正定矩陣。由于A 是正定矩陣,那么它有唯一的矩陣平方根 A1/2=QΛ1/2Q,其中 QΛQ 是A的特征分解,Λ1/2=diag( √λ1,...,√λn)。很容易看出A1/2是正定矩陣(因為它的所有特征值都是大于0的),而且有A1/2A1/2=A。 給定一個實數(shù) c>0, 那么函數(shù)f 的 c-等高線就是一組 x∈?n,且滿足:
上式中,A1/2是對稱矩陣。設 z=A1/2x,那么有‖z‖2=√c。 這就是說向量的值z是位于半徑為 √c 的圓上。進一步,我們加入?yún)?shù)使 z=√c z? ,其中 ‖z‖2=1,那么由于A?1/2=QΛ?1/2Q?,所以有,
其中 z? =Q?z? , 因為 Q 是正交矩陣,所以 z?? 也是滿足‖z? ‖2=1。使用這種參數(shù)化的方式可以得到結(jié)果集{x∈?n:f(x)=c} 是在可逆的線性映射 x=√c QΛ?1/2z?? 的單位圓影像(image of the unit sphere) {z? ∈?n:‖z? ‖2} 。( 矩陣的影像(image of matrix)是指該矩陣的張成(Think of it (image of the matrix) as what vectors you can get from applying the linear transformation or multiplying the matrix by a vector, from wiki)) 。
通過這些運算可以看出,經(jīng)過一系列的線性變換后可以很清楚的理解函數(shù) f 的 c-等高線是如何得到的:首先開始于一個單位圓(或單位球面),然后對每個坐標軸 i 拉伸或壓縮 對應的λi1/2個單位,由此得到一個軸對齊的橢球(an axis-aligned ellipsoid)。橢球的軸長度與正定矩陣 A 的特征值的平方根倒數(shù)成正比。所以,特征值越大,對應的橢球的軸的長度就越小,反之亦然。
然后這個軸對齊的橢球通過矩陣 Q 進行了一個剛性變換(rigid transform, 即保留長度和角度,例如旋轉(zhuǎn)或反射(rotation/reflection)等)這個變換的結(jié)果就是橢圓的軸不在沿著原來的坐標軸方向,而是沿著相應的特征向量方向。為了說明這點,假設有一個單位向量 ei∈?n,有 [ei]j=δij。在變換之前的空間,這個向量指向原坐標軸方向,其長度與 λi1/2成正比。但是,進過剛性變化 Q后,該向量指向的方向變成了相應的特征向量 qi的方向,因為:
這里我們使用了matrix-vector product identity。
總結(jié):f(x)=x?Ax 的等高線是橢球,橢球的軸是指向了 A 的特征向量方向,這些軸的半徑是與相應的特征值的平方根倒數(shù)成正比的。
13、奇異值分解(Singular value decomposition)
任意矩陣 A∈?m×n都有一個SVD (即使該矩陣不是方陣)。
SVD的矩陣分解如下:
其中U∈?m×m和 V∈?n×n是正交矩陣(orthogonal matrix),Σ∈?m×n是對角矩陣(diagonal matrix),其對角線上的元素值是矩陣A 的奇異值 (singular value,記作 σi)。
假設矩陣A 的前 r=rank(A) 個奇異值是非零的,為了方便,我們以非遞增排序,即
另外一中SVD的寫法是(即 sum-of-outer-product identity):
其中 ui和 vi分別是 U 和 V 的第 i 個列向量。
可以看出,SVD因子提供了 A?A 和 AA?的特征分解:
于是,V的列(即A右奇異(right-singular)向量)就是A?A的特征向量,而U的列(即A左奇異(left-singular)向量)就是AA?的特征向量。
矩陣 Σ?Σ 與 ΣΣ?的大小不是必須要相等。 但是他們都是對角陣,其對角線上的元素都是奇異值的平方,即 σi2(可能還有一些0值)。所以矩陣 A 的奇異值是矩陣 A?A(或AA?)的特征值的平方根。
14、偽逆(Pseudoinverse)矩陣
對于矩陣 A∈?m×n,如果 m≠n, 那么 A 是不可逆的。但是,一種叫摩爾-彭若斯廣義逆(Moore-Penrose pseudoinverse)的方法可以用來求一般矩陣的偽逆,記作 A?∈?n×m,它具有以下性質(zhì):
AA?A=A;
A?AA?=A?
AA?是對稱矩陣
A?A也是對稱矩陣
如果A可逆,那么 A?=A-1。更一般情況,我們可以通過計算矩陣的SVD來得到它的偽逆:如果 A=UΣV?,那么
其中 Σ?可以通過如下方式得到:對 Σ 進行轉(zhuǎn)置,然后將對角線的非零元素求倒數(shù)。
15、一些有用的Matrix identities
15.1、矩陣和向量(matrix-vector)相乘就是矩陣列向量的線性組合
假設向量x∈?n和矩陣 A∈?m×n,A的列向量為a1,...,a1,那么有
15.2、外積(outer product) 的和是矩陣和矩陣(matrix-matrix)相乘
一個外積(outer product)表示為 ab?, 其中a∈?m,b∈?n,外積的結(jié)果生成一個 m×n 的矩陣:
假設向量a1,...,ak∈?m,b1,...,bk∈?n,那么
其中 A=[a1...? ak], B=[b1...? bk]。
15.3、二次型
假設 A∈?n×n是對稱矩陣,那么 x?Ax 稱為對稱矩陣 A 的二次型。二次型可以寫成如下的求和形式:
這種寫法對一般的方陣都適用(不一定必須是對稱矩陣),但是對二次型來說,只限定在對稱矩陣的范圍里進行討論。
16、小結(jié)
上文我們從線性映射引入了矩陣的概念,本文介紹了矩陣的一些概念及運算, 包括矩陣的轉(zhuǎn)置、逆、特征值與特征向量、投影、正交矩陣、對稱矩陣、正定矩陣、內(nèi)積和外積、SVD、二次型等基本概念。需要注意的是,行列式、正交矩陣、對稱矩陣都是方陣;而瑞麗熵、正定或半正定矩陣、二次型的討論都是針對的對稱矩陣。
下文中我們將從運動的角度直觀介紹向量、線性變換及其與矩陣的關(guān)系。
作者:yong_bai
鏈接:http://www.lxweimin.com/p/cdd538779714
來源:簡書
簡書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請聯(lián)系作者獲得授權(quán)并注明出處。