参考资料:数值分析
- 若A为Hermite阵,
可用-酉相似变换-将其化为对角形式: Q ∗ A Q = Λ Q^{*}AQ=\Lambda Q∗AQ=Λ,即得到谱分解,也就是特征值分解;
谱分解保持矩阵的秩和特征值不变。 - 若A非Hermite阵,
- 可用-初等变换-化为比较简单的对角形式,
A = P [ I 0 0 0 ] Q A=P\begin{bmatrix}I&0\\0&0\end{bmatrix}Q A=P[I000]Q
即满秩分解,保持矩阵的秩不变; - 可用-相似变换-将其化为Jordan形,即Jordan分解, A = P J P − 1 A=PJP^{-1} A=PJP−1,保持矩阵的秩和特征值不变。
- 可用-酉相似变换-将其化为上三角形式,即Schur分解 A = Q R Q ∗ A = QRQ^{*} A=QRQ∗,保持秩和特征值不变。
- 可用-酉变换-(不要求相似)j将其化为对角形式,即奇异值分解 A = U Σ V ∗ A=U\Sigma V^{*} A=UΣV∗,特点是不要求A是方阵。
奇异值分解定理:
对任意矩阵
A
A
A(可以不是方阵),存在酉矩阵U,酉矩阵V,对角元按非增次序排列的非负对角矩阵
Σ
\Sigma
Σ,使得:
A
=
U
Σ
V
∗
A=U\Sigma V^{*}
A=UΣV∗。
其中,矩阵A的规模大小 = 对角矩阵
Σ
\Sigma
Σ规模大小。
上述是,完全奇异值分解(FULL SVD)。
还有经济型奇异值分解(economic svd),又称约化奇异值分解,此时
A
=
U
Σ
V
∗
A=U\Sigma V^{*}
A=UΣV∗中,非负对角矩阵是方阵(被约化了,其实是矩阵分块的运算的结果),代价是:在完全奇异值分解中较大的那个方阵不再是方阵(会更小,可能是扁的,也可能是高的)。
奇异值分解的性质:
- 矩阵A的秩 = 非零奇异值的个数
r
r
r;
原因:酉矩阵是可逆的,不改变矩阵的秩,即 r a n k ( A ) = r a n k ( Σ ) rank(A)=rank(\Sigma) rank(A)=rank(Σ). - 矩阵A的值域 = 前
r
r
r个左奇异向量所张成的空间。
A ∗ A A^{*}A A∗A的非零特征值是矩阵A的非零奇异值的平方。
注: ∣ Λ ∣ |\Lambda| ∣Λ∣表示对对角矩阵 Λ \Lambda Λ的每个元素取绝对值所组成的对角矩阵;
s i g n ( Λ ) sign(\Lambda) sign(Λ)表示对角矩阵 Λ \Lambda Λ的对角元的符号,在这里,如果非负,取1,否则取-1.
低秩逼近:
秩1矩阵,是指
u
j
v
j
∗
u_{j}v_{j}^{*}
ujvj∗,因为矩阵
u
j
u_{j}
uj是列向量,所以它的秩为1,而矩阵的乘积的秩不大于每个因子矩阵的秩,所以秩为1.
说明:在所有-秩不超过k的-矩阵中,奇异值分解出的矩阵
A
k
A_{k}
Ak与矩阵A的二范数意义下最近,距离为第k+1个奇异值。
在F范数的意义下,
A
k
A_{k}
Ak距离A也是最近的。
例题:
利用
A
∗
A
A^{*}A
A∗A的非零特征值是矩阵
A
A
A奇异值的平方,先求出奇异值,得到
Σ
\Sigma
Σ矩阵。
与此同时,求出
A
∗
A
A^{*}A
A∗A的特征向量,得到V矩阵。
利用
U
=
A
V
Σ
−
1
U=AV\Sigma^{-1}
U=AVΣ−1,求出矩阵U。
注:构造
u
3
u_{3}
u3的方法有很多,比如:
u
3
u_{3}
u3与
u
2
u_{2}
u2、
u
1
u_{1}
u1向量正交,
u
3
u_{3}
u3的长度(二范数)为1,联立这三个方程即可求解。
阅读博客的笔记:
https://www.cnblogs.com/pinard/p/6251584.html
这篇博客从原理、应用等方面对SVD进行了详细介绍。
有些地方,值得做下笔记。
在PCA中,我们需要计算
X
T
X
X^{T}X
XTX矩阵的特征向量,可以考虑对矩阵
X
X
X进行SVD分解
X
=
U
Σ
V
T
X=U\Sigma V^{T}
X=UΣVT,那么
X
T
X
=
V
Σ
2
V
T
X^{T}X=V\Sigma^{2}V^{T}
XTX=VΣ2VT,也就是说右奇异矩阵正是我们所需要的:
X
T
X
X^{T}X
XTX矩阵的特征向量。