线性代数重要知识点和理论(下)
奇异值分解
奇异值分解非常重要且有趣。首先对于 n × n n\times n n×n对称矩阵 A A A,可以通过对角化得到其对角化形式 A = P D P − 1 A=PDP^{-1} A=PDP−1,但是如果 A A A不是对称矩阵或者不是方阵,则不能进行对角化,但是可以通过奇异值分解得到类似形式。对于对角化,利用的重要性质是 A v 1 = λ v 1 A\bold{v_1}=\lambda \bold{v_1} Av1=λv1以及对称矩阵的特征向量互相正交。对于任意 m × n m\times n m×n矩阵,可以看做是 R m \Bbb R^m Rm到 R n \Bbb R^n Rn空间的一个映射,是否也存在一些 A v 1 = σ 1 u 1 A\bold{v_1}=\sigma_1\bold{u_1} Av1=σ1u1的形式呢?
定理:奇异值分解
设 A A A是秩为 r r r的 m × n m\times n m×n矩阵,那么存在一个 m × n m\times n m×n矩阵 Σ \Sigma Σ, D D D是一个 r × r r\times r r×r非零对角矩阵,其对角线元素是A的前 r r r个奇异值, σ 1 ≥ σ 2 ≥ . . . ≥ σ r > 0 \sigma_1\ge\sigma_2\ge...\ge\sigma_r\gt0 σ1≥σ2≥...≥σr>0,并且存在一个 m × m m\times m m×m正交矩阵 U U U和 n × n n\times n n×n正交矩阵 V V V,满足 A = U Σ V T A=U\Sigma V^T A=UΣVT,这个分解叫做 A A A的一个奇异值分解,矩阵 U U U和 V V V不是由 A A A唯一确定的(只确定了部分 U 和 V U和V U和V正交基,其余满足单位正交条件即可),但 Σ \Sigma Σ对角线必须是 A A A的奇异值。
Σ = [ D 0 0 0 ] \Sigma=\left[ \begin{aligned} D \ \ & 0\\ 0 \ \ & 0\\ \end{aligned} \right] Σ=[D 0 00]
引入的过程
奇异值分解基于一般的矩阵对角化性质可以被长方形矩阵模仿:一个对称矩阵 A A A的特征值的绝对值,表示度量 A A A拉长或者压缩一个向量(特征向量)的程度,如果 A x = λ x Ax=\lambda x Ax=λx,且 ∣ ∣ x ∣ ∣ = 1 ||x||=1 ∣∣x∣∣=1,那么 ∣ ∣ A x ∣ ∣ = ∣ ∣ λ x ∣ ∣ = ∣ λ ∣ ∣ ∣ x ∣ ∣ = ∣ λ ∣ ||Ax||=||\lambda x||=|\lambda|||x||=|\lambda| ∣∣Ax∣∣=∣∣λx∣∣=∣λ∣∣∣x∣∣=∣λ∣
如果 λ 1 \lambda_1 λ1是具有最大数值的特征值,那么对应的单位特征向量 v 1 \bold{v_1} v1,确定一个有 A A A拉长影响最大的方向,也就是 x = v 1 \bold{x}=\bold{v_1} x=v1时, ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣长度最大化, ∣ ∣ A v 1 ∣ ∣ = ∣ λ 1 ∣ ||A\bold{v_1}||=|\lambda_1| ∣∣Av1∣∣=∣λ1∣。其中的原因在特征值部分已经做了介绍,任何向量都可以分解成特征向量的线性组合,选取最大特征值对应的特征向量方向,对向量的拉长自然是最大的。这里为什么要通过研究拉长最大的方向来引入奇异值,后面会做分析。
以一个矩阵 A A A为例,求 ∣ ∣ x ∣ ∣ = 1 ||\bold{x}||=1 ∣∣x∣∣=1的条件下 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大长度和此时的 x \bold{x} x
A = [ 4 11 14 8 7 − 2 ] A=\left[ \begin{aligned} 4&&11&&14\\ 8&&7&&-2\\ \end{aligned} \right] A=[4811714−2]
求 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大值,等价于求 ∣ ∣ A x ∣ ∣ 2 ||A\bold{x}||^2 ∣∣Ax∣∣2的最大值,
∣ ∣ A x ∣ ∣ 2 = ( A x ) T ( A x ) = x T A T A x = x T ( A T A ) x ||A\bold{x}||^2=(A\bold{x})^T(A\bold{x})=\bold{x}^TA^TA\bold{x}=\bold{x}^T(A^TA)\bold{x} ∣∣Ax∣∣2=(Ax)T(Ax)=xTATAx=xT(ATA)x
而 ( A T A ) T = A T A T T = A T A (A^TA)^T=A^TA^{TT}=A^TA (ATA)T=ATATT=ATA, A T A A^TA ATA转置等于自身,是对称矩阵。根据前面对二次型的介绍,最大值的模是 A T A A^TA ATA的最大特征值 λ 1 \lambda_1 λ1,此时 x \bold{x} x为最大特征值 λ 1 \lambda_1 λ1对应的特征向量 v 1 \bold{v_1} v1,令 σ i = λ i \sigma_i=\sqrt{\lambda_i} σi=λi,叫做作矩阵 A A A的奇异值,故 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大值为 σ 1 = λ 1 \sigma_1=\sqrt{\lambda_1} σ1=λ1.
考虑到 v 1 \bold{v_1} v1是 m × 1 m\times 1 m×1,令 u 1 \bold{u_1} u1是 R n \Bbb R^n Rn空间的单位基,则 A v 1 = σ 1 u 1 A\bold{v_1}=\sigma_1 \bold{u_1} Av1=σ1u1,进而推广 A v i = σ i u i A\bold{v_i}=\sigma_i \bold{u_i} Avi=σiui,这个推广是可行的,因为 A T A A^TA ATA是对称矩阵,所以 v i v_i vi之间相互正交(特征值一节已经证明,且证明比较简单)。幸运的是,在 R n \Bbb R^n Rn空间中, u i \bold{u_i} ui在奇异值不同的情况下也是相互正交的,因为:
设 u i \bold{u_i} ui和 u j \bold{u_j} uj对应不同奇异值 σ i \sigma_i σi和 σ j \sigma_j σj,则
σ i σ j u i ⋅ u j = ( σ i u i ) T ( σ j u j ) = ( A v i ) T ( A v j ) = v i T ( A T A ) v j = v i T λ j v j = 0 \sigma_i\sigma_j\bold{u_i}\cdot\bold{u_j}=(\sigma_i\bold{u_i})^T(\sigma_j\bold{u_j})\\ =(A\bold{v_i})^T(A\bold{v_j})=\bold{v_i}^T(A^TA)\bold{v_j}=\bold{v_i}^T\lambda_j\bold{v_j}=0 σiσjui⋅uj=(σiui)T(σjuj)=(Avi)T(Avj)=viT(ATA)vj=viTλjvj=0
下面来讨论,为什么要通过研究 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣的最大值、次大值来引入奇异值的分析。首先当然是出于类比的原因,因为特征值和特征向量就是对单位向量拉长最大、次大。。的数值和方向。如果不加最大值这个限制,还能不能分解 A A A呢?此时仍旧可以分解 A = Q M V A=QMV A=QMV, Q , V Q, V Q,V分别是 m × m , n × n m\times m, n\times n m×m,n×n的单位正交基,问题就在于,此时M就不是奇异值构成的对角阵了,且计算是比较复杂的,其实对称矩阵也可以写成非特征向量构成的P满足 A = P M P − 1 A=PMP^{-1} A=PMP−1的形式,但是此时只是换了一组正交基,不能发现矩阵的本质特性,不能简化运算。按照这种分解方式,研究的是矩阵在椭圆的长轴、次长轴…一个分解的性质,具有明确的几何意义和物理意义。也正是因为奇异值分解有求取 ∣ ∣ A x ∣ ∣ ||A\bold{x}|| ∣∣Ax∣∣最大值的含义,使其可以用于主成分分析法,拉长最大的方向,是将原像数据映射到像空间导致差别最大的数据,含有最多的分类信息量。
举个例子
求取 A = [ 1 − 1 − 2 2 2 − 2 ] A=\left[ \begin{aligned} 1&&-1\\ -2&&2\\ 2&&-2 \end{aligned} \right] A= 1−22−12−2
第一步:先求 A T A = [ 9 − 9 − 9 9 ] A^TA=\left[\begin{aligned}9&&-9\\-9&&9\end{aligned}\right] ATA=[9−9−99]
第二步:求 A T A A^TA ATA的特征值 λ 1 = 18 , λ 2 = 0 \lambda_1=18,\lambda_2=0 λ1=18,λ2=0和特征向量
v 1 = [ 2 2 − 2 2 ] v 2 = [ 2 2 2 2 ] \bold{v_1}=\left[\begin{aligned}\frac{\sqrt{2}}{2} \\ -\frac{\sqrt{2}}{2}\end{aligned}\right] \bold{v_2}=\left[\begin{aligned}\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2}\end{aligned}\right] v1= 22−22 v2= 2222
第三步:求 U U U. 只能求得一个非零向量 u 1 = 1 σ 1 A v 1 = [ 1 3 − 2 3 2 3 ] \bold{u_1}=\frac{1}{\sigma_1}A\bold{v_1}=\left[\begin{aligned} \frac{1}{3} \\ -\frac{2}{3} \\ \frac{2}{3} \\ \end{aligned}\right] u1=σ11Av1= 31−3232
使用格拉姆施密特方法补齐U的单位正交基。 x 1 − 2 x 2 + 2 x 3 = 0 x_1-2x_2+2x_3=0 x1−2x2+2x3=0,分别取 x 2 = 0 , x 3 = 1 , 则 x 1 = − 2 x_2=0,x_3=1, 则x_1=-2 x2=0,x3=1,则x1=−2和 x 1 = 0 , x 2 = 1 , 则 x 3 = 1 x_1=0,x_2=1, 则x_3=1 x1=0,x2=1,则x3=1,此时后两个向量都和 u 1 \bold{u_1} u1正交,有格拉姆施密特方法,求得 u 2 = [ − 2 2 3 − 2 6 2 6 ] u 3 = [ 0 2 2 2 2 ] \bold{u_2}=\left[\begin{aligned} -\frac{2\sqrt{2}}{3} \\ -\frac{\sqrt{2}}{6} \\ \frac{\sqrt{2}}{6} \\ \end{aligned}\right] \bold{u_3}=\left[\begin{aligned} 0 \\ \frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} \\ \end{aligned}\right] u2= −322−6262 u3= 02222
求得A的奇异值分解为 A = U Σ V T = [ 1 3 − 2 2 3 0 − 2 3 − 2 6 2 2 2 3 2 6 2 2 ] [ 3 2 0 0 0 0 0 ] [ 2 2 − 2 2 2 2 2 2 ] A=U\Sigma V^T=\left[ \begin{aligned} \frac{1}{3} &&-\frac{2\sqrt{2}}{3}&&0 \\ -\frac{2}{3} &&-\frac{\sqrt{2}}{6}&&\frac{\sqrt{2}}{2} \\ \frac{2}{3} &&\frac{\sqrt{2}}{6}&&\frac{\sqrt{2}}{2} \\ \end{aligned} \right] \left[ \begin{aligned} 3\sqrt{2} &&0 \\ 0&&0 \\ 0&&0 \\ \end{aligned} \right] \left[ \begin{aligned} \frac{\sqrt{2}}{2} &&-\frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2}&&\frac{\sqrt{2}}{2} \\ \end{aligned} \right] A=UΣVT= 31−3232−322−626202222 3200000 2222−2222
对于非0奇异值 3 2 3\sqrt{2} 32实际上只有一个非零向量 v 1 \bold{v_1} v1和 u 1 \bold{u_1} u1, U , V U,V U,V其余的正交基是为了满秩补齐的,实际上,在分解和计算A的时候,完全可以使用0进行填充,对与计算A没有任何影响。另外,对于 U U U因为只有一个正交基,所以另外的两个单位正交基实际上并不是唯一的(补齐它们,实际对计算A没有任何影响,因为在计算矩阵的时候,他们将和 Σ \Sigma Σ里的0值相乘)
对于奇异值分解若 A = U Σ V T A=U\Sigma V^T A=UΣVT,则 A T = V Σ U T A^T=V\Sigma U^T AT=VΣUT。对于 A A A的奇异值分解,若 λ i , v i \lambda_i, \bold{v_i} λi,vi分别是 A T A A^TA ATA的一个特征值和特征向量, σ i = λ i \sigma_i=\sqrt{\lambda_i} σi=λi是对应的奇异值,则有 A v i = σ i u i A\bold{v_i}=\sigma_i\bold{u_i} Avi=σiui, σ i A T u i = A T A v i = λ i v i \sigma_iA^T\bold{u_i}=A^TA\bold{v_i}=\lambda_i\bold{v_i} σiATui=ATAvi=λivi,所以 A T u i = λ i σ i v i = σ i v i A^T\bold{u_i}=\frac{\lambda_i}{\sigma_i}\bold{v_i}=\sigma_i\bold{v_i} ATui=σiλivi=σivi,所以,如果 V V V的某一列是 A A A原像空间的单位正交基, U U U的对应列是 A A A的像空间的单位正交基,则 U U U的该列是 A T A^T AT原像空间的单位正交基, V V V的对应列是 A T A^T AT的像空间的单位正交基。所以 A T A^T AT的奇异值分解有上述形式。此处没有证明 A T A A^TA ATA和 A A T AA^T AAT具有相同的非零特征值。
基于这个原因对于求 A m × n A_{m\times n} Am×n的奇异值分解(m<<n),可以通过求 A T A^T AT的奇异值分解来实现,则计算复杂度降低:计算 A T A A^TA ATA复杂度从 2 m n 2 2mn^2 2mn2下降到 2 m n 2m^n 2mn,计算行列式的时间复杂度由 n ! n! n!下降到 m ! m! m!
因此,如果上面计算 A T A^T AT的奇异值分解,可以立即得到 A T = ( U Σ V T ) T = V Σ U T A^T=(U\Sigma V^T)^T=V\Sigma U^T AT=(UΣVT)T=VΣUT,而上述矩阵均为已知。