$ullet$ 特征值分解。
特征值分解是针对方阵的,而且这个方阵必须能够相似对角化(如果不了解可以先去阅读一下矩阵相似的博客),那么就有
$$P^{-1}AP = Lambda ; Rightarrow ; A = PLambda P^{-1}$$
其中 $P$ 由特征向量构成,$Lambda$ 由对应特征值构成的对角矩阵。
进一步得,当 $A$ 为实对称矩阵的时候,即 $A = A^{T}$,那么它可以被分解成如下的形式
$$A = PLambda P^{T}$$
其中,$P$ 为单位正交矩阵。
$ullet$ 奇异值分解
特征值分解是一个提取矩阵特征很不错的方法,但是它只是对方阵而言的,在现实的世界中,我们看到的大部分矩阵都不是方阵。
奇异值分解基本定理:若 $A$ 为 $m imes n$ 实矩阵,则 $A$ 的奇异值分解存在
$$A = U Sigma V^{T}$$
其中,$U$ 是 $m$ 阶单位正交矩阵,称左奇异矩阵,里面的向量称左奇异向量;$V$ 是 $n$ 阶单位正交矩阵,称右奇异矩阵,里面的向量称右奇异向量;
$Sigma$ 是 $m imes n$ 矩形对角矩阵,其对角线元素非负(半正定),且按降序排列。可以发现,$A$ 和 $Sigma$ 是同型矩阵。
下面看看怎么得到矩阵 $U,Sigma,V$。
$$AA^{T} = U Sigma V^{T}VSigma^{T}U^{T} = U SigmaSigma^{T}U^{T} \
A^{T}A = VSigma^{T}U^{T}U Sigma V^{T} = VSigma^{T}Sigma V^{T}$$
其中,$AA^{T}$ 是 $m$ 阶实对称矩阵,$A^{T}A$ 是 $n$ 阶实对称矩阵,$Sigma Sigma ^{T}$ 是 $m$ 阶方阵,$Sigma ^{T} Sigma$ 是 $n$ 阶方阵。
1)$A^{T}A$ 的特征值均为非负。令 $lambda$ 是 $A^{T}A$ 的一个特征值,$alpha$ 是对应的特征向量,则
$$A^{T}Aalpha = lambda alpha \
Rightarrow ||Aalpha||^{2} = (Aalpha)^{T}(Aalpha) = alpha^{T}A^{T}Aalpha = alpha^{T}lambda alpha = lambda ||alpha ||^{2} \
Rightarrow lambda geq 0$$
2)$A^{T}A$ 和 $AA^{T}$ 拥有相同的非零特征值,并且保持相同重数,并且属于非零特征值的特征向量间存在制约关系。
a. 首先证明方程 $Ax = 0$ 和 $A^{T}Ax = 0$ 同解。
如果 $Ax=0$,则 $A^{T}(Ax)=0$,所以 $Ax=0$ 的解为 $A^{T}Ax=0$ 的解。
对于 $A^{T}Ax=0$,两边同时乘以 $x^{T}$ ,得到 $x^{T}A^{T}Ax=0$。则有 $(Ax)^{T}(Ax)=0$,即 $||Ax||=0$。所以得到 $Ax=0$。
所以,$A^{T}Ax=0$ 的解都为 $Ax=0$ 的解。
所以 $Ax=0$ 和 $A^{T}Ax=0$ 有相同的解空间。所以 $r(A) = r(A^{T}A)$,同理有,$r(A^{T}) = r(AA^{T})$,于是有:
$$r(AA^{T}) = r(A^{T}) = r(A) = r(A^{T}A)$$
b. 证明:$A^{T}A$ 和 $AA^{T}$ 拥有相同的非零特征值,且特征向量间存在制约关系。
假设 $x$ 是 $A^{T}A$ 的特征值 $lambda$ 所对应的特征向量,则有
$$A^{T}Ax = lambda x$$
将上式两边左乘一个矩阵 $A$ 有
$$AA^{T}left (Ax ight ) = lambda left (Ax ight )$$
那当 $x eq 0$ 时,$Ax$ 是否也是非 $0$ 向量呢?
因为 $Ax = 0$ 和 $A^{T}Ax = 0$ 同解,所以要证明 $Ax eq 0$,只需要证明 $A^{T}Ax eq 0$,因为
$$A^{T}Ax = lambda x eq 0 ; Rightarrow ; Ax eq 0$$
c. 证明非 $0$ 特征值有相同的重数
$$egin{bmatrix}
E_{n} & O \
-A & E_{m}
end{bmatrix}
egin{bmatrix}
E_{n} & A^{T} \
A & E_{m}
end{bmatrix} =
egin{bmatrix}
E_{n} & A^{T} \
O & E_{m} - AA^{T}
end{bmatrix}$$
$$egin{bmatrix}
E_{n} & A^{T} \
A & E_{m}
end{bmatrix}
egin{bmatrix}
E_{n} & O \
-A & E_{m}
end{bmatrix} =
egin{bmatrix}
E_{n} - A^{T}A & A^{T} \
O & E_{m}
end{bmatrix}$$
上面两端取行列式有
$$|E_{m} - AA^{T}| = |E_{n} - A^{T}A|$$
于是
$$left |lambda E_{m} - AA^{T} ight | = left |lambda left (E_{m} - frac{1}{lambda}AA^{T} ight ) ight |$$
$$= lambda^{m} left |E_{m} - frac{1}{lambda}AA^{T}
ight | \
= lambda^{m} left |E_{m} - left (frac{1}{lambda}A
ight )A^{T}
ight | \
= lambda^{m} left |E_{n} - A^{T} left (frac{1}{lambda}A
ight )
ight | \
= lambda^{m - n} lambda^{n}left |E_{n} - A^{T} left (frac{1}{lambda}A
ight )
ight | \
= lambda^{m - n} left |lambda E_{n} - A^{T}A
ight |$$
所以当特征值不为 $0$ 的时候,$AA^{T}$ 和 $A^{T}A$ 的特征多项式同解,即非零特征值重数相同。
现在对矩阵 $A^{T}A$ 进行特征值分解,求出全部的特征值和特征向量,将特征向量进行正交化和单位化,得到 $(v_{1}, v_{2},cdots, v_{k})$。
设 $r(A^{T}A) = k$,将求出来的 $k$ 个非 $0$ 特征值按降序排列,特征值 $lambda_{i}$ 对应的特征向量为 $v_{i}$,即
$$lambda_{1} geq lambda_{2} geq cdots geq lambda_{k} \
(v_{1}, v_{2},cdots, v_{k})$$
由上面分析可知,矩阵 $AA^{T}$ 对应的非 $0$ 特征值也为 $lambda_{i},i=1,2,...,k$,对应的特征向量为
$$(Av_{1}, Av_{2},cdots, Av_{k})$$
对任意两个向量做内积得
$$A^{T}Av_{j} = lambda_{j}v_{j} \
Rightarrow Av_{i} cdot Av_{j} = (Av_{i})^{T}Av_{j} = v_{i}^{T}A^{T}Av_{j} = lambda_{j} v_{i} cdot v_{j} = 0$$
所以,因为 $v_{i},v_{j}$ 正交,所以任意两个不同向量 $Av_{i}$ 和 $Av_{j}$ 也正交。
现在只需要将其单位化即可,因为
$$A^{T}Av_{i} = lambda_{i}v_{i} \
Rightarrow ||Av_{i}||^{2} = Av_{i} cdot Av_{i} = (Av_{i})^{T}Av_{i} = v_{i}^{T}A^{T}Av_{i} = lambda_{i} \
Rightarrow ||Av_{i}|| = sqrt{lambda_{i}}$$
所以矩阵 $AA^{T}$ 的 $k$ 个非 $0$ 特征值对应的单位且正交的特征向量组为
$$(frac{1}{sqrt{lambda_{1}}}Av_{1}, frac{1}{sqrt{lambda_{2}}}Av_{2},cdots, frac{1}{sqrt{lambda_{k}}}Av_{k})$$
所以
$$u_{i} = frac{1}{sqrt{lambda_{i}}}Av_{i}, i = 1,2,...,k$$
奇异值为
$$sigma_{i} = sqrt{lambda_{i}}, i = 1,2,...,k$$
所以,将矩阵 $A$ 奇异值分解的最终形式为
$$A = egin{bmatrix}
u_{1} & u_{2} & cdots & u_{k}
end{bmatrix}_{m imes k}
egin{bmatrix}
sigma_{1} & & & \
& sigma_{2} & & \
& & ddots & \
& & & sigma_{k}
end{bmatrix}_{k imes k}
egin{bmatrix}
v_{1}^{T} \
v_{2}^{T} \
vdots \
v_{k}^{T}
end{bmatrix}_{k imes n} \
= sigma_{1}u_{1}v_{1}^{T} + sigma_{1}u_{2}v_{2}^{T} + cdots + sigma_{1}u_{k}v_{k}^{T}$$
可见,奇异值为 $0$ 的那些没必要考虑。
$sigma$ 的值减少特别的快,为了节省可见,我们可以保留奇异值较大的若干项,舍去奇异值较小的项。这也是做 SVD 的意义。
奇异值往往对应着矩阵中隐含的重要信息,且重要性和矩阵的大小成正相关,每个矩阵 $A$ 都可以表示为一系列秩为 $1$ 的“小矩阵”之和,
而奇异值则衡量了这些“小矩阵”对于 $A$ 的权重。
下面,我们将奇异值/特征值,奇异向量/特征向量做一个对比。