矩阵代数部分
1. 特征值与特征向量
特征值与特征向量的定义:Ax=λx,其中 An×n,xn×1≠0。在复数域上 An×n 一定对应 n 个特征值,故有如下等式成立:
Awi=λiwi,i=1,2,⋯,n
于是可得
A[w1,w2,⋯,wn]=[w1,w2,⋯,wn]⎡⎣⎢⎢⎢λ1λ2⋯λn⎤⎦⎥⎥⎥⟹AW=WΣ⟹A=WΣW−1
其中,W 的 n 个特征向量为标准正交基,满足 WTW=I,即正交矩阵或酉矩阵。注意到以上的特征分解,矩阵 A 必须为方阵。如果不满足方阵条件,即 Am×n,此时对矩阵进行分解需要 SVD 了。
2. 奇异值分解
矩阵分解有很多方法,例如特征分解(Eigendecomposition)、LU分解(LU decomposition)、QR分解(QR decomposition)和极分解(Polar decomposition)等。奇异值分解(Singular Value Decomposition,SVD)是其中的一种矩阵分解方法:
Am×n=Um×mΣm×nVTn×n
其中,U 和 V 都是正交矩阵,在复数域内的话就是酉矩阵,即 UTU=Im×m,VTV=In×n,U 和 V 的列分别叫做 A 的左奇异向量和右奇异向量。Σ 就是一个非负实对角矩阵,主对角线上的每个元素都称为奇异值。其中我们发现 AAT=UΣVTVΣUT=UΣ2UT,可知 AAT 的特征值矩阵等于 A 的奇异值矩阵 Σ 的平方,于是特征值 λ 和 奇异值 σ 的关系即 σi=λi−−√。
求解 SVD 的步骤:
求 AAT 的特征值和特征向量,用单位化的特征向量构成 U
求 ATA 的特征值和特征向量,用单位化的特征向量构成 V
将 AAT 或者 ATA 的特征值求平方根,然后构成 Σ
例如
A=⎛⎝⎜⎜⎜21004300⎞⎠⎟⎟⎟
则有
AAT=⎛⎝⎜⎜⎜20140014100000000000⎞⎠⎟⎟⎟AATx=λx⟹(AAT−λI)x=0
求得 4 个特征值,对应的单位化过的特征向量整理为左奇异矩阵:
λ1≈29.8661,λ2≈0.1339,λ3=λ4=0U=⎛⎝⎜⎜⎜0.81740.576000−0.57600.81740000100001⎞⎠⎟⎟⎟
同样的过程求解 ATA 的特征值和特征向量,得到右奇异矩阵:
λ1≈29.8661,λ2≈0.1339,V=(0.40460.9145−0.91450.4046)
矩阵 Σ 根据上面说的为特征值的平方根构成的对角矩阵:
⎛⎝⎜⎜⎜5.465000000.366000⎞⎠⎟⎟⎟
最后得到:
A4×2=U4×4Σ4×2VT2×2⎛⎝⎜⎜⎜21004300⎞⎠⎟⎟⎟=⎛⎝⎜⎜⎜0.81740.576000−0.57600.81740000100001⎞⎠⎟⎟⎟⎛⎝⎜⎜⎜5.465000000.3659661900⎞⎠⎟⎟⎟(0.404553580.9145143−0.91451430.40455358)T
对于奇异值,它跟我们特征分解中的特征值类似,在奇异值矩阵中也是按照从大到小排列,而且奇异值的减少特别的快,在很多情况下,前 10% 甚至 1% 的奇异值的和就占了全部的奇异值之和的 99% 以上的比例。
Am×n=Um×mΣm×nVTn×n≈Um×kΣk×kVTk×n
SVD 可以用于 PCA 降维,来做数据压缩和去噪。也可以用于推荐算法,也可以用于 NLP 中的算法,比如潜在语义索引(LSI)。
[U,S,V] = svd(A)
对于复矩阵 Am×n, 称 AHA 的 n 个特征根 λi 的算术平方根 σi=λi−−√ 为 A 的奇异值。若记
Σr=diag(σ1,⋯,σr)
其中,σ1,⋯,σr 是 A 的非零的全部的奇异值。则称 m×n 维矩阵
Σ=[Σr000]
为矩阵 A 的奇异值矩阵。奇异值分解:对于 m×n 维矩阵 A,则分别存在一个 m×m 维酉矩阵 U 和一个 n×n 维酉矩阵 V,有
A=UΣVH
3. 广义特征值/特征向量
令 A,B∈Cn×n,ν∈Cn,若标量 λ 和非零向量 ν 满足:
Aν=λBν,ν≠0.
则称 λ 是矩阵 A 相对与矩阵 B 的广义特征值,ν 是与 λ 对应的广义特征向量。如果矩阵非满秩,那么 λ 就有可能任意值包括零。当矩阵为单位阵时上式就成为普通的特征值问题,因此可看作是对普通特征值问题的推广。当且仅当 ξ 是 {A,B} 的广义特征值时,A−ξB 奇异,广义特征值是广义特征多项式 ∣∣A−ξB∣∣=0 的根。
4. Toeplitz 矩阵
定义一个具有 (2n−1) 个元素的 n 阶矩阵
A=⎡⎣⎢⎢⎢⎢⎢⎢⎢a0a1a2⋮an−1a−1a0a1⋮an−2a−2a−1a0⋮an−3⋯⋯⋯⋱⋯a−n+1a−n+2a−n+3⋮a0⎤⎦⎥⎥⎥⎥⎥⎥⎥
为 Toeplitz 矩阵,简称 T 矩阵,简记为 A=(a−j+i)ni,j=0。其中 T 矩阵完全由第 1 行和第 1 列的 (2n−1) 个元素确定。
可见矩阵中位于任意一条平行于主对角线的直线上的元素全都是相等的,且关于副对角线对称。矩阵是斜对称矩阵,一般不是对称矩阵。在数据信息处理过程中,有限元素法、概率统计以及滤波理论等领域常常遇到 T 矩阵。
5. Hankel 矩阵
定义以下的 (n+1) 阶矩阵
H=⎡⎣⎢⎢⎢⎢⎢⎢⎢a0a1a2⋮ana1a2a3⋮an+1a2a3a4⋮an+2⋯⋯⋯⋱⋯anan+1an+2⋮a2n⎤⎦⎥⎥⎥⎥⎥⎥⎥
为 Hankel 矩阵或正交对称矩阵。可见 H 矩阵完全由其第 1 行和第 n+1 列的 (2n+1) 个元素确定。其中沿着所有垂直于主对角线的直线上有相同的元素。
6. Vandermonde 矩阵
定义具有以下形式的 m×n 阶矩阵
V(a1,⋯,an)=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢1a1a21⋮am−111a2a22⋮am−121a3a23⋮am−13⋯⋯⋯⋱⋯1ana2n⋮am−1n⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥
为 Vandermonde 矩阵或范德蒙矩阵。范德蒙矩阵的转置也称为范德蒙矩阵。其中沿着所有垂直于主对角线的直线上有相同的元素。范德蒙行列式如下
A=⎛⎝⎜1bb21cc21dd2⎞⎠⎟⟹|A|=−(b−c)(b−d)(c−d)B=⎛⎝⎜⎜⎜1bb2b31cc2c31dd2d31ee2e3⎞⎠⎟⎟⎟⟹|B|=(b−c)(b−d)(b−e)(c−d)(c−e)(d−e)
如果 V 矩阵满足 ai≠aj,则 V 矩阵一定是非奇异的。
7. Kronecker 积
将 p×q 维矩阵 A=[ai,j],和 m×n 维矩阵 B=[bl,k] 的克罗内克积记作 A⊗B,它是一个 pm×qn 矩阵,形式为
A⊗B=⎡⎣⎢⎢⎢⎢⎢a11Ba21B⋮ap1Ba12Ba22B⋮ap2B⋯⋯⋱⋯a1qBa2qB⋮apqB⎤⎦⎥⎥⎥⎥⎥
8. Hadamard 积
将 m×n 维矩阵 A=[ai,j],和 m×n 维矩阵 B=[bl,k] 的哈达玛乘积记作 A⊙B,也称作 Schur 乘积。它仍然是一个 m×n 矩阵,形式为
A⊙B=⎡⎣⎢⎢⎢⎢⎢a11b11a21b21⋮am1bm1a12b12a22b22⋮am2bm2⋯⋯⋱⋯a1nb1na2nb2n⋮amnbmn⎤⎦⎥⎥⎥⎥⎥
9. M-P 广义逆
对于任意矩阵 A∈Cm×n,如果存在矩阵 G∈Cm×n,满足
AGAGAG(AG)H(GA)H=A=G=AG=GA
则称 G 为 A 的 M-P 广义逆,记为 A†。同时满足上述四个方程的广义可逆矩阵具有唯一性。部分满足上述四个方程的矩阵不唯一,每一种广义逆矩阵都包含着一类矩阵。
若 A∈Cm×nn,则 A†=(AHA)−1AH。若 A∈Cm×nm,则 A†=AH(AHA)−1。