第02章:线性代数基础
前言
线性代数是现代数学的通用语言,也是机器学习的基石。在机器学习中,我们关注的焦点并非复杂的行列式计算或方程组求解,而是数据的表示 、空间的变换 、几何的度量 以及优化的方向。
本章将构建一套严谨、完整且直观的数学体系。我们将从向量空间的基本概念出发,深入理解线性组合、基、维度与秩等核心思想;从几何视角解析投影、正交与范数的本质;最终掌握适用于任意矩阵的奇异值分解 (SVD) 和伪逆理论。这些知识是深入理解后续算法(如 PCA、线性回归、神经网络优化)的必要前提。
目录
- [2.1 基础数据结构](#2.1 基础数据结构)
- [2.2 向量空间基础](#2.2 向量空间基础)
- [2.3 几何视角:度量与正交](#2.3 几何视角:度量与正交)
2.1 基础数据结构
标量、向量、矩阵与张量
数学对象的定义由其维度决定:
-
标量 (Scalar) : x ∈ R x \in \mathbb{R} x∈R。仅具有大小的单个数值。例如温度、距离等。
-
向量 (Vector) : x ∈ R n \mathbf{x} \in \mathbb{R}^n x∈Rn。 n n n 个数的一维有序排列,代表空间中的一个点或方向。本书默认向量为列向量。
例如, x = [ 2 3 ] \mathbf{x} = \begin{bmatrix} 2 \\ 3 \end{bmatrix} x=[23] 表示2D平面上的一个点或从原点指向该点的箭头。
-
矩阵 (Matrix) : A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n。 m m m 行 n n n 列的二维数组,代表从 n n n 维空间到 m m m 维空间的线性变换。
A i j \mathbf{A}_{ij} Aij 表示矩阵第 i i i 行第 j j j 列的元素。
-
张量 (Tensor) : X ∈ R n 1 × n 2 × ⋯ × n k \mathcal{X} \in \mathbb{R}^{n_1 \times n_2 \times \cdots \times n_k} X∈Rn1×n2×⋯×nk。多维数组的泛化。
例如,三阶张量 R H × W × C \mathbb{R}^{H \times W \times C} RH×W×C 可表示一张高度 H H H、宽度 W W W、 C C C 个通道的彩色图像。
符号约定:
- 标量:小写字母 x , y , λ x, y, \lambda x,y,λ
- 向量:粗体小写字母 x , y , v \mathbf{x}, \mathbf{y}, \mathbf{v} x,y,v
- 矩阵:粗体大写字母 A , X , W \mathbf{A}, \mathbf{X}, \mathbf{W} A,X,W
- 张量:花体大写字母 X , Y \mathcal{X}, \mathcal{Y} X,Y
实践注记:稀疏矩阵 (Sparse Matrix)
在机器学习中(如NLP及其词袋模型、推荐系统),矩阵往往极其巨大但绝大多数元素为零。仅存储非零元素(COO, CSR, CSC格式)不仅节省内存,还能通过专门的稀疏矩阵算法将计算复杂度从 O ( n 2 ) O(n^2) O(n2) 降低到 O ( nnz ) O(\text{nnz}) O(nnz)(非零元素个数)。
核心运算
1. 矩阵乘法
对于 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n 和 B ∈ R n × p \mathbf{B} \in \mathbb{R}^{n \times p} B∈Rn×p,其乘积 C = A B ∈ R m × p \mathbf{C} = \mathbf{A}\mathbf{B} \in \mathbb{R}^{m \times p} C=AB∈Rm×p 定义为:
C i j = ∑ k = 1 n A i k B k j \mathbf{C}{ij} = \sum{k=1}^n \mathbf{A}{ik} \mathbf{B}{kj} Cij=k=1∑nAikBkj
几何意义 :矩阵乘法代表线性变换的复合。先应用 B \mathbf{B} B 变换,再应用 A \mathbf{A} A 变换。
前提条件:前者的列数必须等于后者的行数。
性质:
- 满足结合律: ( A B ) C = A ( B C ) (\mathbf{AB})\mathbf{C} = \mathbf{A}(\mathbf{BC}) (AB)C=A(BC)
- 一般不满足交换律: A B ≠ B A \mathbf{AB} \neq \mathbf{BA} AB=BA
2. 内积(点积)
对于两个向量 x , y ∈ R n \mathbf{x}, \mathbf{y} \in \mathbb{R}^n x,y∈Rn,其内积定义为:
⟨ x , y ⟩ = x T y = ∑ i = 1 n x i y i \langle \mathbf{x}, \mathbf{y} \rangle = \mathbf{x}^T \mathbf{y} = \sum_{i=1}^n x_i y_i ⟨x,y⟩=xTy=i=1∑nxiyi
几何意义:衡量两个向量的相关性和方向的一致程度。
应用:在机器学习中,内积用于计算相似度、特征加权求和等。
3. 哈达玛积(元素乘积)
对于同型矩阵 A , B ∈ R m × n \mathbf{A}, \mathbf{B} \in \mathbb{R}^{m \times n} A,B∈Rm×n,其哈达玛积定义为:
( A ⊙ B ) i j = A i j B i j (\mathbf{A} \odot \mathbf{B}){ij} = \mathbf{A}{ij} \mathbf{B}_{ij} (A⊙B)ij=AijBij
应用:神经网络中的门控机制(如LSTM、注意力机制)、对角矩阵的简化表示。
转置、逆矩阵与伪逆
转置 (Transpose)
矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n 的转置 A T ∈ R n × m \mathbf{A}^T \in \mathbb{R}^{n \times m} AT∈Rn×m 定义为行列互换:
( A T ) i j = A j i (\mathbf{A}^T){ij} = \mathbf{A}{ji} (AT)ij=Aji
性质:
- ( A T ) T = A (\mathbf{A}^T)^T = \mathbf{A} (AT)T=A
- ( A B ) T = B T A T (\mathbf{AB})^T = \mathbf{B}^T \mathbf{A}^T (AB)T=BTAT
逆矩阵 (Inverse)
对于方阵 A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n} A∈Rn×n,若存在 B \mathbf{B} B 使得:
A B = B A = I \mathbf{A}\mathbf{B} = \mathbf{B}\mathbf{A} = \mathbf{I} AB=BA=I
则称 B \mathbf{B} B 为 A \mathbf{A} A 的逆矩阵,记为 A − 1 \mathbf{A}^{-1} A−1。
存在条件:
- A \mathbf{A} A 必须是方阵
- A \mathbf{A} A 必须是满秩 的(非奇异, det ( A ) ≠ 0 \det(\mathbf{A}) \neq 0 det(A)=0)
性质:
- ( A − 1 ) − 1 = A (\mathbf{A}^{-1})^{-1} = \mathbf{A} (A−1)−1=A
- ( A B ) − 1 = B − 1 A − 1 (\mathbf{AB})^{-1} = \mathbf{B}^{-1} \mathbf{A}^{-1} (AB)−1=B−1A−1
- ( A T ) − 1 = ( A − 1 ) T (\mathbf{A}^T)^{-1} = (\mathbf{A}^{-1})^T (AT)−1=(A−1)T
Moore-Penrose 伪逆 (Pseudoinverse)
对于任意矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n(可以是非方阵或奇异矩阵),存在唯一的伪逆 A † ∈ R n × m \mathbf{A}^\dagger \in \mathbb{R}^{n \times m} A†∈Rn×m 满足以下四个条件:
- A A † A = A \mathbf{A}\mathbf{A}^\dagger\mathbf{A} = \mathbf{A} AA†A=A
- A † A A † = A † \mathbf{A}^\dagger\mathbf{A}\mathbf{A}^\dagger = \mathbf{A}^\dagger A†AA†=A†
- ( A A † ) T = A A † (\mathbf{A}\mathbf{A}^\dagger)^T = \mathbf{A}\mathbf{A}^\dagger (AA†)T=AA†
- ( A † A ) T = A † A (\mathbf{A}^\dagger\mathbf{A})^T = \mathbf{A}^\dagger\mathbf{A} (A†A)T=A†A
计算方法:
- 若 A \mathbf{A} A 列满秩( m ≥ n m \geq n m≥n, rank ( A ) = n \text{rank}(\mathbf{A}) = n rank(A)=n): A † = ( A T A ) − 1 A T \mathbf{A}^\dagger = (\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T A†=(ATA)−1AT
- 若 A \mathbf{A} A 行满秩( m ≤ n m \leq n m≤n, rank ( A ) = m \text{rank}(\mathbf{A}) = m rank(A)=m): A † = A T ( A A T ) − 1 \mathbf{A}^\dagger = \mathbf{A}^T(\mathbf{A}\mathbf{A}^T)^{-1} A†=AT(AAT)−1
- 一般情况:通过 SVD 计算(见2.4节)
意义:伪逆解决了线性方程组的广义求解问题:
- 当 A x = y \mathbf{A}\mathbf{x} = \mathbf{y} Ax=y 无解(超定系统)时, x = A † y \mathbf{x} = \mathbf{A}^\dagger \mathbf{y} x=A†y 提供最小二乘解 (使 ∥ A x − y ∥ 2 2 \|\mathbf{Ax} - \mathbf{y}\|_2^2 ∥Ax−y∥22 最小)
- 当有无穷多解(欠定系统)时, x = A † y \mathbf{x} = \mathbf{A}^\dagger \mathbf{y} x=A†y 提供最小范数解 (在所有解中 ∥ x ∥ 2 \|\mathbf{x}\|_2 ∥x∥2 最小)
这是处理病态问题、过拟合、欠拟合的核心工具。
迹与行列式
迹 (Trace)
方阵 A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n} A∈Rn×n 的迹定义为对角线元素之和:
tr ( A ) = ∑ i = 1 n A i i \text{tr}(\mathbf{A}) = \sum_{i=1}^n \mathbf{A}_{ii} tr(A)=i=1∑nAii
性质:
- 线性性: tr ( A + B ) = tr ( A ) + tr ( B ) \text{tr}(\mathbf{A} + \mathbf{B}) = \text{tr}(\mathbf{A}) + \text{tr}(\mathbf{B}) tr(A+B)=tr(A)+tr(B)
- 循环不变性: tr ( A B C ) = tr ( B C A ) = tr ( C A B ) \text{tr}(\mathbf{ABC}) = \text{tr}(\mathbf{BCA}) = \text{tr}(\mathbf{CAB}) tr(ABC)=tr(BCA)=tr(CAB)(这是矩阵求导的重要技巧)
- tr ( A ) = ∑ i = 1 n λ i \text{tr}(\mathbf{A}) = \sum_{i=1}^n \lambda_i tr(A)=∑i=1nλi(等于所有特征值之和)
行列式 (Determinant)
方阵 A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n} A∈Rn×n 的行列式记为 det ( A ) \det(\mathbf{A}) det(A) 或 ∣ A ∣ |\mathbf{A}| ∣A∣。
几何意义:衡量线性变换对体积的缩放比例。
- 在2D平面, ∣ det ( A ) ∣ |\det(\mathbf{A})| ∣det(A)∣ 是矩阵列向量张成的平行四边形的面积
- 在3D空间, ∣ det ( A ) ∣ |\det(\mathbf{A})| ∣det(A)∣ 是列向量张成的平行六面体的体积
- 若 det ( A ) = 0 \det(\mathbf{A}) = 0 det(A)=0,说明变换将空间压缩到更低维度(矩阵不可逆)
性质:
- det ( A B ) = det ( A ) det ( B ) \det(\mathbf{AB}) = \det(\mathbf{A}) \det(\mathbf{B}) det(AB)=det(A)det(B)
- det ( A T ) = det ( A ) \det(\mathbf{A}^T) = \det(\mathbf{A}) det(AT)=det(A)
- det ( A − 1 ) = 1 det ( A ) \det(\mathbf{A}^{-1}) = \frac{1}{\det(\mathbf{A})} det(A−1)=det(A)1
- det ( c A ) = c n det ( A ) \det(c\mathbf{A}) = c^n \det(\mathbf{A}) det(cA)=cndet(A)( n n n 为矩阵阶数)
2.2 向量空间基础
向量空间是线性代数的核心抽象。理解向量空间的结构,是掌握线性变换、矩阵分解和机器学习算法的基础。
线性组合与张成空间
定义
给定向量 v 1 , v 2 , ... , v k ∈ R n \mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k \in \mathbb{R}^n v1,v2,...,vk∈Rn 和标量 c 1 , c 2 , ... , c k ∈ R c_1, c_2, \ldots, c_k \in \mathbb{R} c1,c2,...,ck∈R,称
v = c 1 v 1 + c 2 v 2 + ⋯ + c k v k \mathbf{v} = c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 + \cdots + c_k \mathbf{v}_k v=c1v1+c2v2+⋯+ckvk
为这些向量的一个线性组合 (Linear Combination)。
张成空间 (Span)
向量集合 { v 1 , ... , v k } \{\mathbf{v}_1, \ldots, \mathbf{v}_k\} {v1,...,vk} 的所有线性组合构成的集合称为张成空间:
span ( v 1 , ... , v k ) = { c 1 v 1 + ⋯ + c k v k ∣ c i ∈ R } \text{span}(\mathbf{v}_1, \ldots, \mathbf{v}_k) = \{c_1 \mathbf{v}_1 + \cdots + c_k \mathbf{v}_k \mid c_i \in \mathbb{R}\} span(v1,...,vk)={c1v1+⋯+ckvk∣ci∈R}
几何直觉:
- 2D平面中,一个非零向量张成一条通过原点的直线
- 两个不共线的向量张成整个2D平面
- 三个不共面的向量张成整个3D空间
意义 :张成空间刻画了"用这些向量能表示的所有位置"。在机器学习中,特征矩阵 A \mathbf{A} A 的列向量张成的空间,就是所有可能的预测值所在的空间。
例子
例1 :在 R 3 \mathbb{R}^3 R3 中,向量 v 1 = [ 1 0 0 ] \mathbf{v}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} v1= 100 和 v 2 = [ 0 1 0 ] \mathbf{v}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} v2= 010 张成的是 x y xy xy 平面(所有形如 [ a b 0 ] \begin{bmatrix} a \\ b \\ 0 \end{bmatrix} ab0 的向量)。
例2 :在 R 2 \mathbb{R}^2 R2 中,向量 v 1 = [ 1 2 ] \mathbf{v}_1 = \begin{bmatrix} 1 \\ 2 \end{bmatrix} v1=[12] 和 v 2 = [ 2 4 ] \mathbf{v}_2 = \begin{bmatrix} 2 \\ 4 \end{bmatrix} v2=[24] 张成的是一条直线(因为 v 2 = 2 v 1 \mathbf{v}_2 = 2\mathbf{v}_1 v2=2v1,它们共线)。任何线性组合 c 1 v 1 + c 2 v 2 = ( c 1 + 2 c 2 ) v 1 c_1\mathbf{v}_1 + c_2\mathbf{v}_2 = (c_1 + 2c_2)\mathbf{v}_1 c1v1+c2v2=(c1+2c2)v1 都在同一直线上。
机器学习直觉:如果特征矩阵的某些列是线性相关的(如身高和体重高度相关),它们张成的空间维度小于列数,存在特征冗余。
线性相关与线性无关
定义
向量组 { v 1 , ... , v k } \{\mathbf{v}_1, \ldots, \mathbf{v}_k\} {v1,...,vk} 称为线性相关 (Linearly Dependent) ,如果存在不全为零的标量 c 1 , ... , c k c_1, \ldots, c_k c1,...,ck,使得:
c 1 v 1 + ⋯ + c k v k = 0 c_1 \mathbf{v}_1 + \cdots + c_k \mathbf{v}_k = \mathbf{0} c1v1+⋯+ckvk=0
否则称为线性无关 (Linearly Independent) (即只有当 c 1 = ⋯ = c k = 0 c_1 = \cdots = c_k = 0 c1=⋯=ck=0 时等式才成立)。
几何直觉:
- 线性相关:某个向量可以由其他向量线性表出,是"冗余"的
- 线性无关:每个向量都提供新的方向,无法被其他向量代替
例子:
- v 1 = [ 1 0 ] \mathbf{v}_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix} v1=[10], v 2 = [ 2 0 ] \mathbf{v}_2 = \begin{bmatrix} 2 \\ 0 \end{bmatrix} v2=[20]:线性相关( v 2 = 2 v 1 \mathbf{v}_2 = 2\mathbf{v}_1 v2=2v1)
- v 1 = [ 1 0 ] \mathbf{v}_1 = \begin{bmatrix} 1 \\ 0 \end{bmatrix} v1=[10], v 2 = [ 0 1 ] \mathbf{v}_2 = \begin{bmatrix} 0 \\ 1 \end{bmatrix} v2=[01]:线性无关
判定方法:
- 将向量作为列组成矩阵 A = [ v 1 ⋯ v k ] \mathbf{A} = [\mathbf{v}_1 \cdots \mathbf{v}_k] A=[v1⋯vk]
- 向量组线性无关 ⇔ \Leftrightarrow ⇔ A \mathbf{A} A 的列满秩 ⇔ \Leftrightarrow ⇔ rank ( A ) = k \text{rank}(\mathbf{A}) = k rank(A)=k
基与维度
基 (Basis)
向量空间 V V V 的一组向量 { b 1 , ... , b n } \{\mathbf{b}_1, \ldots, \mathbf{b}_n\} {b1,...,bn} 称为 V V V 的一组基,如果:
- 它们线性无关
- 它们张成整个空间 V V V
性质:
- 空间中的任意向量都可以唯一地表示为基向量的线性组合
- 同一空间可以有多组不同的基
标准基 : R n \mathbb{R}^n Rn 的标准基是 { e 1 , ... , e n } \{\mathbf{e}_1, \ldots, \mathbf{e}_n\} {e1,...,en},其中 e i \mathbf{e}_i ei 的第 i i i 个分量为1,其余为0。
维度 (Dimension)
向量空间的维度定义为其任意一组基所包含的向量个数(可以证明所有基的向量个数相同)。
记为 dim ( V ) \dim(V) dim(V)。
几何直觉:
- 直线是1维空间(需要1个向量作为基)
- 平面是2维空间(需要2个向量作为基)
- 普通3D空间是3维空间
意义:维度刻画了空间的"自由度"。在机器学习中,特征空间的维度决定了模型的表达能力和所需的数据量。
秩与零化度定理
矩阵的秩 (Rank)
矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n 的秩定义为其线性无关的列向量的最大个数(等价地,也等于线性无关的行向量的最大个数)。
记为 rank ( A ) \text{rank}(\mathbf{A}) rank(A)。
性质:
- rank ( A ) ≤ min ( m , n ) \text{rank}(\mathbf{A}) \leq \min(m, n) rank(A)≤min(m,n)
- rank ( A ) = rank ( A T ) \text{rank}(\mathbf{A}) = \text{rank}(\mathbf{A}^T) rank(A)=rank(AT)(列秩等于行秩)
- rank ( A B ) ≤ min ( rank ( A ) , rank ( B ) ) \text{rank}(\mathbf{AB}) \leq \min(\text{rank}(\mathbf{A}), \text{rank}(\mathbf{B})) rank(AB)≤min(rank(A),rank(B))
- 若 A \mathbf{A} A 可逆,则 rank ( A ) = n \text{rank}(\mathbf{A}) = n rank(A)=n(满秩)
几何意义 :秩刻画了线性变换的"输出维度"。 A \mathbf{A} A 的秩等于其列空间的维度。
零空间 (Null Space)
矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n 的零空间(或核)定义为:
N ( A ) = { x ∈ R n ∣ A x = 0 } \mathcal{N}(\mathbf{A}) = \{\mathbf{x} \in \mathbb{R}^n \mid \mathbf{A}\mathbf{x} = \mathbf{0}\} N(A)={x∈Rn∣Ax=0}
即所有被 A \mathbf{A} A 映射到零向量的向量的集合。
几何直觉:零空间是被线性变换"压缩"到原点的方向。
例子:对于投影矩阵,零空间就是被投影"消灭"的方向(垂直于投影平面的方向)。
零化度 (Nullity)
零空间的维度称为零化度:
nullity ( A ) = dim ( N ( A ) ) \text{nullity}(\mathbf{A}) = \dim(\mathcal{N}(\mathbf{A})) nullity(A)=dim(N(A))
秩-零化度定理 (Rank-Nullity Theorem)
这是线性代数的基本定理之一:
rank ( A ) + nullity ( A ) = n \text{rank}(\mathbf{A}) + \text{nullity}(\mathbf{A}) = n rank(A)+nullity(A)=n
其中 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n。
意义:
- 向量空间被分解为两部分:一部分被变换保留(列空间),另一部分被压缩到零(零空间)
- 在机器学习中,如果特征矩阵不是列满秩,说明存在冗余特征(零空间非空),可能导致参数不唯一
例子 :对于 3 × 5 3 \times 5 3×5 矩阵 A \mathbf{A} A,若 rank ( A ) = 3 \text{rank}(\mathbf{A}) = 3 rank(A)=3,则 nullity ( A ) = 5 − 3 = 2 \text{nullity}(\mathbf{A}) = 5 - 3 = 2 nullity(A)=5−3=2。这意味着存在一个2维的向量子空间被映射到零。
具体例子:考虑矩阵
A = [ 1 0 1 0 1 1 0 0 0 ] \mathbf{A} = \begin{bmatrix} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{bmatrix} A= 100010110
-
秩 :前两列线性无关,第三列是前两列之和,故 rank ( A ) = 2 \text{rank}(\mathbf{A}) = 2 rank(A)=2
-
零空间 :求解 A x = 0 \mathbf{A}\mathbf{x} = \mathbf{0} Ax=0:
1 0 1 0 1 1 0 0 0 \] \[ x 1 x 2 x 3 \] = 0 ⟹ x 1 = − x 3 , x 2 = − x 3 \\begin{bmatrix} 1 \& 0 \& 1 \\\\ 0 \& 1 \& 1 \\\\ 0 \& 0 \& 0 \\end{bmatrix} \\begin{bmatrix} x_1 \\\\ x_2 \\\\ x_3 \\end{bmatrix} = \\mathbf{0} \\implies x_1 = -x_3, \\, x_2 = -x_3 100010110 x1x2x3 =0⟹x1=−x3,x2=−x3 零空间为 N ( A ) = span ( \[ − 1 − 1 1 \] ) \\mathcal{N}(\\mathbf{A}) = \\text{span}\\left(\\begin{bmatrix} -1 \\\\ -1 \\\\ 1 \\end{bmatrix}\\right) N(A)=span −1−11 ,维度为1
四个基本子空间
对于矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n,存在四个基本子空间,它们完整刻画了矩阵的结构。
1. 列空间 (Column Space)
C ( A ) = { A x ∣ x ∈ R n } ⊆ R m \mathcal{C}(\mathbf{A}) = \{\mathbf{A}\mathbf{x} \mid \mathbf{x} \in \mathbb{R}^n\} \subseteq \mathbb{R}^m C(A)={Ax∣x∈Rn}⊆Rm
即矩阵所有列向量的张成空间。
- 维度 : dim ( C ( A ) ) = rank ( A ) \dim(\mathcal{C}(\mathbf{A})) = \text{rank}(\mathbf{A}) dim(C(A))=rank(A)
- 意义 : A x = b \mathbf{A}\mathbf{x} = \mathbf{b} Ax=b 有解 ⇔ \Leftrightarrow ⇔ b ∈ C ( A ) \mathbf{b} \in \mathcal{C}(\mathbf{A}) b∈C(A)
2. 零空间 (Null Space)
N ( A ) = { x ∈ R n ∣ A x = 0 } ⊆ R n \mathcal{N}(\mathbf{A}) = \{\mathbf{x} \in \mathbb{R}^n \mid \mathbf{A}\mathbf{x} = \mathbf{0}\} \subseteq \mathbb{R}^n N(A)={x∈Rn∣Ax=0}⊆Rn
- 维度 : dim ( N ( A ) ) = n − rank ( A ) \dim(\mathcal{N}(\mathbf{A})) = n - \text{rank}(\mathbf{A}) dim(N(A))=n−rank(A)
- 意义 :齐次方程 A x = 0 \mathbf{A}\mathbf{x} = \mathbf{0} Ax=0 的所有解
3. 行空间 (Row Space)
C ( A T ) = { A T y ∣ y ∈ R m } ⊆ R n \mathcal{C}(\mathbf{A}^T) = \{\mathbf{A}^T\mathbf{y} \mid \mathbf{y} \in \mathbb{R}^m\} \subseteq \mathbb{R}^n C(AT)={ATy∣y∈Rm}⊆Rn
即矩阵所有行向量的张成空间(等于 A T \mathbf{A}^T AT 的列空间)。
- 维度 : dim ( C ( A T ) ) = rank ( A ) \dim(\mathcal{C}(\mathbf{A}^T)) = \text{rank}(\mathbf{A}) dim(C(AT))=rank(A)
4. 左零空间 (Left Null Space)
N ( A T ) = { y ∈ R m ∣ A T y = 0 } ⊆ R m \mathcal{N}(\mathbf{A}^T) = \{\mathbf{y} \in \mathbb{R}^m \mid \mathbf{A}^T\mathbf{y} = \mathbf{0}\} \subseteq \mathbb{R}^m N(AT)={y∈Rm∣ATy=0}⊆Rm
等价于 { y ∈ R m ∣ y T A = 0 T } \{\mathbf{y} \in \mathbb{R}^m \mid \mathbf{y}^T\mathbf{A} = \mathbf{0}^T\} {y∈Rm∣yTA=0T},故称左零空间。
- 维度 : dim ( N ( A T ) ) = m − rank ( A ) \dim(\mathcal{N}(\mathbf{A}^T)) = m - \text{rank}(\mathbf{A}) dim(N(AT))=m−rank(A)
四个子空间的正交关系
这是线性代数的核心结构定理:
-
行空间与零空间正交 : C ( A T ) ⊥ N ( A ) \mathcal{C}(\mathbf{A}^T) \perp \mathcal{N}(\mathbf{A}) C(AT)⊥N(A)
它们分别是 R n \mathbb{R}^n Rn 的两个正交补空间, R n = C ( A T ) ⊕ N ( A ) \mathbb{R}^n = \mathcal{C}(\mathbf{A}^T) \oplus \mathcal{N}(\mathbf{A}) Rn=C(AT)⊕N(A)
-
列空间与左零空间正交 : C ( A ) ⊥ N ( A T ) \mathcal{C}(\mathbf{A}) \perp \mathcal{N}(\mathbf{A}^T) C(A)⊥N(AT)
它们分别是 R m \mathbb{R}^m Rm 的两个正交补空间, R m = C ( A ) ⊕ N ( A T ) \mathbb{R}^m = \mathcal{C}(\mathbf{A}) \oplus \mathcal{N}(\mathbf{A}^T) Rm=C(A)⊕N(AT)
几何直觉:
- 任何向量 x ∈ R n \mathbf{x} \in \mathbb{R}^n x∈Rn 都可以唯一分解为 x = x r + x n \mathbf{x} = \mathbf{x}_r + \mathbf{x}_n x=xr+xn,其中 x r ∈ C ( A T ) \mathbf{x}_r \in \mathcal{C}(\mathbf{A}^T) xr∈C(AT), x n ∈ N ( A ) \mathbf{x}_n \in \mathcal{N}(\mathbf{A}) xn∈N(A)
- A \mathbf{A} A 只作用于 x r \mathbf{x}_r xr(行空间分量),而将 x n \mathbf{x}_n xn(零空间分量)映射到零
在机器学习中的意义:
- 列空间是所有可能的预测值
- 零空间对应特征冗余(不影响输出的特征组合)
- 理解这四个子空间有助于分析模型的可解释性、参数唯一性和数值稳定性
2.3 几何视角:度量与正交
线性代数不仅仅是符号操作,更重要的是几何直觉。本节从度量(距离、角度)和正交(垂直)的角度理解向量和矩阵。
范数:从大小到稀疏性
范数 (Norm) 是将向量映射为非负实数的函数,衡量向量的"大小"。一个函数 ∥ ⋅ ∥ \|\cdot\| ∥⋅∥ 是范数,必须满足:
- 非负性: ∥ x ∥ ≥ 0 \|\mathbf{x}\| \geq 0 ∥x∥≥0,且 ∥ x ∥ = 0 ⇔ x = 0 \|\mathbf{x}\| = 0 \Leftrightarrow \mathbf{x} = \mathbf{0} ∥x∥=0⇔x=0
- 齐次性: ∥ c x ∥ = ∣ c ∣ ∥ x ∥ \|c\mathbf{x}\| = |c| \|\mathbf{x}\| ∥cx∥=∣c∣∥x∥
- 三角不等式: ∥ x + y ∥ ≤ ∥ x ∥ + ∥ y ∥ \|\mathbf{x} + \mathbf{y}\| \leq \|\mathbf{x}\| + \|\mathbf{y}\| ∥x+y∥≤∥x∥+∥y∥
1. L2 范数(欧几里得范数)
∥ x ∥ 2 = x 1 2 + x 2 2 + ⋯ + x n 2 = x T x \|\mathbf{x}\|_2 = \sqrt{x_1^2 + x_2^2 + \cdots + x_n^2} = \sqrt{\mathbf{x}^T\mathbf{x}} ∥x∥2=x12+x22+⋯+xn2 =xTx
几何意义:向量的欧氏长度,从原点到该点的直线距离。
性质:
- 平滑可微(在 x ≠ 0 \mathbf{x} \neq \mathbf{0} x=0 时)
- 满足柯西-施瓦茨不等式: ∣ x T y ∣ ≤ ∥ x ∥ 2 ∥ y ∥ 2 |\mathbf{x}^T\mathbf{y}| \leq \|\mathbf{x}\|_2 \|\mathbf{y}\|_2 ∣xTy∣≤∥x∥2∥y∥2
应用:最常用的范数,岭回归(L2正则化)通过最小化参数的L2范数防止过拟合。
2. L1 范数(曼哈顿范数)
∥ x ∥ 1 = ∣ x 1 ∣ + ∣ x 2 ∣ + ⋯ + ∣ x n ∣ \|\mathbf{x}\|_1 = |x_1| + |x_2| + \cdots + |x_n| ∥x∥1=∣x1∣+∣x2∣+⋯+∣xn∣
几何意义:各坐标分量绝对值之和,类似于城市街区的曼哈顿距离(只能沿坐标轴方向移动)。
关键性质 :稀疏诱导性
- L1范数的等高线在坐标轴上有"尖角"
- 在优化中,约束或惩罚项使用L1范数时,解倾向于落在坐标轴上(部分分量为零)
- 这是Lasso回归实现特征选择的数学原理
应用:Lasso回归(L1正则化)用于特征选择,压缩感知。
3. L∞ 范数(最大范数)
∥ x ∥ ∞ = max i ∣ x i ∣ \|\mathbf{x}\|_\infty = \max_i |x_i| ∥x∥∞=imax∣xi∣
几何意义:向量中绝对值最大的分量。
应用:鲁棒优化、对抗训练中关注最坏情况。
4. Lp 范数的一般形式
∥ x ∥ p = ( ∑ i = 1 n ∣ x i ∣ p ) 1 / p \|\mathbf{x}\|p = \left(\sum{i=1}^n |x_i|^p\right)^{1/p} ∥x∥p=(i=1∑n∣xi∣p)1/p
当 p → ∞ p \to \infty p→∞ 时, ∥ x ∥ p → ∥ x ∥ ∞ \|\mathbf{x}\|p \to \|\mathbf{x}\|\infty ∥x∥p→∥x∥∞。
Frobenius 范数(矩阵范数)
对于矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n:
∥ A ∥ F = ∑ i = 1 m ∑ j = 1 n A i j 2 = tr ( A T A ) \|\mathbf{A}\|F = \sqrt{\sum{i=1}^m \sum_{j=1}^n \mathbf{A}_{ij}^2} = \sqrt{\text{tr}(\mathbf{A}^T\mathbf{A})} ∥A∥F=i=1∑mj=1∑nAij2 =tr(ATA)
相当于将矩阵视为 m n mn mn 维向量的L2范数。
应用:矩阵低秩近似的误差度量(SVD中的Eckart-Young定理)。
内积与角度
内积的几何意义
对于 R n \mathbb{R}^n Rn 中的向量 x , y \mathbf{x}, \mathbf{y} x,y,其内积与角度的关系为:
x T y = ∥ x ∥ 2 ∥ y ∥ 2 cos θ \mathbf{x}^T \mathbf{y} = \|\mathbf{x}\|_2 \|\mathbf{y}\|_2 \cos \theta xTy=∥x∥2∥y∥2cosθ
其中 θ \theta θ 是两向量的夹角( 0 ≤ θ ≤ π 0 \leq \theta \leq \pi 0≤θ≤π)。
推论:
- θ = 0 \theta = 0 θ=0(同向): x T y = ∥ x ∥ 2 ∥ y ∥ 2 \mathbf{x}^T \mathbf{y} = \|\mathbf{x}\|_2 \|\mathbf{y}\|_2 xTy=∥x∥2∥y∥2(内积最大)
- θ = π / 2 \theta = \pi/2 θ=π/2(垂直): x T y = 0 \mathbf{x}^T \mathbf{y} = 0 xTy=0
- θ = π \theta = \pi θ=π(反向): x T y = − ∥ x ∥ 2 ∥ y ∥ 2 \mathbf{x}^T \mathbf{y} = -\|\mathbf{x}\|_2 \|\mathbf{y}\|_2 xTy=−∥x∥2∥y∥2(内积最小)
余弦相似度
当向量归一化后( ∥ x ∥ 2 = ∥ y ∥ 2 = 1 \|\mathbf{x}\|_2 = \|\mathbf{y}\|_2 = 1 ∥x∥2=∥y∥2=1),内积即为余弦相似度:
similarity ( x , y ) = cos θ = x T y \text{similarity}(\mathbf{x}, \mathbf{y}) = \cos \theta = \mathbf{x}^T \mathbf{y} similarity(x,y)=cosθ=xTy
应用:
- 文本挖掘中的文档相似度计算
- 推荐系统中的用户/物品相似度
- 神经网络中的注意力机制
正交与正交矩阵
正交向量
两个向量 x , y \mathbf{x}, \mathbf{y} x,y 称为正交 (Orthogonal),如果:
x T y = 0 \mathbf{x}^T \mathbf{y} = 0 xTy=0
几何意义:两向量垂直(夹角90度)。
标准正交向量组
向量组 { q 1 , ... , q k } \{\mathbf{q}_1, \ldots, \mathbf{q}_k\} {q1,...,qk} 称为标准正交 (Orthonormal),如果:
q i T q j = { 1 if i = j 0 if i ≠ j \mathbf{q}_i^T \mathbf{q}_j = \begin{cases} 1 & \text{if } i = j \\ 0 & \text{if } i \neq j \end{cases} qiTqj={10if i=jif i=j
即每个向量长度为1,且两两正交。
矩阵形式 :若将标准正交向量组排列为矩阵 Q = [ q 1 ⋯ q k ] \mathbf{Q} = [\mathbf{q}_1 \cdots \mathbf{q}_k] Q=[q1⋯qk],则:
Q T Q = I k \mathbf{Q}^T\mathbf{Q} = \mathbf{I}_k QTQ=Ik
正交矩阵 (Orthogonal Matrix)
方阵 Q ∈ R n × n \mathbf{Q} \in \mathbb{R}^{n \times n} Q∈Rn×n 称为正交矩阵,如果:
Q T Q = Q Q T = I \mathbf{Q}^T\mathbf{Q} = \mathbf{Q}\mathbf{Q}^T = \mathbf{I} QTQ=QQT=I
等价地, Q T = Q − 1 \mathbf{Q}^T = \mathbf{Q}^{-1} QT=Q−1。
性质:
- Q \mathbf{Q} Q 的列向量构成 R n \mathbb{R}^n Rn 的一组标准正交基
- Q \mathbf{Q} Q 的行向量也构成标准正交基
- det ( Q ) = ± 1 \det(\mathbf{Q}) = \pm 1 det(Q)=±1
- 保持长度 : ∥ Q x ∥ 2 = ∥ x ∥ 2 \|\mathbf{Q}\mathbf{x}\|_2 = \|\mathbf{x}\|_2 ∥Qx∥2=∥x∥2
- 保持内积 : ( Q x ) T ( Q y ) = x T y (\mathbf{Q}\mathbf{x})^T(\mathbf{Q}\mathbf{y}) = \mathbf{x}^T\mathbf{y} (Qx)T(Qy)=xTy
- 保持角度:正交变换不改变向量间的夹角
几何意义 :正交矩阵代表旋转 或反射变换(或两者的组合)。它们是保持形状和大小、仅改变方向的"刚体变换"。
例子:
- 2D旋转矩阵: Q = [ cos θ − sin θ sin θ cos θ ] \mathbf{Q} = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} Q=[cosθsinθ−sinθcosθ]
- 镜像反射: Q = [ 1 0 0 − 1 ] \mathbf{Q} = \begin{bmatrix} 1 & 0 \\ 0 & -1 \end{bmatrix} Q=[100−1]
在机器学习中的意义:
- SVD和特征值分解中的 U , V , Q \mathbf{U}, \mathbf{V}, \mathbf{Q} U,V,Q 都是正交矩阵
- 正交变换保持数据的几何结构,不会引入数值误差的放大
- PCA中的主成分方向构成正交基
正交投影:完整推导
正交投影是线性代数中最重要的几何概念之一,也是线性回归、最小二乘法、PCA等算法的数学基础。
问题设定
给定向量 y ∈ R m \mathbf{y} \in \mathbb{R}^m y∈Rm 和子空间 S ⊆ R m \mathcal{S} \subseteq \mathbb{R}^m S⊆Rm(例如由矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n 的列向量张成),求 S \mathcal{S} S 中距离 y \mathbf{y} y 最近的向量 y ^ \hat{\mathbf{y}} y^。
几何直觉
在2D平面上,向量 y \mathbf{y} y 在直线 S \mathcal{S} S 上的投影,就是从 y \mathbf{y} y 的端点向直线作垂线,垂足对应的向量就是投影 y ^ \hat{\mathbf{y}} y^。投影是直线上距离 y \mathbf{y} y 最近的点。
关键观察:误差向量 e = y − y ^ \mathbf{e} = \mathbf{y} - \hat{\mathbf{y}} e=y−y^ 必定垂直于 子空间 S \mathcal{S} S。
数学推导
设子空间 S = C ( A ) \mathcal{S} = \mathcal{C}(\mathbf{A}) S=C(A)( A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n 列满秩),我们寻找 x ∈ R n \mathbf{x} \in \mathbb{R}^n x∈Rn 使得:
y ^ = A x \hat{\mathbf{y}} = \mathbf{A}\mathbf{x} y^=Ax
关键条件 :误差向量 e = y − A x \mathbf{e} = \mathbf{y} - \mathbf{A}\mathbf{x} e=y−Ax 垂直于 C ( A ) \mathcal{C}(\mathbf{A}) C(A) 中的所有向量。
即对于 A \mathbf{A} A 的每一列 a i \mathbf{a}_i ai,都有:
a i T ( y − A x ) = 0 \mathbf{a}_i^T (\mathbf{y} - \mathbf{A}\mathbf{x}) = 0 aiT(y−Ax)=0
写成矩阵形式:
A T ( y − A x ) = 0 \mathbf{A}^T (\mathbf{y} - \mathbf{A}\mathbf{x}) = \mathbf{0} AT(y−Ax)=0
展开得到正规方程 (Normal Equation):
A T A x = A T y \mathbf{A}^T \mathbf{A} \mathbf{x} = \mathbf{A}^T \mathbf{y} ATAx=ATy
当 A \mathbf{A} A 列满秩时, A T A \mathbf{A}^T\mathbf{A} ATA 可逆,解为:
x = ( A T A ) − 1 A T y \mathbf{x} = (\mathbf{A}^T\mathbf{A})^{-1} \mathbf{A}^T \mathbf{y} x=(ATA)−1ATy
投影向量为:
y ^ = A x = A ( A T A ) − 1 A T y \hat{\mathbf{y}} = \mathbf{A}\mathbf{x} = \mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T \mathbf{y} y^=Ax=A(ATA)−1ATy
投影矩阵
定义投影矩阵 (Projection Matrix):
P = A ( A T A ) − 1 A T \mathbf{P} = \mathbf{A}(\mathbf{A}^T\mathbf{A})^{-1}\mathbf{A}^T P=A(ATA)−1AT
则投影可以简写为:
y ^ = P y \hat{\mathbf{y}} = \mathbf{P}\mathbf{y} y^=Py
投影矩阵的性质:
- 对称性 : P T = P \mathbf{P}^T = \mathbf{P} PT=P
- 幂等性 : P 2 = P \mathbf{P}^2 = \mathbf{P} P2=P(投影两次等于投影一次)
- 秩 : rank ( P ) = rank ( A ) = n \text{rank}(\mathbf{P}) = \text{rank}(\mathbf{A}) = n rank(P)=rank(A)=n
- 特征值 :只有0和1(维度为 n n n 的特征值1, m − n m-n m−n 个特征值0)
误差向量
误差向量为:
e = y − y ^ = y − P y = ( I − P ) y \mathbf{e} = \mathbf{y} - \hat{\mathbf{y}} = \mathbf{y} - \mathbf{P}\mathbf{y} = (\mathbf{I} - \mathbf{P})\mathbf{y} e=y−y^=y−Py=(I−P)y
I − P \mathbf{I} - \mathbf{P} I−P 是正交补投影矩阵 ,将 y \mathbf{y} y 投影到 C ( A ) \mathcal{C}(\mathbf{A}) C(A) 的正交补空间 N ( A T ) \mathcal{N}(\mathbf{A}^T) N(AT)。
最小二乘解释
最小化误差的平方和:
min x ∥ y − A x ∥ 2 2 \min_{\mathbf{x}} \|\mathbf{y} - \mathbf{A}\mathbf{x}\|_2^2 xmin∥y−Ax∥22
对 x \mathbf{x} x 求导并令其为零:
∂ ∂ x ∥ y − A x ∥ 2 2 = − 2 A T ( y − A x ) = 0 \frac{\partial}{\partial \mathbf{x}} \|\mathbf{y} - \mathbf{A}\mathbf{x}\|_2^2 = -2\mathbf{A}^T(\mathbf{y} - \mathbf{A}\mathbf{x}) = \mathbf{0} ∂x∂∥y−Ax∥22=−2AT(y−Ax)=0
得到同样的正规方程 A T A x = A T y \mathbf{A}^T\mathbf{A}\mathbf{x} = \mathbf{A}^T\mathbf{y} ATAx=ATy。
结论:正交投影给出最小二乘问题的解。
在线性回归中的应用
线性回归模型 y = X β + ϵ \mathbf{y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\epsilon} y=Xβ+ϵ 的目标是找到参数 β \boldsymbol{\beta} β 使得预测值 y ^ = X β \hat{\mathbf{y}} = \mathbf{X}\boldsymbol{\beta} y^=Xβ 最接近真实值 y \mathbf{y} y。
这正是 y \mathbf{y} y 在列空间 C ( X ) \mathcal{C}(\mathbf{X}) C(X) 上的正交投影问题,解为:
β ^ = ( X T X ) − 1 X T y \hat{\boldsymbol{\beta}} = (\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y} β^=(XTX)−1XTy
预测值为:
y ^ = X β ^ = X ( X T X ) − 1 X T y \hat{\mathbf{y}} = \mathbf{X}\hat{\boldsymbol{\beta}} = \mathbf{X}(\mathbf{X}^T\mathbf{X})^{-1}\mathbf{X}^T\mathbf{y} y^=Xβ^=X(XTX)−1XTy
残差 e = y − y ^ \mathbf{e} = \mathbf{y} - \hat{\mathbf{y}} e=y−y^ 垂直于特征空间。
几何图景:
- 特征矩阵 X \mathbf{X} X 的列向量张成一个子空间(特征空间)
- 真实标签 y \mathbf{y} y 通常不在这个子空间内(否则模型可以完美拟合)
- 最优预测 y ^ \hat{\mathbf{y}} y^ 是 y \mathbf{y} y 在特征空间上的正交投影
- 残差向量垂直于特征空间,代表"无法用当前特征解释的部分"
Gram-Schmidt 正交化
给定一组线性无关的向量 { a 1 , ... , a n } \{\mathbf{a}_1, \ldots, \mathbf{a}_n\} {a1,...,an},Gram-Schmidt 算法将其转化为一组标准正交向量 { q 1 , ... , q n } \{\mathbf{q}_1, \ldots, \mathbf{q}_n\} {q1,...,qn}。
算法步骤:
-
第一个向量标准化 :
q 1 = a 1 ∥ a 1 ∥ 2 \mathbf{q}_1 = \frac{\mathbf{a}_1}{\|\mathbf{a}_1\|_2} q1=∥a1∥2a1 -
对于第 k k k 个向量 ( k = 2 , ... , n k = 2, \ldots, n k=2,...,n):
-
正交化 :从 a k \mathbf{a}_k ak 中减去其在已有正交向量上的投影
v k = a k − ∑ j = 1 k − 1 ( q j T a k ) q j \mathbf{v}_k = \mathbf{a}k - \sum{j=1}^{k-1} (\mathbf{q}_j^T \mathbf{a}_k) \mathbf{q}_j vk=ak−j=1∑k−1(qjTak)qj -
标准化 :
q k = v k ∥ v k ∥ 2 \mathbf{q}_k = \frac{\mathbf{v}_k}{\|\mathbf{v}_k\|_2} qk=∥vk∥2vk
-
几何直觉:
- a k \mathbf{a}k ak 在 span ( q 1 , ... , q k − 1 ) \text{span}(\mathbf{q}1, \ldots, \mathbf{q}{k-1}) span(q1,...,qk−1) 上的投影为 ∑ j = 1 k − 1 ( q j T a k ) q j \sum{j=1}^{k-1} (\mathbf{q}_j^T \mathbf{a}_k) \mathbf{q}_j ∑j=1k−1(qjTak)qj
- v k \mathbf{v}_k vk 是 a k \mathbf{a}_k ak 的"新方向"部分(垂直于已有的正交基)
- 标准化后得到单位向量 q k \mathbf{q}_k qk
例子 :在 R 2 \mathbb{R}^2 R2 中,给定 a 1 = [ 3 4 ] \mathbf{a}_1 = \begin{bmatrix} 3 \\ 4 \end{bmatrix} a1=[34], a 2 = [ 1 1 ] \mathbf{a}_2 = \begin{bmatrix} 1 \\ 1 \end{bmatrix} a2=[11]
-
q 1 = 1 5 [ 3 4 ] \mathbf{q}_1 = \frac{1}{5}\begin{bmatrix} 3 \\ 4 \end{bmatrix} q1=51[34]
-
v 2 = a 2 − ( q 1 T a 2 ) q 1 = [ 1 1 ] − 7 5 ⋅ 1 5 [ 3 4 ] = [ 4 / 25 − 3 / 25 ] \mathbf{v}_2 = \mathbf{a}_2 - (\mathbf{q}_1^T \mathbf{a}_2) \mathbf{q}_1 = \begin{bmatrix} 1 \\ 1 \end{bmatrix} - \frac{7}{5} \cdot \frac{1}{5}\begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 4/25 \\ -3/25 \end{bmatrix} v2=a2−(q1Ta2)q1=[11]−57⋅51[34]=[4/25−3/25]
-
q 2 = 1 5 [ 4 − 3 ] \mathbf{q}_2 = \frac{1}{5}\begin{bmatrix} 4 \\ -3 \end{bmatrix} q2=51[4−3]
验证: q 1 T q 2 = 0 \mathbf{q}_1^T \mathbf{q}_2 = 0 q1Tq2=0, ∥ q 1 ∥ 2 = ∥ q 2 ∥ 2 = 1 \|\mathbf{q}_1\|_2 = \|\mathbf{q}_2\|_2 = 1 ∥q1∥2=∥q2∥2=1。
数值稳定性:
- 经典Gram-Schmidt算法数值不稳定(舍入误差累积)
- 修正Gram-Schmidt (MGS) 改变投影顺序,更稳定
- 实践中更常用 Householder 反射 或 Givens 旋转 进行正交化(QR分解的基础)
应用:
- QR 分解的构造性算法
- 计算正交基和正交投影
- 数值线性代数中的预处理