矩阵 A m n , r a n k A = r < ( m , n ) A_{mn},rank A=r < (m, n) Amn,rankA=r<(m,n) 是亏秩矩阵时,虽然高斯消元法可以求得方程 A x = b A\mathbf{x}=\mathbf{b} Ax=b 的解,很可惜的是,采用高斯消元法,有两个缺点:第一是,当方程不存在精确解时,高斯消元法无法得到最小二乘解;第二是,当方程存在精确解时,其解的结构是特解加零解。当选择不同的矩阵 A A A 列空间的极大无关组时,可以求得不同的特解,理论上存在无穷多特解满足方程 A x = b A\mathbf{x}=\mathbf{b} Ax=b ,一般情况下,我们希望获得最特殊的特解--最小范数解,即所有特解中,内积最小特解 min ∥ x p ∥ \min\| \mathbf{x}_p \| min∥xp∥ 。
由于矩阵 A A A 是亏秩矩阵,其列向量不是 R m R^m Rm 空间的基,故不是任意 b \mathbf{b} b 都有精确解,只有当 b \mathbf{b} b 位于矩阵 A A A 列空间时,才存在精确解,否则只能获得最小二乘解。令向量 b \mathbf{b} b 向矩阵 A A A 列空间的投影向量为 b p \mathbf{b}_p bp ,则方程 A x = b p A\mathbf{x} = \mathbf{b}_p Ax=bp 有精确解,称为最小二乘解,由于矩阵 A A A 不是列满秩矩阵,故不能采用第五章方法获得最小二乘解。同时由于矩阵 A A A 列向量组是相关组,故方程 A x = b p A\mathbf{x} = \mathbf{b}_p Ax=bp 有无穷多解,其解的结构是特解加零解,我们希望获得最小范数特解。综上,对于方程 A x = b A\mathbf{x}=\mathbf{b} Ax=b ,对任意向量 b \mathbf{b} b,我们希望获得最小范数最小二乘解和零解。
方程 A x = b A\mathbf{x}=\mathbf{b} Ax=b 的解空间为 R n R^n Rn 空间,令向量组 v i , i = 1 , ⋯ , n \mathbf{v}_i,i=1,\cdots,n vi,i=1,⋯,n 是 R n R^n Rn 空间中任意 n n n 个线性无关的单位向量,则向量组 A v i , i = 1 , ⋯ , n A\mathbf{v}_i,i=1,\cdots,n Avi,i=1,⋯,n 是 R m R^m Rm 空间中向量,对其进行单位化,得 A v i = σ i u i , u i 是 单 位 向 量 , σ i ≥ 0 是 向 量 A v i 的 长 度 A\mathbf{v}_i = \sigma_i\mathbf{u}_i,\mathbf{u}_i是单位向量,\sigma_i \ge 0是向量A\mathbf{v}_i的长度 Avi=σiui,ui是单位向量,σi≥0是向量Avi的长度 。向量 A T u i A^T\mathbf{u}_i ATui 是 n n n 维,所以位于 R n R^n Rn 空间,故其能被该空间的基表示,向量组 v i , i = 1 , ⋯ , n \mathbf{v}_i,i=1,\cdots,n vi,i=1,⋯,n 是 R n R^n Rn 空间的基,故 A T u i A^T\mathbf{u}_i ATui 能被向量组 v i , i = 1 , ⋯ , n \mathbf{v}_i,i=1,\cdots,n vi,i=1,⋯,n 线性表示,所以令 A T u i = ∑ j = 1 n k i j v j A^T\mathbf{u}_i = \sum^n_{j=1}k_{ij}\mathbf{v}_j ATui=∑j=1nkijvj 。令矩阵 V = [ v 1 , ⋯ , v n ] V=[\mathbf{v}_1,\cdots,\mathbf{v}_n] V=[v1,⋯,vn] ,则
A T A v i = A T ( A v i ) = A T σ i u i = σ i ∑ j = 1 n k i j v j = V Λ i 其 中 向 量 Λ i = ( σ i k i 1 , σ i k i 2 , ⋯ , σ i k i n ) A^TA\mathbf{v}_i = A^T(A\mathbf{v}_i)=A^T\sigma_i\mathbf{u}_i=\sigma_i\sum^n_{j=1}k_{ij}\mathbf{v}_j=V\Lambda_i \\ 其中向量 \Lambda_i=(\sigma_ik_{i1},\sigma_ik_{i2},\cdots,\sigma_ik_{in}) ATAvi=AT(Avi)=ATσiui=σij=1∑nkijvj=VΛi其中向量Λi=(σiki1,σiki2,⋯,σikin)
故
A T A [ v 1 , ⋯ , v n ] = V [ Λ 1 , ⋯ , Λ n ] A T A V = V Λ A T A = V Λ V − 1 A^TA[\mathbf{v}_1,\cdots,\mathbf{v}_n] = V[\Lambda_1,\cdots,\Lambda_n]\\ A^TAV=V\Lambda\\ A^TA = V\Lambda V^{-1} ATA[v1,⋯,vn]=V[Λ1,⋯,Λn]ATAV=VΛATA=VΛV−1
V V V 是 R n R^n Rn 空间中的任意基,如何选择该基,能使 V Λ V − 1 V\Lambda V^{-1} VΛV−1 最简洁?表达式涉及矩阵 V V V 的逆,故希望求逆简单。能直接获得矩阵逆的矩阵有正交矩阵,对角阵,单位阵,矩阵 V V V 为对角阵或单位阵,则会造成矩阵 Λ \Lambda Λ 复杂。矩阵 V V V 为正交矩阵时,能使矩阵 Λ \Lambda Λ 为对角阵!该性质就是对称矩阵谱分解定理。
对称矩阵谱分解定理 任意对称矩阵 S S S 能分解为正交矩阵 Q Q Q 和对角阵 Λ \Lambda Λ ,且满足 S = Q Λ Q T S=Q\Lambda Q^T S=QΛQT 。
令 Q = [ q 1 , ⋯ , q n ] Q=[\mathbf{q}_1,\cdots,\mathbf{q}_n] Q=[q1,⋯,qn] 和 Λ = d i a g ( λ 1 , ⋯ , λ n ) \Lambda=diag(\lambda_1,\cdots,\lambda_n) Λ=diag(λ1,⋯,λn) 。
S = Q Λ Q T = [ q 1 , ⋯ , q n ] d i a g ( λ 1 , ⋯ , λ n ) [ q 1 , ⋯ , q n ] T = [ q 1 , ⋯ , q n ] [ λ 1 q 1 T ⋮ λ n T q n T ] = λ 1 q 1 q 1 T + ⋯ + λ n q n q n T = ∑ i = 1 n λ i q i q i T S=Q\Lambda Q^T = [\mathbf{q}_1,\cdots,\mathbf{q}_n]diag(\lambda_1,\cdots,\lambda_n)[\mathbf{q}_1,\cdots,\mathbf{q}_n]^T=[\mathbf{q}_1,\cdots,\mathbf{q}_n]\left[ \begin{matrix} \lambda_1\mathbf{q}^T_1 \\ \vdots \\ \lambda^T_n\mathbf{q}^T_n \end{matrix} \right]\\ =\lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n\\ = \sum^n_{i=1}\lambda_i\mathbf{q}_i\mathbf{q}^T_i S=QΛQT=[q1,⋯,qn]diag(λ1,⋯,λn)[q1,⋯,qn]T=[q1,⋯,qn]⎣⎢⎡λ1q1T⋮λnTqnT⎦⎥⎤=λ1q1q1T+⋯+λnqnqnT=i=1∑nλiqiqiT
注意 u v T \mathbf{u}\mathbf{v}^T uvT 是矩阵,称为向量外积,需要与向量内积区分。因为 r a n k ( q i q i T ) = 1 rank (\mathbf{q}_i\mathbf{q}^T_i) = 1 rank(qiqiT)=1 , S = Q Λ Q T = λ 1 q 1 q 1 T + ⋯ + λ n q n q n T S = Q\Lambda Q^T = \lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n S=QΛQT=λ1q1q1T+⋯+λnqnqnT ,这表明对称矩阵可分解为 n n n 个简单矩阵(秩为 1 1 1) q i q i T \mathbf{q}_i\mathbf{q}^T_i qiqiT 之和,其系数为 λ i \lambda_i λi 。因为 q i \mathbf{q}_i qi 都是单位向量,故 λ i \lambda_i λi 绝对值大的分量更重要,是主成分。
因为 Q Q Q 是正交矩阵,故 q i q i T = 1 , q i q j T = 0 f o r i ≠ j \mathbf{q}_i\mathbf{q}^T_i=1 ,\mathbf{q}_i\mathbf{q}^T_j = 0 \quad for \quad i \ne j qiqiT=1,qiqjT=0fori=j,所以 S q i = ( λ 1 q 1 q 1 T + ⋯ + λ n q n q n T ) q i = λ 1 q 1 ( q 1 T q i ) + ⋯ + λ n q n ( q n T q i ) = λ i q i S \mathbf{q}_i = (\lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n)\mathbf{q}_i = \lambda_1\mathbf{q}_1(\mathbf{q}^T_1\mathbf{q}_i) + \cdots + \lambda_n\mathbf{q}_n(\mathbf{q}^T_n\mathbf{q}_i) = \lambda_i\mathbf{q}_i Sqi=(λ1q1q1T+⋯+λnqnqnT)qi=λ1q1(q1Tqi)+⋯+λnqn(qnTqi)=λiqi 即 S q i = λ i q i S \mathbf{q}_i = \lambda_i\mathbf{q}_i Sqi=λiqi ,我们称 λ i \lambda_i λi 为矩阵 S S S 的特征值, q i \mathbf{q}_i qi 为对应的特征向量。
r a n k S = r a n k ( Q Λ Q T ) = r a n k ( Λ Q T ) = r a n k Λ rank S = rank (Q\Lambda Q^T) = rank (\Lambda Q^T) = rank \Lambda rankS=rank(QΛQT)=rank(ΛQT)=rankΛ
所以对角元素 λ i \lambda_i λi 非零数目等于矩阵 S S S 的秩。
后面证明该定理。
因为矩阵 A T A A^TA ATA 是对称矩阵,故能分解为 A T A = V Λ V T A^TA=V\Lambda V^T ATA=VΛVT ,得到正交矩阵 V = [ v 1 , ⋯ , v n ] V =[\mathbf{v}_1,\cdots,\mathbf{v}_n] V=[v1,⋯,vn] 和 对角阵 Λ \Lambda Λ 的对角元素 λ i \lambda_i λi 值,且对角阵 Λ \Lambda Λ 的对角元素 λ i \lambda_i λi 非负。因为对任意向量 x \mathbf{x} x ,有 x T A T A x = ( A x ) T ( A x ) ≥ 0 \mathbf{x}^TA^TA\mathbf{x}=(A\mathbf{x})^T(A\mathbf{x}) \ge 0 xTATAx=(Ax)T(Ax)≥0 ,故 x T V Λ V T x = ( V T x ) T Λ ( V T x ) = y T Λ y = λ 1 y 1 2 + λ 2 y 2 2 + ⋯ + λ n y n 2 ≥ 0 \mathbf{x}^TV\Lambda V^T\mathbf{x} = (V^T\mathbf{x})^T\Lambda (V^T\mathbf{x}) = \mathbf{y}^T\Lambda \mathbf{y} = \lambda_1 y^2_1 + \lambda_2 y^2_2 + \cdots + \lambda_n y^2_n \ge 0 xTVΛVTx=(VTx)TΛ(VTx)=yTΛy=λ1y12+λ2y22+⋯+λnyn2≥0 成立,所以 λ i ≥ 0 \lambda_i \ge 0 λi≥0 。
根据对称矩阵性质 S q i = λ i q i S \mathbf{q}_i = \lambda_i\mathbf{q}_i Sqi=λiqi ,故 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi 成立,矩阵 A T A A^TA ATA 特征值为 λ i \lambda_i λi 且非负,我们习惯把特征值按降序排列,即 λ 1 ≥ λ 2 ≥ ⋯ λ n ≥ 0 \lambda_1 \ge \lambda_2 \ge \cdots \lambda_n \ge 0 λ1≥λ2≥⋯λn≥0 。
根据对称矩阵性质 S = λ 1 q 1 q 1 T + ⋯ + λ n q n q n T S = \lambda_1\mathbf{q}_1\mathbf{q}^T_1 + \cdots + \lambda_n\mathbf{q}_n\mathbf{q}^T_n S=λ1q1q1T+⋯+λnqnqnT ,故 A T A = λ 1 v 1 v 1 T + ⋯ + λ n v n v n T A^TA = \lambda_1\mathbf{v}_1\mathbf{v}^T_1 + \cdots + \lambda_n\mathbf{v}_n\mathbf{v}^T_n ATA=λ1v1v1T+⋯+λnvnvnT ,由于 λ i \lambda_i λi 非负且按降序排列,故靠前的 λ i v i v i T \lambda_i\mathbf{v}_i\mathbf{v}^T_i λiviviT 占矩阵 A T A A^TA ATA 比例更大,是主成分。
r = r a n k A = r a n k ( A T A ) = r a n k Λ r = rank A = rank (A^TA) = rank \Lambda r=rankA=rank(ATA)=rankΛ ,所以对角元素 λ i \lambda_i λi 非零数目等于矩阵 A A A 的秩!
现在证明向量组 U = [ u 1 , ⋯ , u n ] U=[\mathbf{u}_1,\cdots,\mathbf{u}_n] U=[u1,⋯,un] 两两正交。
( u i T u j ) ( σ i σ j ) = ( A v i ) T ( A v j ) = v i T A T A v j = v i T ( A T A v j ) = v i T λ j v j = λ j v i T v j (\mathbf{u}^T_i\mathbf{u}_j)(\sigma_i\sigma_j) = (A\mathbf{v}_i)^T(A\mathbf{v}_j) = \mathbf{v}^T_iA^TA\mathbf{v}_j=\mathbf{v}^T_i(A^TA\mathbf{v}_j)=\mathbf{v}^T_i\lambda_j\mathbf{v}_j=\lambda_j\mathbf{v}^T_i\mathbf{v}_j (uiTuj)(σiσj)=(Avi)T(Avj)=viTATAvj=viT(ATAvj)=viTλjvj=λjviTvj
因为向量组 V = [ v 1 , ⋯ , v n ] V=[\mathbf{v}_1,\cdots,\mathbf{v}_n] V=[v1,⋯,vn] 两两正交,故得证。
当 i = j i=j i=j 时 ( u i T u i ) ( σ i σ i ) = λ i ( v i T v i ) (\mathbf{u}^T_i\mathbf{u}_i)(\sigma_i\sigma_i) = \lambda_i(\mathbf{v}^T_i\mathbf{v}_i) (uiTui)(σiσi)=λi(viTvi),因为 u i , v i \mathbf{u}_i,\mathbf{v}_i ui,vi 是单位向量,故 λ i = σ i 2 \lambda_i = \sigma^2_i λi=σi2 。
又根据 A T A v i = σ i ∑ j = 1 n k i j v j = λ i v i A^TA\mathbf{v}_i =\sigma_i\sum^n_{j=1}k_{ij}\mathbf{v}_j=\lambda_i\mathbf{v}_i ATAvi=σi∑j=1nkijvj=λivi 得 k i j = 0 f o r j ≠ i k_{ij}=0 \quad for \quad j \ne i kij=0forj=i 和 λ i = σ i k i i \lambda_i = \sigma_ik_{ii} λi=σikii ,得 k i i = σ i k_{ii} = \sigma_i kii=σi,所以 A T u i = ∑ j = 1 n k i j v j = k i i v i = σ i v i A^T\mathbf{u}_i = \sum^n_{j=1}k_{ij}\mathbf{v}_j = k_{ii}\mathbf{v}_i = \sigma_i\mathbf{v}_i ATui=∑j=1nkijvj=kiivi=σivi 。
A A T u i = A σ i v i = σ i A v i = σ i σ i u i = λ i u i AA^T\mathbf{u}_i=A\sigma_i\mathbf{v}_i=\sigma_iA\mathbf{v}_i=\sigma_i\sigma_i\mathbf{u}_i=\lambda_i\mathbf{u}_i AATui=Aσivi=σiAvi=σiσiui=λiui ,所以对称矩阵 A A T AA^T AAT 特征值为 λ i \lambda_i λi ,对应特征向量为 u i \mathbf{u}_i ui 。
综合上面结论可得矩阵的奇异值分解定理
1、首先根据对称矩阵谱分解定理,可得 A T A = V Λ V T = λ 1 v 1 v 1 T + ⋯ + λ n v n v n T A^TA=V\Lambda V^T = \lambda_1\mathbf{v}_1\mathbf{v}^T_1 + \cdots + \lambda_n\mathbf{v}_n\mathbf{v}^T_n ATA=VΛVT=λ1v1v1T+⋯+λnvnvnT,矩阵 V = [ v 1 , ⋯ , v n ] V=[\mathbf{v}_1,\cdots,\mathbf{v}_n] V=[v1,⋯,vn] 是正交矩阵,矩阵 Λ \Lambda Λ 是对角阵,对角元素 λ i ≥ 0 \lambda_i \ge 0 λi≥0 按降序排列,非零数目等于 r a n k A rank A rankA 。
2、满足如下性质
A v i = σ i u i A T u i = σ i v i A T A v i = λ i v i A A T u i = λ i u i σ i = λ i 称 为 奇 异 值 , v i 称 为 右 奇 异 向 量 , u i 称 为 左 奇 异 向 量 . A\mathbf{v}_i = \sigma_i\mathbf{u}_i \\ A^T\mathbf{u}_i = \sigma_i\mathbf{v}_i \\ A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i \\ AA^T\mathbf{u}_i = \lambda_i\mathbf{u}_i \\ \sigma_i = \sqrt{\lambda_i} 称为奇异值,\mathbf{v}_i称为右奇异向量,\mathbf{u}_i称为左奇异向量. Avi=σiuiATui=σiviATAvi=λiviAATui=λiuiσi=λi称为奇异值,vi称为右奇异向量,ui称为左奇异向量.
几点说明:
1、正交矩阵 V = [ v 1 , ⋯ , v n ] V=[\mathbf{v}_1,\cdots,\mathbf{v}_n] V=[v1,⋯,vn] 和对角阵 Λ \Lambda Λ 如何获得呢?理论上可通过解方程 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi 获得,具体如何解后面介绍,非零奇异值 σ i = λ i , i = 1 , ⋯ , r = r a n k A \sigma_i = \sqrt{\lambda_i},i=1,\cdots,r=rank A σi=λi,i=1,⋯,r=rankA , σ i \sigma_i σi 是向量 A v i A\mathbf{v}_i Avi 的长度和向量 A T u i A^T\mathbf{u}_i ATui 的长度;
2、根据非零奇异值计算得到 u i = A v i / σ i , i = 1 , ⋯ , r = r a n k A \mathbf{u}_i = A\mathbf{v}_i/\sigma_i,i=1,\cdots,r=rank A ui=Avi/σi,i=1,⋯,r=rankA ;
3、由于向量组 u i , i = 1 , ⋯ , r = r a n k A \mathbf{u}_i,i=1,\cdots,r=rank A ui,i=1,⋯,r=rankA 两两正交,根据基的扩充定理,可扩充 m − r m-r m−r 个单位向量 u i , i = r + 1 , ⋯ , m \mathbf{u}_i,i=r+1,\cdots,m ui,i=r+1,⋯,m ,使矩阵 U = [ u 1 , ⋯ , u m ] U = [\mathbf{u}_1,\cdots,\mathbf{u}_m] U=[u1,⋯,um] 为正交矩阵,并满足对称矩阵谱分解定理即 A A T = U Λ U T = λ 1 u 1 u 1 T + ⋯ + λ m u m u m T AA^T=U\Lambda U^T = \lambda_1\mathbf{u}_1\mathbf{u}^T_1 + \cdots + \lambda_m\mathbf{u}_m\mathbf{u}^T_m AAT=UΛUT=λ1u1u1T+⋯+λmumumT
根据 A v i = σ i u i A\mathbf{v}_i = \sigma_i\mathbf{u}_i Avi=σiui 得 A v 1 = σ 1 u 1 A\mathbf{v}_1 = \sigma_1\mathbf{u}_1 Av1=σ1u1; A v 2 = σ 2 u 2 A\mathbf{v}_2 = \sigma_2\mathbf{u}_2 Av2=σ2u2; ⋯ \cdots ⋯; A v r = σ r u r A\mathbf{v}_r = \sigma_r\mathbf{u}_r Avr=σrur ,故 A [ v 1 , ⋯ , v r ] = [ u 1 , ⋯ , u r ] d i a g ( σ 1 , ⋯ , σ r ) A[\mathbf{v}_1,\cdots,\mathbf{v}_r] = [\mathbf{u}_1,\cdots,\mathbf{u}_r]diag(\sigma_1,\cdots,\sigma_r) A[v1,⋯,vr]=[u1,⋯,ur]diag(σ1,⋯,σr) ,写成矩阵形式 A V r = U r Σ r AV_r=U_r\Sigma_r AVr=UrΣr ,其中矩阵 V r = [ v 1 , ⋯ , v r ] , U r = [ u 1 , ⋯ , u r ] , Σ r = d i a g ( σ 1 , ⋯ , σ r ) V_r=[\mathbf{v}_1,\cdots,\mathbf{v}_r],U_r=[\mathbf{u}_1,\cdots,\mathbf{u}_r],\Sigma_r=diag(\sigma_1,\cdots,\sigma_r) Vr=[v1,⋯,vr],Ur=[u1,⋯,ur],Σr=diag(σ1,⋯,σr) 满足 V r T V r = E r , U r T U r = E r V^T_rV_r=E_r,U^T_rU_r=E_r VrTVr=Er,UrTUr=Er ,注意 V r V r T ≠ E r , U r U r T ≠ E r V_rV^T_r\ne E_r,U_rU^T_r\ne E_r VrVrT=Er,UrUrT=Er 。
对 A V r = U r Σ r AV_r=U_r\Sigma_r AVr=UrΣr 可进行扩充即 A [ v 1 , ⋯ , v r , ⋯ , v n ] = [ u 1 , ⋯ , u r ⋯ , u m ] d i a g ( σ 1 , ⋯ , σ r , 0 , ⋯ , 0 ) A[\mathbf{v}_1,\cdots,\mathbf{v}_r,\cdots,\mathbf{v}_n] = [\mathbf{u}_1,\cdots,\mathbf{u}_r\cdots,\mathbf{u}_m]diag(\sigma_1,\cdots,\sigma_r,0,\cdots,0) A[v1,⋯,vr,⋯,vn]=[u1,⋯,ur⋯,um]diag(σ1,⋯,σr,0,⋯,0) 写成矩阵形式 A V = U Σ AV=U\Sigma AV=UΣ,此时矩阵 V , U V,U V,U 均是正交矩阵,故 A = U Σ V T = σ 1 u 1 v 1 T + ⋯ + σ r u r v r T A = U\Sigma V^T = \sigma_1\mathbf{u}_1\mathbf{v}^T_1+\cdots+\sigma_r\mathbf{u}_r\mathbf{v}^T_r A=UΣVT=σ1u1v1T+⋯+σrurvrT,这表明秩为 r r r 的任意矩阵 A A A 可分解为 r r r 个简单矩阵(秩为 1 1 1)的矩阵 σ i u i v i T \sigma_i\mathbf{u}_i\mathbf{v}^T_i σiuiviT 之和,且 σ 1 ≥ σ 2 ≥ ⋯ σ r > 0 \sigma_1\ge \sigma_2 \ge \cdots \sigma_r > 0 σ1≥σ2≥⋯σr>0,按重要性排序。这就是奇异值分解的核心。注意矩阵 Σ \Sigma Σ 尺寸为 ( m , n ) (m,n) (m,n),并不是对角阵,但其前 ( r , r ) (r,r) (r,r) 子矩阵 Σ r \Sigma_r Σr 是对角阵,对角元素为 σ i > 0 \sigma_i>0 σi>0 ,矩阵其它元素均为 0 0 0 。
根据 A = U Σ V T = σ 1 u 1 v 1 T + ⋯ + σ r u r v r T A = U\Sigma V^T = \sigma_1\mathbf{u}_1\mathbf{v}^T_1+\cdots+\sigma_r\mathbf{u}_r\mathbf{v}^T_r A=UΣVT=σ1u1v1T+⋯+σrurvrT 可得 A T = V Σ U T = σ 1 v 1 u 1 T + ⋯ + σ r v r u r T A^T = V\Sigma U^T = \sigma_1\mathbf{v}_1\mathbf{u}^T_1+\cdots+\sigma_r\mathbf{v}_r\mathbf{u}^T_r AT=VΣUT=σ1v1u1T+⋯+σrvrurT 。
A T A = V Λ V T = λ 1 v 1 v 1 T + ⋯ + λ r v r v r T A^TA = V\Lambda V^T = \lambda_1\mathbf{v}_1\mathbf{v}^T_1 + \cdots + \lambda_r\mathbf{v}_r\mathbf{v}^T_r ATA=VΛVT=λ1v1v1T+⋯+λrvrvrT 和 A A T = U Λ U T = λ 1 u 1 u 1 T + ⋯ + λ r u r u r T AA^T = U\Lambda U^T = \lambda_1\mathbf{u}_1\mathbf{u}^T_1 + \cdots + \lambda_r\mathbf{u}_r\mathbf{u}^T_r AAT=UΛUT=λ1u1u1T+⋯+λrururT 。
举几个特殊例子说明奇异值分解。
1、对单位矩阵 A = E A=E A=E 进行奇异值分解。根据 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi 得 E T E v i = λ i v i E^TE\mathbf{v}_i = \lambda_i\mathbf{v}_i ETEvi=λivi 即 v i = λ i v i \mathbf{v}_i = \lambda_i\mathbf{v}_i vi=λivi ,所以所有特征值 λ i = 1 \lambda_i=1 λi=1 即 Σ = E \Sigma = E Σ=E。任意单位向量 v i \mathbf{v}_i vi 均满足方程 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi,故可取任意正交矩阵 V V V ,它们均是特征值 1 1 1 对应的特征向量。根据 A v i = σ i u i A\mathbf{v}_i = \sigma_i\mathbf{u}_i Avi=σiui 得 u i = v i \mathbf{u}_i=\mathbf{v}_i ui=vi, 故单位矩阵的奇异值分解为 E = V E V T E=VEV^T E=VEVT , V V V 是任意正交矩阵。通过这个例子可以得出,矩阵的奇异值分解不唯一,只有当矩阵 A A A 是方阵且奇异值均不相等时,分解才唯一。同一个奇异值可以对应多个奇异向量,甚至全部,奇异值对应奇异向量的数目称为几何重数。
2、对正交矩阵 A = Q A=Q A=Q 进行奇异值分解。根据 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi 得 Q T Q v i = λ i v i Q^TQ\mathbf{v}_i = \lambda_i\mathbf{v}_i QTQvi=λivi 即 v i = λ i v i \mathbf{v}_i = \lambda_i\mathbf{v}_i vi=λivi ,所以所有特征值 λ i = 1 \lambda_i=1 λi=1即 Σ = E \Sigma = E Σ=E。任意单位向量 v i \mathbf{v}_i vi 均满足方程 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi,故可取任意正交矩阵 V V V ,它们均是特征值 1 1 1 对应的特征向量。根据 A v i = σ i u i A\mathbf{v}_i = \sigma_i\mathbf{u}_i Avi=σiui 得 u i = Q v i \mathbf{u}_i=Q\mathbf{v}_i ui=Qvi 即 U = Q V U=QV U=QV ,故正交矩阵的奇异值分解为 Q = ( Q V ) E V T Q=(QV)EV^T Q=(QV)EVT , V V V 是任意正交矩阵。
3、对秩为 1 1 1 矩阵 A = x y T A=\mathbf{x}\mathbf{y}^T A=xyT 进行奇异值分解,其中 x , y \mathbf{x},\mathbf{y} x,y 是单位向量。根据 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi 得 y y T v i = λ i v i \mathbf{y}\mathbf{y}^T\mathbf{v}_i = \lambda_i\mathbf{v}_i yyTvi=λivi ,当取 v i = y \mathbf{v}_i=\mathbf{y} vi=y 时有 λ i = 1 \lambda_i=1 λi=1 。由于秩为 1 1 1 ,故只有 λ 1 = 1 \lambda_1=1 λ1=1 ,其它奇异值均为 0 0 0 。 u 1 = A v 1 = x \mathbf{u}_1=A\mathbf{v}_1=\mathbf{x} u1=Av1=x 。故矩阵 A = x y T A=\mathbf{x}\mathbf{y}^T A=xyT 的奇异值分解就是 A = x y T A=\mathbf{x}\mathbf{y}^T A=xyT 。在 R n R^n Rn 空间扩充基向量得到正交矩阵 V V V ,在 R m R^m Rm 空间扩充基向量得到正交矩阵 U U U ,则 A = U Σ V T A = U\Sigma V^T A=UΣVT ,其中伪对角阵 Σ 11 = 1 , 其 它 元 素 均 为 0 \Sigma_{11}=1,其它元素均为 0 Σ11=1,其它元素均为0 。
4、对角阵 A = D = d i a g ( d 1 , ⋯ , d n ) A=D=diag(d_1,\cdots,d_n) A=D=diag(d1,⋯,dn) 进行奇异值分解。根据 A T A v i = λ i v i A^TA\mathbf{v}_i = \lambda_i\mathbf{v}_i ATAvi=λivi 得 d i a g ( d 1 2 , ⋯ , d n 2 ) v i = λ i v i diag(d^2_1,\cdots,d^2_n)\mathbf{v}_i = \lambda_i\mathbf{v}_i diag(d12,⋯,dn2)vi=λivi 即 ( d i a g ( d 1 2 , ⋯ , d n 2 ) − λ i E ) v i = d i a g ( d 1 2 − λ i , ⋯ , d n 2 − λ i ) v i = ( ( d 1 2 − λ i ) v i 1 , ⋯ , ( d n 2 − λ i ) v i n ) = 0 (diag(d^2_1,\cdots,d^2_n)-\lambda_i E)\mathbf{v}_i = diag(d^2_1-\lambda_i,\cdots,d^2_n-\lambda_i)\mathbf{v}_i = ((d^2_1-\lambda_i)v_{i1} ,\cdots,(d^2_n-\lambda_i)v_{in}) = \mathbf{0} (diag(d12,⋯,dn2)−λiE)vi=diag(d12−λi,⋯,dn2−λi)vi=((d12−λi)vi1,⋯,(dn2−λi)vin)=0 ,所以 λ 1 = d 1 2 \lambda_1=d^2_1 λ1=d12 时 v 1 = e 1 \mathbf{v}_1=\mathbf{e}_1 v1=e1, λ i = d i 2 \lambda_i=d^2_i λi=di2 时 v i = e i \mathbf{v}_i=\mathbf{e}_i vi=ei。故正交矩阵 V = E V=E V=E ,奇异值为 σ i = ∣ d i ∣ \sigma_i=|d_i| σi=∣di∣ , Σ = ∣ D ∣ \Sigma=|D| Σ=∣D∣,根据 A v i = σ i u i A\mathbf{v}_i = \sigma_i\mathbf{u}_i Avi=σiui 得 u i = D e i / ∣ d i ∣ = s i g n ( d i ) e i \mathbf{u}_i=D\mathbf{e}_i/|d_i|=sign(d_i)\mathbf{e}_i ui=Dei/∣di∣=sign(di)ei 即 U = s i g n ( D ) E U=sign(D)E U=sign(D)E ,故对角阵的奇异值分解为 D = U Σ V T = ( s i g n ( D ) E ) ∣ D ∣ E T D=U\Sigma V^T=(sign(D)E)|D|E^T D=UΣVT=(sign(D)E)∣D∣ET。