第三十讲:奇异值分解

本文介绍了奇异值分解(A=UΣVT)的过程,与正定矩阵的QΛQT和可对角化矩阵的SΛST形式的区别。着重讲解了如何找到正交基并确保矩阵对角化。通过实例演示了矩阵ATA的特征向量求解技巧,用于消去正交矩阵U。
摘要由CSDN通过智能技术生成

本讲我们介绍将一个矩阵写为 A = U Σ V T A=U\varSigma V^T A=UΣVT,分解的因子分别为正交矩阵、对角矩阵、正交矩阵,与前面几讲的分解不同的是,这两个正交矩阵通常是不同的,而且这个式子可以对任意矩阵使用,不仅限于方阵、可对角化的方阵等。

  • 在正定一讲中(第二十八讲)我们知道一个正定矩阵可以分解为 A = Q Λ Q T A=Q\Lambda Q^T A=QΛQT的形式,由于 A A A对称性其特征向量是正交的,且其 Λ \Lambda Λ矩阵中的元素皆为正,这就是正定矩阵的奇异值分解。在这种特殊的分解中,我们只需要一个正交矩阵 Q Q Q就可以使等式成立。

  • 在对角化一讲中(第二十二讲),我们知道可对角化的矩阵能够分解为 A = S Λ S T A=S\Lambda S^T A=SΛST的形式,其中 S S S的列向量由 A A A的特征向量组成,但 S S S并不是正交矩阵,所以这不是我们希望得到的奇异值分解。

我们现在要做的是,在 A A A列空间中找到一组特殊的正交基 v 1 , v 2 , ⋯   , v r v_1,v_2,\cdots,v_r v1,v2,,vr,这组基在 A A A的作用下可以转换为 A A A行空间中的一组正交基 u 1 , u 2 , ⋯   , u r u_1,u_2,\cdots,u_r u1,u2,,ur

用矩阵语言描述为 A [ v 1   v 2   ⋯   v r ] = [ σ 1 u 1   σ 2 u 2   ⋯   σ r u r ] = [ u 1   u 2   ⋯   u r ] [ σ 1 σ 2 ⋱ σ n ] A\Bigg[v_1\ v_2\ \cdots\ v_r\Bigg]=\Bigg[\sigma_1u_1\ \sigma_2u_2\ \cdots\ \sigma_ru_r\Bigg]=\Bigg[u_1\ u_2\ \cdots\ u_r\Bigg]\begin{bmatrix}\sigma_1&&&\\&\sigma_2&&\\&&\ddots&\\&&&\sigma_n\end{bmatrix} A[v1 v2  vr]=[σ1u1 σ2u2  σrur]=[u1 u2  ur]σ1σ2σn,即 A v 1 = σ 1 u 1 ,   A v 2 = σ 2 u 2 , ⋯   , A v r = σ r u r Av_1=\sigma_1u_1,\ Av_2=\sigma_2u_2,\cdots,Av_r=\sigma_ru_r Av1=σ1u1, Av2=σ2u2,,Avr=σrur,这些 σ \sigma σ是缩放因子,表示在转换过程中有拉伸或压缩。而 A A A的左零空间和零空间将体现在 σ \sigma σ的零值中。

另外,如果算上左零、零空间,我们同样可以对左零、零空间取标准正交基,然后写为 A [ v 1   v 2   ⋯   v r   v r + 1   ⋯   v m ] = [ u 1   u 2   ⋯   u r   u r + 1   ⋯   u n ] [ σ 1 ⋱ σ r [ 0 ] ] A\Bigg[v_1\ v_2\ \cdots\ v_r\ v_{r+1}\ \cdots\ v_m\Bigg]=\Bigg[u_1\ u_2\ \cdots\ u_r\ u_{r+1}\ \cdots \ u_n\Bigg]\left[\begin{array}{c c c|c}\sigma_1&&&\\&\ddots&&\\&&\sigma_r&\\\hline&&&\begin{bmatrix}0\end{bmatrix}\end{array}\right] A[v1 v2  vr vr+1  vm]=[u1 u2  ur ur+1  un]σ1σr[0],此时 U U U m × m m\times m m×m正交矩阵, Σ \varSigma Σ m × n m\times n m×n对角矩阵, V T V^T VT n × n n\times n n×n正交矩阵。

最终可以写为 A V = U Σ AV=U\varSigma AV=UΣ,可以看出这十分类似对角化的公式,矩阵 A A A被转化为对角矩阵 Σ \varSigma Σ,我们也注意到 U ,   V U,\ V U, V是两组不同的正交基。(在正定的情况下, U ,   V U,\ V U, V都变成了 Q Q Q。)。进一步可以写作 A = U Σ V − 1 A=U\varSigma V^{-1} A=UΣV1,因为 V V V是标准正交矩阵所以可以写为 A = U Σ V T A=U\varSigma V^T A=UΣVT

计算一个例子, A = [ 4 4 − 3 3 ] A=\begin{bmatrix}4&4\\-3&3\end{bmatrix} A=[4343],我们需要找到:

  • 行空间 R 2 \mathbb{R}^2 R2的标准正交基 v 1 , v 2 v_1,v_2 v1,v2
  • 列空间 R 2 \mathbb{R}^2 R2的标准正交基 u 1 , u 2 u_1,u_2 u1,u2
  • σ 1 > 0 , σ 2 > 0 \sigma_1>0, \sigma_2>0 σ1>0,σ2>0

A = U Σ V T A=U\varSigma V^T A=UΣVT中有两个标准正交矩阵需要求解,我们希望一次只解一个,如何先将 U U U消去来求 V V V

这个技巧会经常出现在长方形矩阵中:求 A T A A^TA ATA,这是一个对称正定矩阵(至少是半正定矩阵),于是有 A T A = V Σ T U T U Σ V T A^TA=V\varSigma^TU^TU\varSigma V^T ATA=VΣTUTUΣVT,由于 U U U是标准正交矩阵,所以 U T U = I U^TU=I UTU=I,而 Σ T Σ \varSigma^T\varSigma ΣTΣ是对角线元素为 σ 2 \sigma^2 σ2的对角矩阵。

现在有 A T A = V [ σ 1 σ 2 ⋱ σ n ] V T A^TA=V\begin{bmatrix}\sigma_1&&&\\&\sigma_2&&\\&&\ddots&\\&&&\sigma_n\end{bmatrix}V^T ATA=Vσ1σ2σnVT,这个式子中 V V V即是 A T A A^TA ATA的特征向量矩阵而 Σ 2 \varSigma^2 Σ2是其特征值矩阵。

同理,我们只想求 U U U时,用 A A T AA^T AAT消掉 V V V即可。

我们来计算 A T A = [ 4 − 3 4 3 ] [ 4 4 − 3 3 ] = [ 25 7 7 25 ] A^TA=\begin{bmatrix}4&-3\\4&3\end{bmatrix}\begin{bmatrix}4&4\\-3&3\end{bmatrix}=\begin{bmatrix}25&7\\7&25\end{bmatrix} ATA=[4433][4343]=[257725],对于简单的矩阵可以直接观察得到特征向量 A T A [ 1 1 ] = 32 [ 1 1 ] ,   A T A [ 1 − 1 ] = 18 [ 1 − 1 ] A^TA\begin{bmatrix}1\\1\end{bmatrix}=32\begin{bmatrix}1\\1\end{bmatrix},\ A^TA\begin{bmatrix}1\\-1\end{bmatrix}=18\begin{bmatrix}1\\-1\end{bmatrix} ATA[11]=32[11], ATA[11]=18[11],化为单位向量有 σ 1 = 32 ,   v 1 = [ 1 2 1 2 ] ,   σ 2 = 18 ,   v 2 = [ 1 2 − 1 2 ] \sigma_1=32,\ v_1=\begin{bmatrix}\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}\end{bmatrix},\ \sigma_2=18,\ v_2=\begin{bmatrix}\frac{1}{\sqrt{2}}\\-\frac{1}{\sqrt{2}}\end{bmatrix} σ1=32, v1=[2 12 1], σ2=18, v2=[2 12 1]

到目前为止,我们得到 [ 4 4 − 3 3 ] = [ u ? u ? u ? u ? ] [ 32 0 0 18 ] [ 1 2 1 2 1 2 − 1 2 ] \begin{bmatrix}4&4\\-3&3\end{bmatrix}=\begin{bmatrix}u_?&u_?\\u_?&u_?\end{bmatrix}\begin{bmatrix}\sqrt{32}&0\\0&\sqrt{18}\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}&-\frac{1}{\sqrt{2}}\end{bmatrix} [4343]=[u?u?u?u?][32 0018 ][2 12 12 12 1],接下来继续求解 U U U

A A T = U Σ V T V Σ T U T = U Σ 2 U T AA^T=U\varSigma V^TV\varSigma^TU^T=U\varSigma^2U^T AAT=UΣVTVΣTUT=UΣ2UT,求出 A A T AA^T AAT的特征向量即可得到 U U U [ 4 4 − 3 3 ] [ 4 − 3 4 3 ] = [ 32 0 0 18 ] \begin{bmatrix}4&4\\-3&3\end{bmatrix}\begin{bmatrix}4&-3\\4&3\end{bmatrix}=\begin{bmatrix}32&0\\0&18\end{bmatrix} [4343][4433]=[320018],观察得 A A T [ 1 0 ] = 32 [ 1 0 ] ,   A A T [ 0 1 ] = 18 [ 0 1 ] AA^T\begin{bmatrix}1\\0\end{bmatrix}=32\begin{bmatrix}1\\0\end{bmatrix},\ AA^T\begin{bmatrix}0\\1\end{bmatrix}=18\begin{bmatrix}0\\1\end{bmatrix} AAT[10]=32[10], AAT[01]=18[01]。但是我们不能直接使用这一组特征向量,因为式子 A V = U Σ AV=U\varSigma AV=UΣ明确告诉我们,一旦 V V V确定下来, U U U也必须取能够满足该式的向量,所以此处 A v 2 = [ 0 − 18 ] = u 2 σ 2 = [ 0 − 1 ] 18 Av_2=\begin{bmatrix}0\\-\sqrt{18}\end{bmatrix}=u_2\sigma_2=\begin{bmatrix}0\\-1\end{bmatrix}\sqrt{18} Av2=[018 ]=u2σ2=[01]18 ,则 u 1 = [ 1 0 ] ,   u 2 = [ 0 − 1 ] u_1=\begin{bmatrix}1\\0\end{bmatrix},\ u_2=\begin{bmatrix}0\\-1\end{bmatrix} u1=[10], u2=[01]。(这个问题在本讲的官方笔记中有详细说明。)

  • 补充: A B AB AB的特征值与 B A BA BA的特征值相同,证明来自Are the eigenvalues of AB equal to the eigenvalues of BA? (Citation needed!)

    λ ≠ 0 \lambda\neq 0 λ=0 v v v A B AB AB在特征值取 λ \lambda λ时的的特征向量,则有 B v ≠ 0 Bv\neq 0 Bv=0,并有 λ B v = B ( λ v ) = B ( A B v ) = ( B A ) B v \lambda Bv=B(\lambda v)=B(ABv)=(BA)Bv λBv=B(λv)=B(ABv)=(BA)Bv,所以 B v Bv Bv B A BA BA在特征值取同一个 λ \lambda λ时的特征向量。

    再取 A B AB AB的特征值 λ = 0 \lambda=0 λ=0,则 0 = det ⁡ A B = det ⁡ A det ⁡ B = det ⁡ B A 0=\det{AB}=\det{A}\det{B}=\det{BA} 0=detAB=detAdetB=detBA,所以 λ = 0 \lambda=0 λ=0也是 B A BA BA的特征值,得证。

最终,我们得到 [ 4 4 − 3 3 ] = [ 1 0 0 − 1 ] [ 32 0 0 18 ] [ 1 2 1 2 1 2 − 1 2 ] \begin{bmatrix}4&4\\-3&3\end{bmatrix}=\begin{bmatrix}1&0\\0&-1\end{bmatrix}\begin{bmatrix}\sqrt{32}&0\\0&\sqrt{18}\end{bmatrix}\begin{bmatrix}\frac{1}{\sqrt{2}}&\frac{1}{\sqrt{2}}\\\frac{1}{\sqrt{2}}&-\frac{1}{\sqrt{2}}\end{bmatrix} [4343]=[1001][32 0018 ][2 12 12 12 1]

再做一个例子, A = [ 4 3 8 6 ] A=\begin{bmatrix}4&3\\8&6\end{bmatrix} A=[4836],这是个秩一矩阵,有零空间。 A A A的行空间为 [ 4 3 ] \begin{bmatrix}4\\3\end{bmatrix} [43]的倍数, A A A的列空间为 [ 4 8 ] \begin{bmatrix}4\\8\end{bmatrix} [48]的倍数。

  • 标准化向量得 v 1 = [ 0.8 0.6 ] ,   u 1 = 1 5 [ 1 2 ] v_1=\begin{bmatrix}0.8\\0.6\end{bmatrix},\ u_1=\frac{1}{\sqrt{5}}\begin{bmatrix}1\\2\end{bmatrix} v1=[0.80.6], u1=5 1[12]
  • A T A = [ 4 8 3 6 ] [ 4 3 8 6 ] = [ 80 60 60 45 ] A^TA=\begin{bmatrix}4&8\\3&6\end{bmatrix}\begin{bmatrix}4&3\\8&6\end{bmatrix}=\begin{bmatrix}80&60\\60&45\end{bmatrix} ATA=[4386][4836]=[80606045],由于 A A A是秩一矩阵,则 A T A A^TA ATA也不满秩,所以必有特征值 0 0 0,则另特征值一个由迹可知为 125 125 125
  • 继续求零空间的特征向量,有 v 2 = [ 0.6 − 0 , 8 ] ,   u 1 = 1 5 [ 2 − 1 ] v_2=\begin{bmatrix}0.6\\-0,8\end{bmatrix},\ u_1=\frac{1}{\sqrt{5}}\begin{bmatrix}2\\-1\end{bmatrix} v2=[0.60,8], u1=5 1[21]

最终得到 [ 4 3 8 6 ] = [ 1 2 ‾ 2 − 1 ‾ ] [ 125 0 0 0 ‾ ] [ 0.8 0.6 0.6 ‾ − 0.8 ‾ ] \begin{bmatrix}4&3\\8&6\end{bmatrix}=\begin{bmatrix}1&\underline {2}\\2&\underline{-1}\end{bmatrix}\begin{bmatrix}\sqrt{125}&0\\0&\underline{0}\end{bmatrix}\begin{bmatrix}0.8&0.6\\\underline{0.6}&\underline{-0.8}\end{bmatrix} [4836]=[1221][125 000][0.80.60.60.8],其中下划线部分都是与零空间相关的部分。

  • v 1 ,   ⋯   ,   v r v_1,\ \cdots,\ v_r v1, , vr是行空间的标准正交基;
  • u 1 ,   ⋯   ,   u r u_1,\ \cdots,\ u_r u1, , ur是列空间的标准正交基;
  • v r + 1 ,   ⋯   ,   v n v_{r+1},\ \cdots,\ v_n vr+1, , vn是零空间的标准正交基;
  • u r + 1 ,   ⋯   ,   u m u_{r+1},\ \cdots,\ u_m ur+1, , um是左零空间的标准正交基。

通过将矩阵写为 A v i = σ i u i Av_i=\sigma_iu_i Avi=σiui形式,将矩阵对角化,向量 u ,   v u,\ v u, v之间没有耦合, A A A乘以每个 v v v都能得到一个相应的 u u u

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值