1. 矩阵的对角化(Diagonalization)
假设
An×n 具有
n 个线性无关的特征向量
{x1,x2,⋯,xn}, xi∈Rn,可以定义特征向量矩阵
S=[x1,x2,⋯,xn],那么矩阵
A 可以被对角化
(diagonalized) 为一个对角阵
Λ(对角线元素为特征值):
S−1AS=Λ=⎣⎢⎢⎡λ1λ2⋱λn⎦⎥⎥⎤ 或者
A=SΛS−1
为了完成矩阵
A 的对角化,其特征向量矩阵
S 必须可逆(要求
n 个线性无关的特征向量,或者没有重复的特征值)。
上述对角化的过程实际上是:
由:
Axi=λixi, i=1,⋯,n
可得:
AS=A[x1,x2,⋯,xn]=[λ1x1,λ2x2,⋯,λnxn]
而:
[λ1x1,λ2x2,⋯,λnxn]=[x1,x2,⋯,xn]⎣⎢⎢⎡λ1λ2⋱λn⎦⎥⎥⎤=SΛ
矩阵的对角化可以简化很多问题。例如,
Am=m
SΛS−1SΛS−1⋯SΛS−1=SΛmS−1
2. 实对称矩阵的特征分解(Eigenvalue Decomposition,EVD)
2.1 实对称矩阵的对角化
假设
An×n 为实对称
(real symmetric)矩阵,考虑其对角化过程:
{ AA=SΛS−1=AT
⟹
AT=(SΛS−1)T=(S−1)TΛST
扫描二维码关注公众号,回复:
11534303 查看本文章
⟹
A=SΛS−1=(S−1)TΛST=AT
⟹
S−1=ST 或
STS=I
此时,特征向量矩阵
S=[x1,x2,⋯,xn],xi∈Rn 是正交矩阵
(orthogonal matrix),具有特殊的性质:
S 中任意一个特征向量
xi 与其他特征向量
xj, (j=i) 都正交。
STS=I⟹{ xiTxjxiTxj=0=1,i=j,i=j
为了区别于一般矩阵的对角化,记实对称矩阵的正交矩阵(特征向量矩阵)为
V、特征值对角阵为
D,那么实对称矩阵
A 可以对角化为:
A=VDV−1=VDVT, 其中
VTV=I 或
V−1=VT
2.2 正交矩阵的几何意义
在实对称矩阵
A=VDV−1 的对角化过程中,正交矩阵
V 的主要作用在于:
- 将实对称矩阵
A 看成
Rn 到
Rn 的线性变换
A:Rn⟶Rn
vi⟶Avi,vi,Avi∈Rn
- 实对称矩阵
A 的特征向量矩阵
V 提供了变换前后的
Rn 中的正交基
{v1,v2,⋯,vn}
将
A 的对角化写为
AV=VD,也就是
Avi=λivi
, vi∈Rn,那么:
(1) 向量
vi∈Rn 经过矩阵
A 变换之后仍在
Rn 中
(the transformation takes Rn to itself)
(2) 向量
vi 的方向没变,只是向量的长度以
λi 的比率进行了缩放
因此,如果采用正交矩阵
V 中的特征向量
{v1,v2,⋯,vn},vi∈Rn 同时作为构建变换前的
Rn 和变换后的
Rn 的基向量,那么变换前后的
Rn 仅仅在尺度上发生了改变(如图
1 和图
3 所示)。
例1 实对称矩阵
A=[3001],对应了
R2 中的线性变换:
[3001][x1x2]=[3x1x2], [x1x2]∈R2
特征向量为
v1=[10] 和
v2=[01],特征向量矩阵
V=[1001]
特征值为
λ1=3, λ2=1,特征值对角阵
D=[3001]
图1 标准坐标轴方向正好是
特征向量的方向:
e1=[1,0]T=v1, e2=[0,1]T=v2
由
Avi=λivi,特征向量
vi 经过线性变换之后,在新的
R2 中方向不会改变,只是改变了长度。
因此,对于“标准坐标轴方向”的单位向量
e1 和
e2 而言,在新的
R2 中方向仍保持不变:
(1) e1 方向上的尺度放大了
λ1=3 倍
(2) e2 方向上的尺度放大了
λ2=1 倍(尺度没变)
例2 实对称矩阵
A=[2112],对应了
R2 中的线性变换:
[2112][x1x2]=[2x1+x2x1+2x2]
特征向量为
v1=21[2
2
] 和
v2=21[−2
2
],特征向量矩阵
V=21[2
2
−2
2
]
特征值为
λ1=3, λ2=1,特征值对角阵
D=[3001]
图2 标准坐标轴方向不再是
特征向量的方向:
e1=[1,0]T=k1v1, e2=[0,1]T=k2v2
“标准坐标轴方向”的单位向量
e1 和
e2 经过线性变换之后,在新的
R2 中为:
x1′=2x1+x2, x2′=x1+2x2
也就是会改变大小和方向:
e1′=Ae1=[2,1]T,e2′=Ae2=[1,2]T。
图3 由
Avi=λivi,特征向量
vi 经过线性变换之后,在新的
R2 中方向不会改变,只是改变了长度:
(1) v1=21[2
,2
]T 方向上的尺度放大了
λ1=3 倍
(2) v2=21[−2
,2
]T 方向上的尺度放大了
λ2=1 倍(尺度没变)
也就是说,如果采用特征向量
v1 和
v2 作为基向量来构造
R2,那么变换前后的
R2 仅仅是尺度发生了改变。
3. 奇异值分解(Singular Value Decomposition,SVD)
奇异值分解
SVD 可以实现对一般矩阵
Am×n(非方阵)的对角化:
A=UΣVT 或者
AV=UΣ
其中,
Um×m 和
Vn×n 都是正交矩阵
Σm×n 是对角阵
(Σii=σi)
3.1 SVD的实质
理解
SVD 的本质,还得从线性变换的角度去看待,如图
4 所示:
图4 在《向量空间基础》一文中已经说明:
1) 对于一个秩为
r 的矩阵
Am×n,其中必然包含着一个
r×r 的可逆方阵
A^r×r
2) 线性变换
Am×n:Rn→Rm,实际上是由
Am×n:C(AT)→C(A) 完成(图中的
Axr=b)
3) 去掉空间
N(A)和
N(AT),线性变换
Am×n:C(AT)→C(A) 实际上是指
r 维子空间上的
A^r×r:Rr→Rr
图片取自于《Introduction to Linear Algebra(Gilbert Strang)》Fig 4.3
从线性变换的角度来看:矩阵
Am×n 将
Rn 中的向量变换为
Rm 中的向量。
然而,仅仅使用真实大小的可逆矩阵
Ar×r 来表示矩阵
Am×n 的对角化,无法完整说明矩阵
Am×n 作为
Rn⟶Rm 线性变换的过程,只能说明实际的
C(AT)⟶C(A) 变换过程(图
4 中的
Axr=b),而
C(A) 和
C(AT) 空间的实际维度都为
r —— 都只有
r 个线性无关的基向量。
因此,对于一个秩为
r 的矩阵
Am×n,其
SVD 对角化本质上是指
r 维子空间上的可逆方阵
A^r×r 所对应的线性变换
A^r×r:Rr→Rr,也就是:
⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧Av1=σ1u1Av2=σ2u2Avr=σrur⟹A⎣⎡ v1⋯vr ⎦⎤=⎣⎡ u1⋯ur ⎦⎤⎣⎡σ1⋱σr⎦⎤
奇异向量
(singular vector) v1,⋯,vr 都在
A 的行空间
C(AT) 中,而
u1,⋯,ur 都在
A 的列空间
C(A) 中。而且,奇异值
σ1,⋯,σr 都是正数(见
3.3 节 结论
1)。
因此,矩阵
Am×n 的奇异值分解也可以写为:
A=UΣVT=UrΣrVrT=u1σ1v1T+⋯+urσrvrT
例3 假设
r=2,m=n=r,奇异值分解的过程如图
5 所示:
图5 与实对称矩阵的
EVD 不同:
(1) 奇异向量
vi∈Rn 经过矩阵
Am×n 变换为
Avi∈Rm 之后 不一定满足方向不变
(2) 将矩阵
Am×n 变换后的向量
Av1 和
Av2 单位化,就是
Rm 中的向量
u1 和
u2
且满足
Av1=σ1u1,Av2=σ2u2(奇异值为长度)
(3) 正交的奇异向量
v1 和
v2,经过矩阵
Am×n 变换为
Av1 和
Av2 后仍保持正交性,即:向量
u1 和
u2 也正交
【注】:本例中由于
m=n=r=2,因此两个零空间
N(A)={0} 和
N(AT)={0}
图1,2,3,5 均取自于:《We Recommend a Singular Value Decomposition》
例4 奇异值分解
A=UΣVT=UrΣrVrT=u1σ1v1T+⋯+urσrvrT 过程描述
图
6(a)(b) 表示源空间,图
6(c) 表示目标空间,矩阵
A3×3 的秩为
r=2,其
SVD 过程为:
(1) 图
6(a) 中,
R3 空间
v3 轴上的所有向量经过
A3×3 变换后为
0,即零空间
N(A)={kv3}
(2) 在图
6(a) 的
R3 空间中去掉零空间
N(A)={kv3},就变成了图
6(b) 中的实际维度为
2 的行空间
C(AT),即图
6(b) 阴影区域所在平面
(3) 从图
6(b) 的行空间
C(AT) 中选择出正交的奇异向量
v1,v2,经过
A 变换后就变成了图
6(c) 中的向量
Av1=σ1u1 和
Av2=σ2u2,向量
u1,u2 仍保持正交性,以
u1,u2 为基向量就构建出了实际维度为
2 的列空间
C(A),即图
6(c) 阴影区域所在平面
(4) 奇异值分解
A=UΣVT=UrΣrVrT 实际上是指
A^2×2:C(AT)→C(A)
图6 取自于《A Singularly Valuable Decomposition: The SVD of a Matrix》Fig.2
3.2 SVD的奇异向量(Singular vector)
由上节分析可知,只考虑用
v1,⋯,vr 作为基向量构建行空间
C(AT) 、以及用
u1,⋯,ur 作为基向量构建列空间
C(A) 来完成
SVD 显然不足以描述线性变换
Am×n:Rn⟶Rm 的完整过程,还必须完成以下内容:
- 使用正交矩阵
Vn×n 中的所有列向量
{vi}i=1n 构建
Rn 空间
(1) 由于
r 个线性无关的
v1,⋯,vr 都在
A 的行空间
C(AT) 中,实际上只是构成了
Rn 中的子空间
Rr⊆Rn,并不足以构成整个
Rn
(2) 由于行空间
C(AT) 在
Rn 中的正交补空间为零空间
N(A),为了构建整个
Rn,还必须补充构成
N(A) 的
n−r 个
{vi}i=r+1n 基向量,也就是要使用到
Vn×n 的全部列向量
{vi}i=1n
零空间
N(A) 中的
n−r 个
{vi}i=r+1n 基向量,均与行空间
C(AT) 中的
v1,⋯,vr 正交
由于
Avi=0∈Rm, ∀ vi∈N(A)⊂Rn,矩阵
A 将
N(A) 中的向量变换为了
Rm 的原点
也就是说,
N(A) 中的向量没能真正体现出“矩阵
A 作为线性变换”应有的作用,可以认为是“冗余的”
- 使用正交矩阵
Um×m 中的所有列向量
{ui}i=1m 构建
Rm 空间
(1) 由于
r 个线性无关的
u1,⋯,ur 都在
A 的列空间
C(A) 中,实际上只是构成了
Rm 中的子空间
Rr⊆Rm,并不足以构成整个
Rm
(2) 由于列空间
C(A) 在
Rm 中的正交补空间为左零空间
N(AT),为了构建整个
Rm,还必须补充构成
N(AT) 的
m−r 个
{ui}i=r+1m 基向量,也就是要使用到
Um×m 的全部列向量
{ui}i=1m
左零空间
N(AT) 中的
m−r 个
{ui}i=r+1m 基向量,均与行空间
C(A) 中的
u1,⋯,ur 正交
由于
ATui=0∈Rn, ∀ ui∈N(AT)⊂Rm,矩阵
AT 将
Rm 中的一些向量
ui∈N(AT) 变换为了
Rn 的原点
因此,
N(AT)⊂Rm 中的这些向量对于变换
AT 而言也是“冗余的”
使用所有
{ui}i=1m 和
{vi}i=1n 构建了完整的
Rm 和
Rn 之后, 矩阵
Am×n 作为
Rn⟶Rm 的线性变换过程才得以完整体现。此时,完整的奇异值分解就表示为
AV=UΣ,也就是:
A Vn×n
⎣⎡ v1 ⋯ vr ⋯ vn⎦⎤=Um×m
⎣⎡ u1 ⋯ ur ⋯ um⎦⎤Σm×n
⎣⎢⎢⎡σ1⋱σr⎦⎥⎥⎤
或者
A=UΣVT=UrΣrVrT 的形式:
A=[ u1 ⋯ ur ∣∣∣ ur+1 ⋯ um]⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡σ10⋮0⋱⋯0⋯σr0⋮00⋮⋮0⋮0⋯00⋯⋱⋯0⋮⋮0⋮0⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡v1T⋮vrT——vr+1T⋮vnT⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤=UrΣrVrT
[ u1 ⋯ ur]⎣⎡σ1⋱σr⎦⎤⎣⎢⎡v1T⋮vrT⎦⎥⎤+[ur+1 ⋯ um]⎣⎡0⎦⎤⎣⎢⎡vr+1T⋮vnT⎦⎥⎤
3.3 SVD奇异向量与EVD的关系
结论1 右奇异向量矩阵
Vn×n=[v1,⋯,vn], vi∈Rn 是实对称矩阵
ATA 的特征分解
EVD 的特征向量集,且实对称矩阵
ATA 的特征值都是非负的,矩阵
Am×n 进行
SVD 后的奇异值都是非负的。
ATA=VDVT
其中,正交矩阵
Vn×n=[v1,⋯,vn], vi∈Rn 就是
SVD 的右奇异向量矩阵
对角阵
Dn×n 的对角线元素
λi 为
ATA 的特征值,假设特征值在对角线上以降序排列
由于:
ATAV=VD⟹ATAvi=λivi
可得:
(Avi)T(Avj)=viTATAvj=viT(λjvj)=λjviTvj=0
这就说明,正交矩阵
Vn×n 中正交的列向量
{v1,⋯,vn}, vi∈Rn,经过矩阵
Am×n 变换为
Rm 中的
{Av1,⋯,Avn}, Avi∈Rm 后,仍然是正交的。
因此:
(Avi)T(Avj)⟹⎩⎪⎨⎪⎧(Avi)T(Avj)(Avi)T(Avi)=λjviTvj=0=∥Avi∥2=λi≥0,i=j,i=j
这就说明,实对称矩阵
ATA 的特征值
λi 都是非负的。
又因为,在
SVD 中满足
Avi=σiui,i∈{1,⋯,r},因此:
ui=∣∣Avi∣∣Avi=λi
1Avi=σi1Avi,i∈{1,⋯,r}
这就说明,矩阵
Am×n 进行
SVD 后的奇异值
σi=λi
≥0 ,都是非负的。
结论2 左奇异向量矩阵
Um×m=[u1,⋯,um], ui∈Rm 是实现实对称矩阵
AAT 的特征分解
EVD 的特征向量集,而且具有与实对称矩阵
ATA 相同的非零特征值。
由于满足
Avi=σiui,i∈{1,⋯,r}
又因为:
ui=λi
1Avi=σi1Avi,i∈{1,⋯,r}
因此:
AATui=AAT(σi1Avi)=σi1A(ATAvi)=σi1A(λivi)=σi1λi(Avi)=σi1λi(σiui)=λiui
也就是
AATU=UD 或者
AAT=UDUT
这就说明,实对称矩阵
AAT 具有与实对称矩阵
ATA 相同的非负特征值
λi≥0, i∈{1,⋯,r}。
【注】:关于向量空间的基本概念,请参考《向量空间基础知识》