Skip to main content

前言-5

本文综述线性代数五大核心矩阵分解:CR、LU、QR、特征值分解及奇异值分解(SVD)。重点阐述SVD适用于任意矩阵的通用性与数值稳定性,并简述其在深度学习等现代数据科学中的关键应用。

正文​

矩阵的五种分解

这些是线性代数的核心组织原则。当矩阵具有特殊性质时,这些分解形式会将其展现出来。在后续章节中,它们会以直接且实用的方式表达核心思想。

分解的实用性会随列表顺序递增。正交矩阵是最终的“赢家”,因为它们的列是相互垂直的单位向量——这是一种完美的结构。

2×22×2正交矩阵 =[cos⁡θ−sin⁡θsin⁡θcos⁡θ]\begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} = 角度为θ\theta的旋转变换

以下是第1、2、4、6、7章介绍的五种分解:

  1. A=CRA = CR = 矩阵RR将CC中的线性无关列组合,得到AA的所有列
  2. A=LUA = LU = 下三角矩阵LL 乘以 上三角矩阵UU
  3. A=QRA = QR = 正交矩阵QQ 乘以 上三角矩阵RR
  4. S=QΛQTS = Q\Lambda Q^T =(正交矩阵QQ)(特征值矩阵Λ\Lambda)(正交矩阵QTQ^T)
  5. A=UΣVTA = U\Sigma V^T =(正交矩阵UU)(奇异值矩阵Σ\Sigma)(正交矩阵VTV^T)

请重点关注最后一种分解:奇异值分解(SVD)。它适用于任意矩阵AA。其中因子UU和VV的列相互垂直且长度均为1,任何向量乘以UU或VV后长度保持不变——因此计算不会出现数值不稳定的问题。Σ\Sigma是一个由“奇异值”构成的正对角矩阵。如果你在第6章学习了特征值与特征向量,建议继续阅读7.1节的奇异值内容。


深度学习​

要全面理解线性代数,必须包含其应用场景。当然,“全面”是不可能完全实现的。当前,应用数学的主流方向有一个特殊要求:它不能完全是线性的!

这个方向的一个代表就是“深度学习”。它是解决“从数据中学习”这一基础科学问题的极为成功的方法。在很多情况下,数据以矩阵形式呈现。我们的目标是从矩阵中挖掘变量之间的关联。不同于求解已知输入输出规则的矩阵方程或微分方程,我们需要发现这些规则。深度学习的成功之处在于构建一个函数F(x,v)F(x,v),它包含两类输入xx和vv:

  • 向量vv描述训练数据的特征。
  • 矩阵xx为这些特征分配权重。
  • 函数F(x,v)F(x,v)的输出与训练数据vv对应的正确输出接近。
  • 当vv替换为未见过的测试数据时,F(x,v)F(x,v)的输出仍保持较高准确性。

这种成功部分源于学习函数FF的形式,它能够处理海量数据。最终,纯线性的FF是完全不够用的。FF的首选形式是分段线性,它兼顾了简洁性与通用性。

备注​

此处是为了理解翻译者加上的。

矩阵五种分解速记表​

分解名称表达式核心组成适用场景关键特点
CR分解A=CRA = CRCC(线性无关列组成的基矩阵)
RR(组合系数矩阵)
分析矩阵列空间、找列的线性关系直观展示列的线性组合关系,适用于所有矩阵
LU分解A=LUA = LULL(下三角矩阵,对角线为1)
UU(上三角矩阵)
求解线性方程组、计算行列式无行交换时存在,计算效率高,常用于数值计算
QR分解A=QRA = QRQQ(正交矩阵,列互相垂直且为单位向量)
RR(上三角矩阵)
最小二乘法、特征值计算数值稳定性好,正交矩阵保持向量长度不变
特征值分解S=QΛQTS = Q\Lambda Q^TQQ(正交矩阵,列是特征向量)
Λ\Lambda(对角矩阵,对角线是特征值)
对称矩阵分析、矩阵对角化仅适用于对称矩阵,可将矩阵变换为对角形式
奇异值分解(SVD)A=UΣVTA = U\Sigma V^TUU(正交矩阵)
Σ\Sigma(对角矩阵,对角线是奇异值)
VTV^T(正交矩阵的转置)
所有矩阵、降维、数据压缩、推荐系统适用于任意矩阵,是线性代数最通用的分解,兼顾稳定性与通用性

典型例题​

1. CR分解例题​

题目:对矩阵 (A=[123246]A=\begin{bmatrix}1&2&3\\2&4&6\end{bmatrix}) 做CRCR分解。

步骤:

  • 列向量:(a1=[12],a2=[24],a3=[36]a_1=\begin{bmatrix}1\\2\end{bmatrix},a_2=\begin{bmatrix}2\\4\end{bmatrix},a_3=\begin{bmatrix}3\\6\end{bmatrix})
  • 线性无关列:(a1a_1)((a2=2a1,a3=3a1a_2=2a_1,a_3=3a_1))
  • (C=[12]C=\begin{bmatrix}1\\2\end{bmatrix}),(R=[123]R=\begin{bmatrix}1&2&3\end{bmatrix})
  • 验证:(CR=[12][123]=[123246]=ACR=\begin{bmatrix}1\\2\end{bmatrix}\begin{bmatrix}1&2&3\end{bmatrix}=\begin{bmatrix}1&2&3\\2&4&6\end{bmatrix}=A)

2. LU分解例题​

题目:对矩阵 (A=[2112]A=\begin{bmatrix}2&1\\1&2\end{bmatrix}) 做LU分解。

步骤:

  • 消元:(A→R2=R2−12R1[21032]=UA \xrightarrow{R_2=R_2-\frac12R_1}\begin{bmatrix}2&1\\0&\frac32\end{bmatrix}=U)
  • 记录消元系数:(L=[10121]L=\begin{bmatrix}1&0\\\frac12&1\end{bmatrix})
  • 验证:(LU=[10121][21032]=[2112]=ALU=\begin{bmatrix}1&0\\\frac12&1\end{bmatrix}\begin{bmatrix}2&1\\0&\frac32\end{bmatrix}=\begin{bmatrix}2&1\\1&2\end{bmatrix}=A)

3. QR分解例题​

题目:对矩阵 (A=[1221]A=\begin{bmatrix}1&2\\2&1\end{bmatrix}) 做QR分解。

步骤:

  • 列向量:(a1=[12],a2=[21]a_1=\begin{bmatrix}1\\2\end{bmatrix},a_2=\begin{bmatrix}2\\1\end{bmatrix})
  • 正交化(Gram-Schmidt):
    • (q1=a1∥a1∥=15[12]q_1=\frac{a_1}{\|a_1\|}=\frac{1}{\sqrt5}\begin{bmatrix}1\\2\end{bmatrix})
    • (a2′=a2−(a2⋅q1)q1=[21]−45⋅15[12]=[65−35]a_2'=a_2-(a_2\cdot q_1)q_1=\begin{bmatrix}2\\1\end{bmatrix}-\frac{4}{\sqrt5}\cdot\frac{1}{\sqrt5}\begin{bmatrix}1\\2\end{bmatrix}=\begin{bmatrix}\frac65\\-\frac35\end{bmatrix})
    • (q2=a2′∥a2′∥=15[2−1]q_2=\frac{a_2'}{\|a_2'\|}=\frac{1}{\sqrt5}\begin{bmatrix}2\\-1\end{bmatrix})
  • (Q=[152525−15]),(R=[545035]Q=\begin{bmatrix}\frac1{\sqrt5}&\frac2{\sqrt5}\\\frac2{\sqrt5}&-\frac1{\sqrt5}\end{bmatrix}),(R=\begin{bmatrix}\sqrt5&\frac4{\sqrt5}\\0&\frac3{\sqrt5}\end{bmatrix})
  • 验证:(QR=AQR=A)

4. 特征值分解例题​

题目:对对称矩阵 (S=[3113]S=\begin{bmatrix}3&1\\1&3\end{bmatrix}) 做特征值分解。

步骤:

  • 特征值:(det⁡(S−λI)=(λ−2)(λ−4)=0)→(λ1=2,λ2=4\det(S-\lambda I)=(\lambda-2)(\lambda-4)=0) → (\lambda_1=2,\lambda_2=4)
  • 特征向量:(λ=2\lambda=2)时(v1=[1−1]v_1=\begin{bmatrix}1\\-1\end{bmatrix}),(λ=4\lambda=4)时(v2=[11]v_2=\begin{bmatrix}1\\1\end{bmatrix})
  • 正交化单位化:(Q=12[11−11]Q=\frac1{\sqrt2}\begin{bmatrix}1&1\\-1&1\end{bmatrix}),(Λ=[2004]\Lambda=\begin{bmatrix}2&0\\0&4\end{bmatrix})
  • 验证:(QΛQT=12[11−11][2004]12[1−111]=[3113]=SQ\Lambda Q^T=\frac1{\sqrt2}\begin{bmatrix}1&1\\-1&1\end{bmatrix}\begin{bmatrix}2&0\\0&4\end{bmatrix}\frac1{\sqrt2}\begin{bmatrix}1&-1\\1&1\end{bmatrix}=\begin{bmatrix}3&1\\1&3\end{bmatrix}=S)

5. SVD例题​

题目:对矩阵 (A=[1002]A=\begin{bmatrix}1&0\\0&2\end{bmatrix}) 做SVDSVD。

步骤:

  • 计算(ATA=[1004]A^TA=\begin{bmatrix}1&0\\0&4\end{bmatrix}),特征值(σ12=4,σ22=1)→(σ1=2,σ2=1\sigma_1^2=4,\sigma_2^2=1) → (\sigma_1=2,\sigma_2=1)
  • 特征向量:(v1=[01],v2=[10])→(V=[0110]v_1=\begin{bmatrix}0\\1\end{bmatrix},v_2=\begin{bmatrix}1\\0\end{bmatrix}) → (V=\begin{bmatrix}0&1\\1&0\end{bmatrix})
  • (U=1σiAvi)→(u1=[01],u2=[10])→(U=[0110]U=\frac{1}{\sigma_i}Av_i) → (u_1=\begin{bmatrix}0\\1\end{bmatrix},u_2=\begin{bmatrix}1\\0\end{bmatrix}) → (U=\begin{bmatrix}0&1\\1&0\end{bmatrix})
  • (Σ=[2001]\Sigma=\begin{bmatrix}2&0\\0&1\end{bmatrix})
  • 验证:(UΣVT=[0110][2001][0110]=[1002]U\Sigma V^T=\begin{bmatrix}0&1\\1&0\end{bmatrix}\begin{bmatrix}2&0\\0&1\end{bmatrix}\begin{bmatrix}0&1\\1&0\end{bmatrix}=\begin{bmatrix}1&0\\0&2\end{bmatrix}=AA)

五种矩阵分解解题通用模板​


1. CR分解模板​

步骤1:提取矩阵 (AA) 的所有列向量 (a1,a2,…,ana_1,a_2,\dots,a_n)。

步骤2:从左到右筛选线性无关的列,组成基矩阵 (CC)。

步骤3:对 (AA) 的每一列 (aja_j),求解其由 (CC) 的列线性组合的系数,组成系数矩阵 (RR)。

步骤4:验证 (CR=ACR = A)。


2. LU分解模板​

步骤1:对矩阵 (AA) 进行行消元,将其转化为上三角矩阵 (UU)。

步骤2:记录每一步消元的系数,构造下三角矩阵 (LL)(对角线元素为1)。

步骤3:验证 (LU=ALU = A)。


3. QR分解模板​

步骤1:提取矩阵 (AA) 的列向量 (a1,a2,…,ana_1,a_2,\dots,a_n)。

步骤2:使用Gram-Schmidt正交化过程,将列向量转化为正交单位向量 (q1,q2,…,qnq_1,q_2,\dots,q_n),组成正交矩阵 (QQ)。

步骤3:计算上三角矩阵 (R),其中 (Rij=qiTajR_{ij}=q_i^T a_j)(i≤ji \leq j),(Rij=0R_{ij}=0)((i>ji > j))。

步骤4:验证 (QR=AQR = A)。


4. 特征值分解模板(仅适用于对称矩阵)​

步骤1:求解特征方程 (det⁡(S−λI)=0\det(S-\lambda I)=0),得到特征值 (λ1,λ2,…,λn\lambda_1,\lambda_2,\dots,\lambda_n),组成对角矩阵 (Λ\Lambda)。

步骤2:对每个特征值 (λi\lambda_i),求解齐次方程组 ((S−λiI)x=0S-\lambda_i I)x=0),得到特征向量 (viv_i)。

步骤3:将特征向量正交化、单位化,组成正交矩阵 (QQ)。

步骤4:验证 (QΛQT=SQ\Lambda Q^T = S)。


5. SVD分解模板​

步骤1:计算 (ATAA^TA),求解其特征值 (σ12,σ22,…,σr2\sigma_1^2,\sigma_2^2,\dots,\sigma_r^2) 和对应的单位特征向量 (v1,v2,…,vrv_1,v_2,\dots,v_r),组成矩阵 (VV)。

步骤2:计算奇异值 (σi=σi2\sigma_i=\sqrt{\sigma_i^2}),构造对角矩阵 (Σ\Sigma)。

步骤3:计算 (ui=1σiAviu_i=\frac{1}{\sigma_i}Av_i),组成正交矩阵 (UU)。

步骤4:验证 (UΣVT=AU\Sigma V^T = A)。