1. 简介
以物理中「力」的角度来看待,我们通常会将「合力」分解为各个「分力」,来描述整个「合力」的影响。特征值分解便是将「矩阵」分解成各个方向的分量,通过对各个分量的刻画来描述此矩阵。
特征分解:eigen decomposition
特征向量:eigen vector
特征值:eigen value
2. 理解
设矩阵 A∈Rn×n,向量 x∈Rn×1,则有:
-
矩阵乘法本质是一种变换。以几何角度来看,Ax 表示对向量 x 进行旋转和伸缩变换。
-
矩阵 A 的特征向量是一种特殊的向量,满足 Ax=λx。也就是说,矩阵 A 对特征向量 x 只起到伸缩变换的作用,而没有旋转变换的作用。
-
Ax=λx 表示矩阵 A 和特征值 λ、特征向量 x 之间建立了联系,但无法通过单一的 λ 和 x 来表示 A,因为单一的式子是不完备的。对于秩为 m 的矩阵 A,应该存在 m 个这样的式子,满足:
A(x1,x2,⋯,xm)=(λ1x1,λ2x2,⋯,λmxm)=(x1,x2,⋯,xm)⎣⎡λ1000λ20⋯⋯⋯00λm⎦⎤
简化表达为:
AV=VΛ
从而可以得到矩阵 A 的表达:A=VΛV−1,也即矩阵 A 的特征值分解。
-
特征值和特征向量是为了研究向量在经过线性变换后的方向不变性而提出的。一个矩阵和该矩阵的非特征值向量相乘是对该向量的旋转和伸缩变换,一个矩阵和该矩阵的特征向量相乘是对该向量的伸缩变换,其伸缩程度取决于对应特征值的大小。
-
矩阵在特征向量所指的方向上具有增强(或减弱)特征向量的作用。也就是说,如果矩阵持续地叠代作用于向量,那么特征向量的就会突显出来。
-
设矩阵 A∈Rn×n 的特征向量为 (v1,v2,⋯,vn),特征值为 (λ1,λ2,⋯,λn),则对于向量 x=x1v1+x2v2+⋯+xnvn,有
Ax=A(x1v1+x2v2+⋯+xnvn)=x1Av1+x2Av2+⋯+xnAvn=x1λ1v1+x2λ2v2+⋯+xnλnvn
使用 A 作用 x 上 k 次,有
Akx=Ak−1Ax=Ak−1(x1λ1v1+x2λ2v2+⋯+xnλnvn)=Ak−2(x1λ12v1+x2λ22v2+⋯+xnλn2vn)⋮=x1λ1kv1+x2λ2kv2+⋯+xnλnkvn
一般假定 λ1>λ2>⋯>λn,故有
Akx=λ1k(x1v1+x2λ1kλ2kv2+⋯+xnλ1kλnkvn)
当 k→∞ 时,有
k→∞limAkx=λ1kx1v1
即当矩阵 A 作用在 x 上足够多次时,将得到矩阵 A 的主特征向量的伸缩,归一化便可得到主特征向量 v1。
3. 求解
只有对可对角化矩阵才可以施以特征分解。
-
首先求出所有特征值,由
Av=λv⇒(λI−A)v=0
为使上述方程有非零解,要求 det(λI−A)=0。
-
再根据求出的特征值 λ,代入 Av=λv 去计算对应的特征向量 v。
附录