本文综述线性代数五大核心矩阵分解:CR、LU、QR、特征值分解及奇异值分解(SVD)。重点阐述SVD适用于任意矩阵的通用性与数值稳定性,并简述其在深度学习等现代数据科学中的关键应用。
矩阵的五种分解
这些是线性代数的核心组织原则。当矩阵具有特殊性质时,这些分解形式会将其展现出来。在后续章节中,它们会以直接且实用的方式表达核心思想。
分解的实用性会随列表顺序递增。正交矩阵是最终的“赢家”,因为它们的列是相互垂直的单位向量——这是一种完美的结构。
2×2正交矩阵 =[cosθsinθ−sinθcosθ] = 角度为θ的旋转变换
以下是第1、2、4、6、7章介绍的五种分解:
- A=CR = 矩阵R将C中的线性无关列组合,得到A的所有列
- A=LU = 下三角矩阵L 乘以 上三角矩阵U
- A=QR = 正交矩阵Q 乘以 上三角矩阵R
- S=QΛQT =(正交矩阵Q)(特征值矩阵Λ)(正交矩阵QT)
- A=UΣVT =(正交矩阵U)(奇异值矩阵Σ)(正交矩阵VT)
请重点关注最后一种分解:奇异值分解(SVD)。它适用于任意矩阵A。其中因子U和V的列相互垂直且长度均为1,任何向量乘以U或V后长度保持不变——因此计算不会出现数值不稳定的问题。Σ是一个由“奇异值”构成的正对角矩阵。如果你在第6章学习了特征值与特征向量,建议继续阅读7.1节的奇异值内容。
深度学习
要全面理解线性代数,必须包含其应用场景。当然,“全面”是不可能完全实现的。当前,应用数学的主流方向有一个特殊要求:它不能完全是线性的!
这个方向的一个代表就是“深度学习”。它是解决“从数据中学习”这一基础科学问题的极为成功的方法。在很多情况下,数据以矩阵形式呈现。我们的目标是从矩阵中挖掘变量之间的关联。不同于求解已知输入输出规则的矩阵方程或微分方程,我们需要发现这些规则。深度学习的成功之处在于构建一个函数F(x,v),它包含两类输入x和v:
- 向量v描述训练数据的特征。
- 矩阵x为这些特征分配权重。
- 函数F(x,v)的输出与训练数据v对应的正确输出接近。
- 当v替换为未见过的测试数据时,F(x,v)的输出仍保持较高准确性。
这种成功部分源于学习函数F的形式,它能够处理海量数据。最终,纯线性的F是完全不够用的。F的首选形式是分段线性,它兼顾了简洁性与通用性。
此处是为了理解翻译者加上的。
矩阵五种分解速记表
| 分解名称 | 表达式 | 核心组成 | 适用场景 | 关键特点 |
|---|
| CR分解 | A=CR | C(线性无关列组成的基矩阵) R(组合系数矩阵) | 分析矩阵列空间、找列的线性关系 | 直观展示列的线性组合关系,适用于所有矩阵 |
| LU分解 | A=LU | L(下三角矩阵,对角线为1) U(上三角矩阵) | 求解线性方程组、计算行列式 | 无行交换时存在,计算效率高,常用于数值计算 |
| QR分解 | A=QR | Q(正交矩阵,列互相垂直且为单位向量) R(上三角矩阵) | 最小二乘法、特征值计算 | 数值稳定性好,正交矩阵保持向量长度不变 |
| 特征值分解 | S=QΛQT | Q(正交矩阵,列是特征向量) Λ(对角矩阵,对角线是特征值) | 对称矩阵分析、矩阵对角化 | 仅适用于对称矩阵,可将矩阵变换为对角形式 |
| 奇异值分解(SVD) | A=UΣVT | U(正交矩阵) Σ(对角矩阵,对角线是奇异值) VT(正交矩阵的转置) | 所有矩阵、降维、数据压缩、推荐系统 | 适用于任意矩阵,是线性代数最通用的分解,兼顾稳定性与通用性 |
典型例题
1. CR分解例题
题目:对矩阵 (A=[122436]) 做CR分解。
步骤:
- 列向量:(a1=[12],a2=[24],a3=[36])
- 线性无关列:(a1)((a2=2a1,a3=3a1))
- (C=[12]),(R=[123])
- 验证:(CR=[12][123]=[122436]=A)
2. LU分解例题
题目:对矩阵 (A=[2112]) 做LU分解。
步骤:
- 消元:(AR2=R2−21R1[20123]=U)
- 记录消元系数:(L=[12101])
- 验证:(LU=[12101][20123]=[2112]=A)
3. QR分解例题
题目:对矩阵 (A=[1221]) 做QR分解。
步骤:
- 列向量:(a1=[12],a2=[21])
- 正交化(Gram-Schmidt):
- (q1=∥a1∥a1=51[12])
- (a2′=a2−(a2⋅q1)q1=[21]−54⋅51[12]=[56−53])
- (q2=∥a2′∥a2′=51[2−1])
- (Q=[515252−51]),(R=[505453])
- 验证:(QR=A)
4. 特征值分解例题
题目:对对称矩阵 (S=[3113]) 做特征值分解。
步骤:
- 特征值:(det(S−λI)=(λ−2)(λ−4)=0)→(λ1=2,λ2=4)
- 特征向量:(λ=2)时(v1=[1−1]),(λ=4)时(v2=[11])
- 正交化单位化:(Q=21[1−111]),(Λ=[2004])
- 验证:(QΛQT=21[1−111][2004]21[11−11]=[3113]=S)
5. SVD例题
题目:对矩阵 (A=[1002]) 做SVD。
步骤:
- 计算(ATA=[1004]),特征值(σ12=4,σ22=1)→(σ1=2,σ2=1)
- 特征向量:(v1=[01],v2=[10])→(V=[0110])
- (U=σi1Avi)→(u1=[01],u2=[10])→(U=[0110])
- (Σ=[2001])
- 验证:(UΣVT=[0110][2001][0110]=[1002]=A)
五种矩阵分解解题通用模板
1. CR分解模板
步骤1:提取矩阵 (A) 的所有列向量 (a1,a2,…,an)。
步骤2:从左到右筛选线性无关的列,组成基矩阵 (C)。
步骤3:对 (A) 的每一列 (aj),求解其由 (C) 的列线性组合的系数,组成系数矩阵 (R)。
步骤4:验证 (CR=A)。
2. LU分解模板
步骤1:对矩阵 (A) 进行行消元,将其转化为上三角矩阵 (U)。
步骤2:记录每一步消元的系数,构造下三角矩阵 (L)(对角线元素为1)。
步骤3:验证 (LU=A)。
3. QR分解模板
步骤1:提取矩阵 (A) 的列向量 (a1,a2,…,an)。
步骤2:使用Gram-Schmidt正交化过程,将列向量转化为正交单位向量 (q1,q2,…,qn),组成正交矩阵 (Q)。
步骤3:计算上三角矩阵 (R),其中 (Rij=qiTaj)(i≤j),(Rij=0)((i>j))。
步骤4:验证 (QR=A)。
4. 特征值分解模板(仅适用于对称矩阵)
步骤1:求解特征方程 (det(S−λI)=0),得到特征值 (λ1,λ2,…,λn),组成对角矩阵 (Λ)。
步骤2:对每个特征值 (λi),求解齐次方程组 ((S−λiI)x=0),得到特征向量 (vi)。
步骤3:将特征向量正交化、单位化,组成正交矩阵 (Q)。
步骤4:验证 (QΛQT=S)。
5. SVD分解模板
步骤1:计算 (ATA),求解其特征值 (σ12,σ22,…,σr2) 和对应的单位特征向量 (v1,v2,…,vr),组成矩阵 (V)。
步骤2:计算奇异值 (σi=σi2),构造对角矩阵 (Σ)。
步骤3:计算 (ui=σi1Avi),组成正交矩阵 (U)。
步骤4:验证 (UΣVT=A)。