奇异值分解(SVD):可以将一个比较复杂的矩阵用更小更简单的几个子矩阵相乘来表示,这些小矩阵描述的是矩阵的重要特性。
特征值分解:
特征值:若向量V是方阵A的特征向量,则可以表示成
A
V
=
λ
V
AV = \lambda V
AV=λV 这时候向量V是A的特征向量,
λ
\lambda
λ 则为特征值
特征值分解: A = Q Σ Q − 1 A = Q \Sigma Q^{-1} A=QΣQ−1 Q是特征向量组成的,E是一个对角阵,对角线上的元素是特征值
矩阵 * 向量相当于线性变换
1. 若矩阵是对称的,变换相当于对X,Y轴方向上的一个拉伸变换
2. 若矩阵是非对称的,变换相当于对一个轴进行拉伸变换
矩阵其实就是向量高维空间下的一个线性变换
特征值分解得到前N个特征向量,对应了矩阵最最主要N个变化方向
特征值分解 --> 特征值 + 特征向量
特征值:这个特征的重要程度
特征向量: 表示这个特征是什么 --> 线性子空间
特征值分解只只适用于方阵,扩展到普通矩阵,衍生出奇异值分解
A
=
U
Σ
V
T
A = U \Sigma V^T
A=UΣVT
U: NN方阵,称为左奇异向量
E:NM 矩阵,除了对角线元素,其余都是0,对象线上元素为奇异值
V
T
V^T
VT 右奇异向量
如何将特征值与奇异值关联起来呢
用 A的转置乘以A,得到新的方阵
A
T
∗
A
∗
V
i
=
λ
∗
V
i
A^T * A * V_i = \lambda * V_i
AT∗A∗Vi=λ∗Vi.
可以得到V 右奇异向量
此外,特征值
σ
=
λ
i
\sigma = \sqrt {\lambda_i}
σ=λi
左奇异向量
μ
i
=
1
σ
A
V
i
\mu_i = \frac {1} {\sigma}A V_i
μi=σ1AVi
因为奇异值减少的特别快,所以可以用前r大的奇异值来近似描述矩阵
A
m
∗
n
≈
U
M
∗
r
Σ
r
∗
r
V
r
∗
n
T
A_m*n \approx U_M*r \Sigma_r*r V^T_{r*n}
Am∗n≈UM∗rΣr∗rVr∗nT
奇异值分解的几何含义:对于任何的一个矩阵,我们要找到一组两两正交单位向量序列,使得矩阵作用在此向量序列上后得到新的向量序列保持两两正交