线性代数的本质(十)——矩阵分解

文章目录

  • 矩阵分解
    • LU分解
    • QR分解
    • 特征值分解
    • 奇异值分解
      • 奇异值分解
      • 矩阵的基本子空间
      • 奇异值分解的性质
      • 矩阵的外积展开式

矩阵分解

矩阵的因式分解是把矩阵表示为多个矩阵的乘积,这种结构更便于理解和计算。

LU分解

A A A m × n m\times n m×n 矩阵,若 A A A 可以写成乘积
A = L U A=LU A=LU
其中, L L L m m m 阶下三角方阵,主对角线元素全是1。 U U U A A A 得到一个行阶梯形矩阵。这样一个分解称为LU分解 L L L 称为单位下三角方阵。

我们先来看看,LU分解的一个应用。当 A = L U A=LU A=LU 时,方程 A x = b A\mathbf x=\mathbf b Ax=b 可写成 L ( U x ) = b L(U\mathbf x)=\mathbf b L(Ux)=b,于是分解为下面两个方程
L y = b U x = y L\mathbf y=\mathbf b \\ U\mathbf x=\mathbf y Ly=bUx=y
因为 L L L U U U 都是三角矩阵,每个方程都比较容易解。

LU 分解算法:本节只讲述仅用行倍加变换求解。可以证明,单位下三角矩阵的乘积和逆也是单位下三角矩阵 。此时,可以用行倍加变换寻找 L L L U U U 。假设存在单位下三角初等矩阵 P 1 , ⋯ , P s P_1,\cdots,P_s P1,,Ps 使
P 1 ⋯ P s A = U P_1\cdots P_sA=U P1PsA=U
于是便得到了 U U U L L L
L = ( P 1 , ⋯ , P s ) − 1 L=(P_1,\cdots,P_s)^{-1} L=(P1,,Ps)1

QR分解

如果 m × n m\times n m×n 矩阵 A A A 的列向量线性无关,那么 A A A 可以分解为 A = Q R A=QR A=QR,其中 Q Q Q 是一个 m × n m\times n m×n 正交矩阵,其列为 col  A \text{col }A col A 的一组标准正交基, R R R 是一个上 n × n n\times n n×n 三角可逆矩阵,且其对角线上的元素全为正数。

证:矩阵 A = ( x 1 , x 2 , ⋯ , x n ) A=(\mathbf x_1,\mathbf x_2,\cdots,\mathbf x_n) A=(x1,x2,,xn) 的列向量是 col  A \text{col }A col A 的一组基,使用施密特正交化方法可以构造一组标准正交基 u 1 , u 2 , ⋯ , u n \mathbf u_1,\mathbf u_2,\cdots,\mathbf u_n u1,u2,,un ,取
Q = ( u 1 , u 2 , ⋯ , u n ) Q=(\mathbf u_1,\mathbf u_2,\cdots,\mathbf u_n) Q=(u1,u2,,un)
因为在正交化过程中 x k ∈ span { x 1 , ⋯ , x k } = span { u 1 , ⋯ , u k } , k = 1 , 2 , ⋯ , n \mathbf x_k\in\text{span}\{\mathbf x_1,\cdots,\mathbf x_k\}=\text{span}\{\mathbf u_1,\cdots,\mathbf u_k\},\quad k=1,2,\cdots,n xkspan{x1,,xk}=span{u1,,uk},k=1,2,,n 。所以 x k \mathbf x_k xk 可线性表示为
x k = r 1 k u 1 + ⋯ + r k k u k + 0 ⋅ u k + 1 + ⋯ + 0 ⋅ u n \mathbf x_k=r_{1k}\mathbf u_1+\cdots+r_{kk}\mathbf u_k+0\cdot\mathbf u_{k+1}+\cdots+0\cdot\mathbf u_n xk=r1ku1++rkkuk+0uk+1++0un
于是
x k = Q r k \mathbf x_k=Q\mathbf r_k xk=Qrk
其中 r k = ( r 1 k , ⋯ , r k k , 0 , ⋯ , 0 ) T \mathbf r_k=(r_{1k},\cdots,r_{kk},0,\cdots,0)^T rk=(r1k,,rkk,0,,0)T ,且 r k k ⩾ 0 r_{kk}\geqslant 0 rkk0 (在正交化过程中,若 r k k < 0 r_{kk}<0 rkk<0 ,则 r k k r_{kk} rkk u k \mathbf u_k uk 同乘-1)。取 R = ( r 1 , r 2 , ⋯ , r n ) R=(\mathbf r_1,\mathbf r_2,\cdots,\mathbf r_n) R=(r1,r2,,rn) ,则
A = ( Q r 1 , Q r 2 , ⋯ , Q r n ) = Q R A=(Q\mathbf r_1,Q\mathbf r_2,\cdots,Q\mathbf r_n)=QR A=(Qr1,Qr2,,Qrn)=QR
例:求 A = [ 1 0 0 1 1 0 1 1 1 1 1 1 ] A=\begin{bmatrix}1&0&0\\1&1&0\\1&1&1\\1&1&1\end{bmatrix} A= 111101110011 的一个 QR 分解

解:通过施密特正交化方法我们可以得到 col  A \text{col }A col A 的一组标准正交基,将这些向量组成矩阵
Q = [ 1 / 2 − 3 / 12 0 1 / 2 1 / 12 − 2 / 6 1 / 2 1 / 12 1 / 6 1 / 2 1 / 12 1 / 6 ] Q=\begin{bmatrix}1/2&-3/\sqrt{12}&0\\1/2&1/\sqrt{12}&-2/\sqrt{6}\\1/2&1/\sqrt{12}&1/\sqrt{6}\\1/2&1/\sqrt{12}&1/\sqrt{6}\end{bmatrix} Q= 1/21/21/21/23/12 1/12 1/12 1/12 02/6 1/6 1/6
注意到 Q Q Q 是正交矩阵, Q T = Q − 1 Q^T=Q^{-1} QT=Q1 。所以 R = Q − 1 A = Q T A R=Q^{-1}A=Q^TA R=Q1A=QTA
R = [ 1 / 2 1 / 2 1 / 2 1 / 2 − 3 / 12 1 / 12 1 / 12 1 / 12 0 − 2 / 6 1 / 6 1 / 6 ] [ 1 0 0 1 1 0 1 1 1 1 1 1 ] = [ 2 3 / 2 1 0 3 / 12 2 / 12 0 0 2 / 6 ] R=\begin{bmatrix}1/2&1/2&1/2&1/2\\ -3/\sqrt{12}&1/\sqrt{12}&1/\sqrt{12}&1/\sqrt{12} \\ 0&-2/\sqrt{6}&1/\sqrt{6}&1/\sqrt{6} \end{bmatrix} \begin{bmatrix}1&0&0\\1&1&0\\1&1&1\\1&1&1\end{bmatrix}= \begin{bmatrix}2&3/2&1\\0&3/\sqrt{12}&2/\sqrt{12}\\0&0&2/\sqrt{6} \end{bmatrix} R= 1/23/12 01/21/12 2/6 1/21/12 1/6 1/21/12 1/6 111101110011 = 2003/23/12 012/12 2/6

特征值分解

特征值分解是将矩阵分解成特征值和特征向量形式:
A = Q Σ Q − 1 A=Q\Sigma Q^{-1} A=QΣQ1
其中, Σ = diag ( λ 1 , λ 2 , ⋯ , λ n ) \Sigma=\text{diag}(\lambda_1,\lambda_2,\cdots,\lambda_n) Σ=diag(λ1,λ2,,λn) 是一个对角阵,其对角线元素是矩阵 A A A 的特征值按降序排列 λ 1 ⩾ λ 2 ⩾ ⋯ ⩾ λ n \lambda_1\geqslant\lambda_2\geqslant\cdots\geqslant\lambda_n λ1λ2λn Q = ( u 1 , u 2 , … , u n ) Q=(\mathbf u_1,\mathbf u_2,\dots,\mathbf u_n) Q=(u1,u2,,un) 是特征值对应的特征向量组成的矩阵。

在这里插入图片描述

特征值分解后,方阵的幂变得更容易计算
A t = Q Σ t Q − 1 = Q [ λ 1 t ⋱ λ n t ] Q − 1 A^t=Q\Sigma^t Q^{-1}=Q\begin{bmatrix}\lambda_1^t\\&\ddots\\&&\lambda_n^t\end{bmatrix}Q^{-1} At=QΣtQ1=Q λ1tλnt Q1
特征值分解可以理解为:先切换基向量,然后伸缩变换,最后再切换回原来的基向量。其中, Σ \Sigma Σ 中的特征向量描述伸缩变换的程度,特征向量描述变换的方向。

特征值分解有一定的局限性,因为它只适用于满秩的方阵。

例:求矩阵 A = [ − 2 1 1 0 2 0 − 4 1 3 ] A=\begin{bmatrix}-2&1&1\\0&2&0\\-4&1&3\end{bmatrix} A= 204121103 的特征值分解。

解:矩阵 A A A 的特征多项式为 det ⁡ ( A − λ I ) = − ( λ − 2 ) 2 ( λ + 1 ) \det(A-\lambda I)=-(\lambda-2)^2(\lambda+1) det(AλI)=(λ2)2(λ+1) 。特征值和特征向量分别为
λ 1 = − 1 : u 1 = [ 1 0 1 ] ; λ 2 = 2 : u 2 = [ 0 1 − 1 ] , u 3 = [ 1 0 4 ] \lambda_1=-1:\mathbf u_1=\begin{bmatrix}1\\0\\1\end{bmatrix};\quad \lambda_2=2:\mathbf u_2=\begin{bmatrix}0\\1\\-1\end{bmatrix}, \mathbf u_3=\begin{bmatrix}1\\0\\4\end{bmatrix} λ1=1:u1= 101 ;λ2=2:u2= 011 ,u3= 104
可通过行变换计算逆矩阵
( Q , I ) = [ 0 1 1 1 0 0 1 0 0 0 1 0 − 1 4 1 0 0 1 ] → [ 1 0 0 0 1 0 0 1 0 − 1 / 3 1 / 3 1 / 3 0 0 1 4 / 3 − 1 / 3 − 1 / 3 ] = ( I , Q − 1 ) (Q,I)=\begin{bmatrix}\begin{array}{ccc:ccc} 0&1&1&1&0&0\\1&0&0&0&1&0\\-1&4&1&0&0&1 \end{array}\end{bmatrix}\to \begin{bmatrix}\begin{array}{ccc:ccc} 1&0&0&0&1&0\\0&1&0&-1/3&1/3&1/3\\0&0&1&4/3&-1/3&-1/3 \end{array}\end{bmatrix}=(I,Q^{-1}) (Q,I)= 011104101100010001 10001000101/34/311/31/301/31/3 =(I,Q1)
所以
A = [ 0 1 1 1 0 0 − 1 4 1 ] [ 2 0 0 0 2 0 0 0 − 1 ] [ 0 1 0 − 1 / 3 1 / 3 1 / 3 4 / 3 − 1 / 3 − 1 / 3 ] A=\begin{bmatrix}0&1&1\\1&0&0\\-1&4&1\end{bmatrix} \begin{bmatrix}2&0&0\\0&2&0\\0&0&-1\end{bmatrix} \begin{bmatrix}0&1&0\\-1/3&1/3&1/3\\4/3&-1/3&-1/3\end{bmatrix} A= 011104101 200020001 01/34/311/31/301/31/3

奇异值分解

奇异值分解

奇异值分解(Singular Value Decomposition, SVD)是线性代数中一种重要的矩阵分解,在生物信息学、信号处理、金融学、统计学等领域有重要应用。

SVD 可以理解为同一线性变换 T : R n ↦ R m T:\R^n\mapsto\R^m T:RnRm 在不同基下的矩阵表示。假设 Grant 选用标准基,对应的矩阵为 A m × n A_{m\times n} Am×n 。类似于特征值分解, Jennifer 通过选择合适的基向量,对应的矩阵变为简单的长方形对角矩阵 Σ m × n \Sigma_{m\times n} Σm×n,即只有伸缩变换。

假定 Jennifer 使用矩阵 V n = ( v 1 , ⋯ , v n ) V_n=(\mathbf v_1,\cdots,\mathbf v_n) Vn=(v1,,vn) 的列向量作为 R n R^n Rn 的基,使用矩阵 U n = ( u 1 , ⋯ , u m ) U_n=(\mathbf u_1,\cdots,\mathbf u_m) Un=(u1,,um)的列向量作为 R m R^m Rm 的基 。那么,对于 Jennifer 视角下的向量 x ∈ R n \mathbf x\in R^n xRn

  1. 同样的向量,用 Grant 的坐标系表示为 V x V\mathbf x Vx
  2. 用 Grant 的语言描述变换后的向量 A V x AV\mathbf x AVx
  3. 将变换后的结果变回 Jennifer 的坐标系 U − 1 A V x U^{-1}AV\mathbf x U1AVx

于是,我们得到同一个线性变换 T T T 在 Jennifer 的坐标系下对应的矩阵 Σ = U − 1 A V \Sigma=U^{-1}AV Σ=U1AV ,也可理解为矩阵 A A A 分解为 A m × n = U m Σ m × n V n − 1 A_{m\times n}=U_m\Sigma_{m\times n}V^{-1}_n Am×n=UmΣm×nVn1

接下来,自然是探讨上述矩阵分解的适用条件。

注意到
A T A = ( U Σ V − 1 ) T ( U Σ V − 1 ) = V − T Σ T U T U Σ V − 1 A^TA=(U\Sigma V^{-1})^T(U\Sigma V^{-1})=V^{-T}\Sigma^TU^TU\Sigma V^{-1} ATA=(UΣV1)T(UΣV1)=VTΣTUTUΣV1
不妨取 U , V U,V U,V 为单位正交基,即 U , V U,V U,V 为正交矩阵 U T U = I , V T V = I U^TU=I,V^TV=I UTU=I,VTV=I ,则
A T A = V Σ T Σ V T A^TA=V\Sigma^T\Sigma V^T ATA=VΣTΣVT
于是,可知 V V V 的列向量为 A T A A^TA ATA 的特征向量, Σ T Σ \Sigma^T\Sigma ΣTΣ n n n 阶对角阵,其对角元素为 A T A A^TA ATA 的特征值。事实上 A T A A^TA ATA 为对称阵,必定存在正交矩阵 V V V 相似对角化。

同理
A A T = U Σ Σ T U T AA^T=U\Sigma\Sigma^T U^T AAT=UΣΣTUT
可知 U U U 的列向量为 A A T AA^T AAT 的特征向量, Σ Σ T \Sigma\Sigma^T ΣΣT m m m 阶对角阵,其对角元素为 A A T AA^T AAT 的特征值。矩阵 A T A A^TA ATA 为对称阵,必定存在正交矩阵 U U U 相似对角化。

目前 U , V U,V U,V 我们都求出来了,只剩下求出长方形对角矩阵 Σ \Sigma Σ 。根据 Sylvester降幂公式, A T A A^TA ATA A A T AA^T AAT 有相同的非零特征值。

Σ = [ Λ r O O O ] \Sigma=\begin{bmatrix}\Lambda_r&O\\O&O\end{bmatrix} Σ=[ΛrOOO] ,其中 Λ r = diag ( σ 1 , ⋯ , σ r ) \Lambda_r=\text{diag}(\sigma_1,\cdots,\sigma_r) Λr=diag(σ1,,σr) 。则
Σ T Σ = [ Λ r 2 O O O ] n , Σ Σ T = [ Λ r 2 O O O ] m \Sigma^T\Sigma=\begin{bmatrix}\Lambda_r^2&O\\O&O\end{bmatrix}_n,\quad \Sigma\Sigma^T=\begin{bmatrix}\Lambda_r^2&O\\O&O\end{bmatrix}_m ΣTΣ=[Λr2OOO]n,ΣΣT=[Λr2OOO]m
其中 Λ r 2 = diag ( σ 1 2 , ⋯ , σ r 2 ) \Lambda_r^2=\text{diag}(\sigma_1^2,\cdots,\sigma_r^2) Λr2=diag(σ12,,σr2) 。因此,矩阵 Σ \Sigma Σ 的对角元素是 A T A A^TA ATA A A T AA^T AAT 的特征值 λ j \lambda_j λj 的平方根
σ j = λ j \sigma_j=\sqrt{\lambda_j} σj=λj
综上,任意矩阵均可奇异值分解

在这里插入图片描述

定义:SVD是指将秩为 r r r m × n m\times n m×n 矩阵 A A A分解为
A = U Σ V T A=U\Sigma V^T A=UΣVT

其中 U U U m m m 阶正交阵, V V V n n n 阶正交阵, Σ \Sigma Σ m × n m\times n m×n 维长方形对角矩阵,对角元素称为矩阵 A A A奇异值,一般按降序排列 σ 1 ⩾ σ 2 ⩾ ⋯ ⩾ σ r > 0 \sigma_1\geqslant\sigma_2\geqslant\cdots\geqslant\sigma_r>0 σ1σ2σr>0 ,这样 Σ \Sigma Σ 就唯一确定了。矩阵 U U U 的列向量称为左奇异向量(left singular vector),矩阵 V V V 的列向量称为右奇异向量(right singular vector)。

例:这里我们用一个简单的矩阵来说明奇异值分解的步骤。求矩阵 A = [ 0 1 1 1 1 0 ] A=\begin{bmatrix}0&1\\1&1\\1&0\end{bmatrix} A= 011110 的奇异值分解

解:首先求出对称阵 A T A A^TA ATA A A T AA^T AAT
A T A = [ 0 1 1 1 1 0 ] [ 0 1 1 1 1 0 ] = [ 2 1 1 2 ] A A T = [ 0 1 1 1 1 0 ] [ 0 1 1 1 1 0 ] = [ 1 1 0 1 2 1 0 1 1 ] A^TA=\begin{bmatrix}0&1&1\\1&1&0\end{bmatrix} \begin{bmatrix}0&1\\1&1\\1&0\end{bmatrix}= \begin{bmatrix}2&1\\1&2\end{bmatrix} \\ AA^T=\begin{bmatrix}0&1\\1&1\\1&0\end{bmatrix} \begin{bmatrix}0&1&1\\1&1&0\end{bmatrix}= \begin{bmatrix}1&1&0\\1&2&1\\0&1&1\end{bmatrix} ATA=[011110] 011110 =[2112]AAT= 011110 [011110]= 110121011
然后求出 A T A A^TA ATA 的特征值和特征向量
λ 1 = 3 : v 1 = [ 1 / 2 1 / 2 ] ; λ 2 = 1 : v 2 = [ − 1 / 2 1 / 2 ] \lambda_1=3:\mathbf v_1=\begin{bmatrix}1/\sqrt{2}\\1/\sqrt{2}\end{bmatrix};\quad \lambda_2=1:\mathbf v_2=\begin{bmatrix}-1/\sqrt{2}\\1/\sqrt{2}\end{bmatrix} λ1=3:v1=[1/2 1/2 ];λ2=1:v2=[1/2 1/2 ]
求出 A A T AA^T AAT 的特征值和特征向量
λ 1 = 3 : u 1 = [ 1 / 6 2 / 6 1 / 6 ] ; λ 2 = 1 : u 2 = [ 1 / 2 0 − 1 / 2 ] ; λ 3 = 0 : u 3 = [ 1 / 3 − 1 / 3 1 / 3 ] ; \lambda_1=3:\mathbf u_1=\begin{bmatrix}1/\sqrt{6}\\2/\sqrt{6}\\1/\sqrt{6}\end{bmatrix};\quad \lambda_2=1:\mathbf u_2=\begin{bmatrix}1/\sqrt{2}\\0\\-1/\sqrt{2}\end{bmatrix};\quad \lambda_3=0:\mathbf u_3=\begin{bmatrix}1/\sqrt{3}\\-1/\sqrt{3}\\1/\sqrt{3}\end{bmatrix}; λ1=3:u1= 1/6 2/6 1/6 ;λ2=1:u2= 1/2 01/2 ;λ3=0:u3= 1/3 1/3 1/3 ;
其次可以利用 σ i = λ i \sigma_i=\sqrt{\lambda_i} σi=λi 求出奇异值 3 , 1 \sqrt{3},1 3 ,1

最终得到 A A A的奇异值分解
A = U Σ V T = [ 1 / 6 1 / 2 1 / 3 2 / 6 0 − 1 / 3 1 / 6 − 1 / 2 1 / 3 ] [ 3 0 0 1 0 0 ] [ 1 / 2 1 / 2 − 1 / 2 1 / 2 ] A=U\Sigma V^T=\begin{bmatrix}1/\sqrt{6}&1/\sqrt{2}&1/\sqrt{3}\\2/\sqrt{6}&0&-1/\sqrt{3}\\1/\sqrt{6}&-1/\sqrt{2}&1/\sqrt{3}\end{bmatrix} \begin{bmatrix}\sqrt{3}&0\\0&1\\0&0\end{bmatrix} \begin{bmatrix}1/\sqrt{2}&1/\sqrt{2}\\-1/\sqrt{2}&1/\sqrt{2}\end{bmatrix} A=UΣVT= 1/6 2/6 1/6 1/2 01/2 1/3 1/3 1/3 3 00010 [1/2 1/2 1/2 1/2 ]

矩阵的基本子空间

设矩阵 A = U Σ V T A=U\Sigma V^T A=UΣVT ,有 r r r 个不为零的奇异值,则可以得到矩阵 A A A 的四个基本子空间:

  1. 正交阵 U U U 的前 r r r 列是 col  A \text{col }A col A 的一组单位正交基
  2. 正交阵 U U U 的后 m − r m-r mr 列是 ker ⁡ A T \ker A^T kerAT 的一组单位正交基
  3. 正交阵 V V V 的前 r r r 列是 col  A T \text{col }A^T col AT 的一组单位正交基
  4. 正交阵 V V V 的后 n − r n-r nr 列是 ker ⁡ A \ker A kerA 的一组单位正交基

A ( v 1 , ⋯ , v r ⏟ col  A T , v r + 1 ⋯ v n ⏟ ker ⁡ A ) = ( u 1 , ⋯ , u r ⏟ col  A , u r + 1 ⋯ u m ⏟ ker ⁡ A T ) [ σ 1 ⋱ σ r O ] ⏟ Σ m × n A(\underbrace{\mathbf v_1,\cdots,\mathbf v_r}_{\text{col }A^T},\underbrace{\mathbf v_{r+1}\cdots\mathbf v_n}_{\ker A})= (\underbrace{\mathbf u_1,\cdots,\mathbf u_r}_{\text{col }A},\underbrace{\mathbf u_{r+1}\cdots\mathbf u_m}_{\ker A^T}) \underbrace{\begin{bmatrix}\sigma_1\\&\ddots\\&&\sigma_r\\&&&O \end{bmatrix}}_{\Sigma_{m\times n}} A(col AT v1,,vr,kerA vr+1vn)=(col A u1,,ur,kerAT ur+1um)Σm×n σ1σrO

证:易知 A V = U Σ AV=U\Sigma AV=UΣ ,即
{ A v i = σ i u i , 1 ⩽ i ⩽ r A v i = 0 , r < i ⩽ n \begin{cases} A\mathbf v_i=\sigma_i\mathbf u_i, &1\leqslant i\leqslant r \\ A\mathbf v_i=0, &r< i\leqslant n \end{cases} {Avi=σiui,Avi=0,1irr<in
v 1 , ⋯ , v n \mathbf v_1,\cdots,\mathbf v_n v1,,vn R n \R^n Rn 的单位正交基,对于 ∀ x ∈ R n \forall\mathbf x\in \R^n xRn ,可以写出 x = c 1 v 1 + ⋯ + c n v n \mathbf x=c_1\mathbf v_1+\cdots+c_n\mathbf v_n x=c1v1++cnvn,于是
A x = c 1 A v 1 + ⋯ + c r A v r + c r + 1 A v r + 1 + ⋯ + c n v n = c 1 σ 1 u 1 + ⋯ + c r σ 1 u r + 0 + ⋯ + 0 \begin{aligned} A\mathbf x&=c_1A\mathbf v_1+\cdots+c_rA\mathbf v_r+c_{r+1}A\mathbf v_{r+1}+\cdots+c_n\mathbf v_n \\ &=c_1\sigma_1\mathbf u_1+\cdots+c_r\sigma_1\mathbf u_r+0+\cdots+0 \end{aligned} Ax=c1Av1++crAvr+cr+1Avr+1++cnvn=c1σ1u1++crσ1ur+0++0
所以 A x ∈ span { u 1 , ⋯ , u r } A\mathbf x\in\text{span}\{\mathbf u_1,\cdots,\mathbf u_r\} Axspan{u1,,ur} ,这说明矩阵 U U U 的前 r r r 列是 col  A \text{col }A col A 的一组单位正交基,因此 rank  A = r \text{rank }A=r rank A=r 。同时可知,对于任意的 x ∈ span { v r + 1 , ⋯ , v n } ⟺ A x = 0 \mathbf x\in\text{span}\{\mathbf v_{r+1},\cdots,\mathbf v_n\}\iff A\mathbf x=0 xspan{vr+1,,vn}Ax=0 ,于是 V V V 的后 n − r n-r nr 列是 ker ⁡ A \ker A kerA 的一组单位正交基。

同样通过 A T U = V Σ A^TU=V\Sigma ATU=VΣ 可说明 V V V 的前 r r r 列是 col  A T \text{col }A^T col AT 的一组单位正交基, U U U 的后 m − r m-r mr 列是 ker ⁡ A T \ker A^T kerAT 的一组单位正交基。

奇异值分解的性质

设矩阵 A = U Σ V T A=U\Sigma V^T A=UΣVT ,秩 rank  A = r \text{rank }A=r rank A=r ,分别将 U , Σ , V U,\Sigma,V U,Σ,V 进行分块
U = ( U r , U m − r ) V = ( V r , V n − r ) Σ = [ Λ r O O O ] U=(U_r,U_{m-r}) \\ V=(V_r,V_{n-r}) \\ \Sigma=\begin{bmatrix}\Lambda_r&O\\O&O\end{bmatrix} U=(Ur,Umr)V=(Vr,Vnr)Σ=[ΛrOOO]
其中 U r = ( u 1 , ⋯ , u r ) U_r=(\mathbf u_1,\cdots,\mathbf u_r) Ur=(u1,,ur) m × r m\times r m×r维矩阵, V r = ( v 1 , ⋯ , v r ) V_r=(\mathbf v_1,\cdots,\mathbf v_r) Vr=(v1,,vr) n × r n\times r n×r维矩阵, Λ r = diag ( σ 1 , ⋯ , σ r ) \Lambda_r=\text{diag}(\sigma_1,\cdots,\sigma_r) Λr=diag(σ1,,σr) r r r 阶对角阵。应用矩阵乘法的性质,奇异值分解可以简化为
A = U r Λ r V r T A=U_r\Lambda_r V^T_r A=UrΛrVrT
这个分解称为简化奇异值分解

性质

  1. 奇异值分解可理解为将线性变换分解为三个简单的变换:正交变换 V T V^T VT,伸缩变换 Σ \Sigma Σ 和正交变换 U U U
  2. 矩阵 A A A 的奇异值分解中,奇异值是唯一的,但矩阵 U , V U,V U,V 不是唯一的。
  3. λ \lambda λ A T A A^TA ATA 的一个特征值, v \mathbf v v 是对应的特征向量,则
    ∥ A v ∥ 2 = v T A T A v = λ v T v = λ ∥ v ∥ \|A\mathbf v\|^2=\mathbf v^TA^TA\mathbf v=\lambda\mathbf v^T\mathbf v=\lambda\|\mathbf v\| Av2=vTATAv=λvTv=λv
  4. 易知 A V = U Σ AV=U\Sigma AV=UΣ A T U = V Σ T A^TU=V\Sigma^T ATU=VΣT,则左奇异向量和右奇异向量存在关系
    A v j = σ j u j A T u j = σ j v j A\mathbf v_j=\sigma_j\mathbf u_j \\ A^T\mathbf u_j=\sigma_j\mathbf v_j Avj=σjujATuj=σjvj

矩阵的外积展开式

矩阵 A = U Σ V T A=U\Sigma V^T A=UΣVT 可展开为若干个秩为1的 m × n m\times n m×n矩阵之和
A = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ r u r v r T A=\sigma_1\mathbf u_1\mathbf v_1^T+\sigma_2\mathbf u_2\mathbf v_2^T+\cdots+\sigma_r\mathbf u_r\mathbf v_r^T A=σ1u1v1T+σ2u2v2T++σrurvrT

上式称为矩阵 A A A 的外积展开式。

在长方形对角矩阵 Σ \Sigma Σ 中奇异值按从大到小的顺序排列 σ 1 ⩾ σ 2 ⩾ ⋯ ⩾ σ r > 0 \sigma_1\geqslant\sigma_2\geqslant\cdots\geqslant\sigma_r>0 σ1σ2σr>0 。在很多情况下,由于奇异值递减很快,前10%甚至1%的奇异值的和就占了全部的奇异值之和的99%以上。因此,我们可以用前面 k k k 个大的奇异值来近似描述矩阵。

奇异值分解也是一种矩阵近似的方法,这个近似是在矩阵范数意义下的近似。矩阵范数是向量范数的直接推广。
∥ A ∥ 2 = ( ∑ j = 1 n ∑ i = 1 m ∣ a i j ∣ 2 ) 1 / 2 \|A\|_2=(\sum_{j=1}^{n}\sum_{i=1}^{m} |a_{ij}|^2)^{1/2} A2=(j=1ni=1maij2)1/2
可以证明
∥ A ∥ 2 2 = tr ( A T A ) = ∑ i = 1 r σ i 2 \|A\|_2^2=\text{tr}(A^TA)= \sum_{i=1}^{r} \sigma_i^2 A22=tr(ATA)=i=1rσi2
设矩阵
A k = ∑ i = 1 k σ i u i v i T A_k=\sum_{i=1}^k\sigma_i\mathbf u_i\mathbf v_i^T Ak=i=1kσiuiviT
A k A_k Ak 的秩为 k k k ,矩阵 A k A_k Ak 称为 A A A截断奇异值分解。并且 A k A_k Ak 是秩为 k k k 时的最优近似,即 A k A_k Ak 为以下最优问题的解
min ⁡ ∥ A − X ∥ 2 s.t. rank  A = k \min\|A-X\|_2 \\ \text{s.t. rank }A=k minAX2s.t. rank A=k
上式称为低秩近似(low-rank approximation)。于是奇异值分解可近似为
A ≈ ∑ i = 1 k σ i u i v i T = U m × k Σ k × k V n × k T A\approx \sum_{i=1}^k\sigma_i\mathbf u_i\mathbf v_i^T=U_{m\times k}\Sigma_{k\times k}V_{n\times k}^T Ai=1kσiuiviT=Um×kΣk×kVn×kT

其中 k k k 是一个远远小于 m m m n n n的数,从计算机内存的角度来说,矩阵左(右)奇异向量和奇异值的存储要远远小于矩阵 A A A的。所以,截断奇异值分解就是在计算精度和时间空间之间做选择。如果 k k k越大,右边的三个矩阵相乘的结果越接近于 A A A

截断奇异值分解常用于图像压缩,如下图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/78145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【网络编程】深入理解TCP协议一(三次握手四次挥手、标记位、确认应答机制、超时重传机制)

TCP协议 1.三次握手四次挥手2.TCP协议段格式3.标记位介绍4.确认应答机制5.超时重传机制 1.三次握手四次挥手 当客户端发起连接请求时&#xff0c;SYN需要被设置位1&#xff0c;告诉服务器客户端希望建立一个链接服务器收到响应之后会回复 SYNACK&#xff0c;表示确认了客户端地…

利用Semaphore实现多线程调用接口A且限制接口A的每秒QPS为10

前段时间在群里面发现有个群友抛出一个实际需求&#xff1a;需要通过一个接口拉取数据&#xff0c;这个接口有每秒10QPS限制&#xff0c;请问如何实现数据拉去效率最大化且限制调用拉取接口每秒10PQPS&#xff1f;我觉得这个需求挺有意思的&#xff0c;跟某群友讨论&#xff0c…

莫比乌斯召回系统介绍

当前召回系统只能召回相关性高的广告&#xff0c;但不能保证该广告变现能力强。莫比乌斯做了如下两点创新&#xff1a; 在召回阶段&#xff0c;引入CPM等业务指标作为召回依据在召回阶段&#xff0c;引入CTR模型&#xff0c;从而召回更多相关性高且变现能力强的广告 参考 百度…

leetcode 26.删除有序数组中的重复项

给你一个 升序排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一次 &#xff0c;返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。然后返回 nums 中唯一元素的个数。 考虑 nums 的唯一元素的数量为 k &#xff0c;你需要做…

5.k8s jenkins集成k8s一键发布案例

文章目录 前言一、jenkins配置1.1 jenkins配置git1.2 jenkins 配置maven1.3 jenkins配置java 二、jenkins流水线配置2.1.新增项目2.2 springboot项目配置git仓库2.3 springboot项目配置maven打包2.4 系统配置 ssh到hadoop1配置&#xff0c;也就是k8s的master节点2.6 springboot…

【多线程】常见的锁策略

常见的锁策略 1. 乐观锁 vs 悲观锁2. 读写锁 vs 普通互斥锁3. 重量级锁 vs 轻量级锁4. 自旋锁&#xff08;Spin Lock&#xff09;vs 挂起等待锁5. 公平锁 vs 非公平锁6. 可重入锁 vs 不可重入锁7. Synchronized8. 相关面试题 1. 乐观锁 vs 悲观锁 悲观锁&#xff1a; 总是假设…

安防监控系统/视频云存储EasyCVR平台视频无法播放是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

誉天在线项目~ElementPlus Tag标签用法

效果图 页面展现 <el-form-item label"课程标签"><el-tagv-for"tag in dynamicTags":key"tag"class"mx-1"closable:disable-transitions"false"close"handleClose(tag)"style"margin:5px;">…

Arcgis多值提取至点所有波段数值一样

Arcgis多值提取至点所有波段数值一样 问题描述 进行多值提取多波段后的结果&#xff0c;所有波段数值都是一样的。 原因 操作流程问题&#xff0c;输入栅格只选择了一个栅格文件 解决方案 实际上&#xff0c;每个波段都会对应一个栅格文件&#xff0c;要把这些添加进去 这…

进程地址空间(Linux虚拟内存机制)

文章目录 一.Linux进程地址空间的结构二.Linux管理进程地址空间的方式三.Linux进程使用物理内存的模型四.进程地址空间的存在意义 本章理论基于32位平台的Linux–kernel 2.6.32版本内核 一.Linux进程地址空间的结构 为了保证内存安全,现代操作系统不允许应用程序(进程)直接访问…

(二十八)大数据实战——Flume数据采集之kafka数据生产与消费集成案例

前言 本节内容我们主要介绍一下flume数据采集和kafka消息中间键的整合。通过flume监听nc端口的数据&#xff0c;将数据发送到kafka消息的first主题中&#xff0c;然后在通过flume消费kafka中的主题消息&#xff0c;将消费到的消息打印到控制台上。集成使用flume作为kafka的生产…

基于Protege的知识建模实战

一.Protege简介、用途和特点 1.Protege简介 Protege是斯坦福大学医学院生物信息研究中心基于Java开发的本体编辑和本体开发工具&#xff0c;也是基于知识的编辑器&#xff0c;属于开放源代码软件。这个软件主要用于语义网中本体的构建&#xff0c;是语义网中本体构建的核心开发…

高阶导数的概念与公式

目录 高阶导数的概念 常用的高阶导数的公式 隐函数补充 反函数补充 高阶导数的概念 高阶导数是指一阶或二阶及以上的导数。这些导数可以通过连续进行一阶导数的计算来得到。然而&#xff0c;实际计算高阶导数时&#xff0c;存在一些问题&#xff0c;例如对抽象函数高阶导数…

西门子S7-1200F或1500F系列安全PLC的组态步骤和基础编程(一)

西门子S7-1200F或1500F系列安全PLC的组态步骤和基础编程(一) 第一部分:组态配置 具体步骤可参考以下内容: 如下图所示,新建一个项目后,添加一个安全型PLC,这里以1516F-3 PN/DP为例进行说明, 如下图所示,添加CPU完成后,可以看到左侧的项目树中比普通的PLC多了几个选项…

leetcode 232 用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作&#xff08;push、pop、peek、empty&#xff09;&#xff1a; 实现 MyQueue 类&#xff1a; void push(int x) 将元素 x 推到队列的末尾int pop() 从队列的开头移除并返回元素int peek() 返回队列开头…

【Docker】Docker简介

Docker简介 &#x1f4cb;导航 1. Docker简介1.1 什么是Docker&#xff1f;1.2 什么是容器&#xff1f;1.3 容器的优势&#xff1f;1.4 Docker的优势&#xff1f;1.5 虚拟技术与容器技术Docker的区别&#xff1f;1.6 为什么学习Docker? 2. 安装Docker3. Docker架构4. Docker命…

Vue3样式绑定

文章目录 Vue3样式绑定1. class 属性绑定1.1 v-bind:class 设置一个对象&#xff0c;从而动态的切换 class1.2 在对象中传入更多属性用来动态切换多个 class1.3 直接绑定数据里的一个对象1.4 绑定一个返回对象的计算属性。这是一个常用且强大的模式1. 5 数据语法1.6 errorClass…

JAsper:专注于营销领域的AIGC

【产品介绍】 Jasper 由 Dave Rogenmoser&#xff08;CEO&#xff09;、Chris Hull&#xff08;COO&#xff09;和 John Phillip Morgan&#xff08;CTO&#xff09;在2021 年成立&#xff0c;是一款领先的 AI 营销工具以及写作助手。整个jasper官网都会强调自己对营销领域的理…

了解冒泡排序

package com.mypackage.array;import java.util.Arrays;public class Demo07 {public static void main(String[] args) {int[] a {3,2,6,7,4,5,6,34,56,7};int[] sort1 sort1(a); //调用我们自己写的排序方法后&#xff0c;返回一个排序后的数组System.out.println(Array…

Spring Boot 下载文件(word/excel等)文件名中文乱码问题|构建打包不存在模版文件(templates等)

Spring Boot 下载文件(word/excel等)文件名中文乱码问题&#xff5c;构建打包不存在模版文件(templates等) 准备文件&#xff0c;这里我放在resource下的templates路径 在pom中配置构建打包的资源&#xff0c;更新maven 如果使用了assembly打包插件这样配置可能仍不生效&#…