## 7.1 奇异值分解SVD和对称矩阵谱分解

7.1 奇异值分解SVD和对称矩阵谱分解

矩阵 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 \| minxp

由于矩阵 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σi0Avi 。向量 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=1nkijvj=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ΛV1

V V V R n R^n Rn 空间中的任意基,如何选择该基,能使 V Λ V − 1 V\Lambda V^{-1} VΛV1 最简洁?表达式涉及矩阵 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=1nλ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++λnyn20 成立,所以 λ i ≥ 0 \lambda_i \ge 0 λi0

根据对称矩阵性质 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λn0

根据对称矩阵性质 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=σij=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 λi0 按降序排列,非零数目等于 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 viui.

几点说明:
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 uii=1,,r=rankA 两两正交,根据基的扩充定理,可扩充 m − r m-r mr 个单位向量 u i , i = r + 1 , ⋯   , m \mathbf{u}_i,i=r+1,\cdots,m uii=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=10

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)DET

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值