奇异值分解(SVD)存在性证明与低秩逼近完整推导
一、公式作用概述
奇异值分解(Singular Value Decomposition, SVD) 是线性代数中最强大的矩阵分解工具之一。它证明了:任意实矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A ∈ R m × n (无论方阵、长方阵、满秩或秩亏)都必然存在 分解 A = U Σ V ⊤ \mathbf{A} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top} A = UΣ V ⊤ ,其中 U \mathbf{U} U 和 V \mathbf{V} V 是正交矩阵,Σ \mathbf{\Sigma} Σ 是非负对角矩阵。当矩阵 A \mathbf{A} A 是不满秩矩阵(Rank-deficient Matrix) ——即秩 r < min ( m , n ) r < \min(m,n) r < min ( m , n ) 时——其 SVD 中只有前 r r r 个奇异值非零,其余均为零。这意味着我们可以用仅含 r r r 个非零分量的紧凑分解来完全等价地 表示原矩阵,或者用更少的 k < r k < r k < r 个分量构造最优低秩逼近 A k \mathbf{A}_k A k ,在控制误差的前提下大幅降低存储与计算开销。这一性质是数据降维、图像压缩、推荐系统、噪声过滤以及大模型低秩适配(LoRA)等技术的数学基石。
二、完整推导过程
步骤 0:问题设定与目标
已知 :给定任意实矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A ∈ R m × n ,其中 m m m 为行数,n n n 为列数。不失一般性,先假设 m ≥ n m \geq n m ≥ n ;若 m < n m < n m < n ,只需对转置矩阵 A ⊤ ∈ R n × m \mathbf{A}^{\top} \in \mathbb{R}^{n \times m} A ⊤ ∈ R n × m 完成分解后再转置即可。
目标 :严格证明存在正交矩阵 U ∈ R m × m \mathbf{U} \in \mathbb{R}^{m \times m} U ∈ R m × m (满足 U ⊤ U = I m \mathbf{U}^{\top}\mathbf{U} = \mathbf{I}_m U ⊤ U = I m )、正交矩阵 V ∈ R n × n \mathbf{V} \in \mathbb{R}^{n \times n} V ∈ R n × n (满足 V ⊤ V = I n \mathbf{V}^{\top}\mathbf{V} = \mathbf{I}_n V ⊤ V = I n ),以及对角矩阵 Σ ∈ R m × n \mathbf{\Sigma} \in \mathbb{R}^{m \times n} Σ ∈ R m × n (其对角线元素 σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r > 0 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r > 0 ,且 r = r a n k ( A ) r = \mathrm{rank}(\mathbf{A}) r = rank ( A ) ),使得:
A = U Σ V ⊤ \mathbf{A} = \mathbf{U} \mathbf{\Sigma} \mathbf{V}^{\top}
A = UΣ V ⊤
【知识卡片:矩阵转置】
定义 :矩阵 A \mathbf{A} A 的转置 A ⊤ \mathbf{A}^{\top} A ⊤ 是将 A \mathbf{A} A 的行与列互换得到的新矩阵。若 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A ∈ R m × n ,则 A ⊤ ∈ R n × m \mathbf{A}^{\top} \in \mathbb{R}^{n \times m} A ⊤ ∈ R n × m ,其元素满足 ( A ⊤ ) j , i = A i , j (\mathbf{A}^{\top})_{j,i} = A_{i,j} ( A ⊤ ) j , i = A i , j 。
公式 :A ⊤ \mathbf{A}^{\top} A ⊤ 的第 j j j 行第 i i i 列元素等于 A \mathbf{A} A 的第 i i i 行第 j j j 列元素。
本步作用 :通过转置将任意矩阵 A \mathbf{A} A 转化为方阵 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A ,从而可以应用特征值理论。
【小例子:矩阵转置】
假设 A = ( 3 1 0 2 1 1 ) ∈ R 3 × 2 \mathbf{A} = \begin{pmatrix} 3 & 1 \\ 0 & 2 \\ 1 & 1 \end{pmatrix} \in \mathbb{R}^{3 \times 2} A = 3 0 1 1 2 1 ∈ R 3 × 2 。
则 A ⊤ = ( 3 0 1 1 2 1 ) ∈ R 2 × 3 \mathbf{A}^{\top} = \begin{pmatrix} 3 & 0 & 1 \\ 1 & 2 & 1 \end{pmatrix} \in \mathbb{R}^{2 \times 3} A ⊤ = ( 3 1 0 2 1 1 ) ∈ R 2 × 3 。
例如原矩阵第 2 行第 1 列的元素是 0 0 0 ,转置后它出现在第 1 行第 2 列。这对应了推导中从 A \mathbf{A} A 构造对称方阵的操作。
步骤 1:构造对称半正定矩阵 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A
为什么要做这一步 :任意矩阵 A \mathbf{A} A 本身不一定是方阵,无法直接求特征值。但 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 一定是 n × n n \times n n × n 的方阵,且具有良好的对称性,可以应用谱定理。
计算 :
C ≜ A ⊤ A ∈ R n × n \mathbf{C} \triangleq \mathbf{A}^{\top}\mathbf{A} \in \mathbb{R}^{n \times n}
C ≜ A ⊤ A ∈ R n × n
验证对称性 :
C ⊤ = ( A ⊤ A ) ⊤ = A ⊤ ( A ⊤ ) ⊤ = A ⊤ A = C \mathbf{C}^{\top} = (\mathbf{A}^{\top}\mathbf{A})^{\top} = \mathbf{A}^{\top}(\mathbf{A}^{\top})^{\top} = \mathbf{A}^{\top}\mathbf{A} = \mathbf{C}
C ⊤ = ( A ⊤ A ) ⊤ = A ⊤ ( A ⊤ ) ⊤ = A ⊤ A = C
依据 :矩阵转置的逆序律 ( X Y ) ⊤ = Y ⊤ X ⊤ (\mathbf{XY})^{\top} = \mathbf{Y}^{\top}\mathbf{X}^{\top} ( XY ) ⊤ = Y ⊤ X ⊤ ,以及 ( A ⊤ ) ⊤ = A (\mathbf{A}^{\top})^{\top} = \mathbf{A} ( A ⊤ ) ⊤ = A 。
验证半正定性 :对任意向量 x ∈ R n \mathbf{x} \in \mathbb{R}^{n} x ∈ R n ,
x ⊤ C x = x ⊤ A ⊤ A x = ( A x ) ⊤ ( A x ) = ∥ A x ∥ 2 2 ≥ 0 \mathbf{x}^{\top}\mathbf{C}\mathbf{x} = \mathbf{x}^{\top}\mathbf{A}^{\top}\mathbf{A}\mathbf{x} = (\mathbf{A}\mathbf{x})^{\top}(\mathbf{A}\mathbf{x}) = \|\mathbf{A}\mathbf{x}\|_2^2 \geq 0
x ⊤ Cx = x ⊤ A ⊤ Ax = ( Ax ) ⊤ ( Ax ) = ∥ Ax ∥ 2 2 ≥ 0
依据 :向量 2-范数的平方非负,即 ∥ y ∥ 2 2 ≥ 0 \|\mathbf{y}\|_2^2 \geq 0 ∥ y ∥ 2 2 ≥ 0 。
【知识卡片:对称矩阵】
定义 :若方阵 M ∈ R n × n \mathbf{M} \in \mathbb{R}^{n \times n} M ∈ R n × n 满足 M ⊤ = M \mathbf{M}^{\top} = \mathbf{M} M ⊤ = M ,则称 M \mathbf{M} M 为对称矩阵。对称矩阵的元素关于主对角线镜像相等,即 M i , j = M j , i M_{i,j} = M_{j,i} M i , j = M j , i 。
公式 :M \mathbf{M} M 对称 ⇔ M ⊤ = M \Leftrightarrow \mathbf{M}^{\top} = \mathbf{M} ⇔ M ⊤ = M 。
本步作用 :对称矩阵保证特征向量可以选为标准正交的,且特征值都是实数,这是应用谱定理的前提。
【知识卡片:半正定矩阵】
定义 :对称矩阵 M \mathbf{M} M 称为半正定(Positive Semi-Definite, PSD),若对所有向量 x ∈ R n \mathbf{x} \in \mathbb{R}^{n} x ∈ R n 都有 x ⊤ M x ≥ 0 \mathbf{x}^{\top}\mathbf{M}\mathbf{x} \geq 0 x ⊤ Mx ≥ 0 。其几何含义是:以 M \mathbf{M} M 为二次型的"能量"永不取负值。
公式 :M ⪰ 0 ⇔ ∀ x ∈ R n , x ⊤ M x ≥ 0 \mathbf{M} \succeq \mathbf{0} \Leftrightarrow \forall \mathbf{x} \in \mathbb{R}^{n}, \mathbf{x}^{\top}\mathbf{M}\mathbf{x} \geq 0 M ⪰ 0 ⇔ ∀ x ∈ R n , x ⊤ Mx ≥ 0 。
本步作用 :保证 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的所有特征值 λ i ≥ 0 \lambda_i \geq 0 λ i ≥ 0 ,从而可以开平方得到非负的奇异值 σ i = λ i \sigma_i = \sqrt{\lambda_i} σ i = λ i 。
【小例子:对称与半正定验证】
假设 A = ( 3 1 0 2 1 1 ) \mathbf{A} = \begin{pmatrix} 3 & 1 \\ 0 & 2 \\ 1 & 1 \end{pmatrix} A = 3 0 1 1 2 1 ,则
A ⊤ A = ( 10 4 4 6 ) \mathbf{A}^{\top}\mathbf{A} = \begin{pmatrix} 10 & 4 \\ 4 & 6 \end{pmatrix}
A ⊤ A = ( 10 4 4 6 )
验证对称:( A ⊤ A ) 1 , 2 = 4 = ( A ⊤ A ) 2 , 1 (\mathbf{A}^{\top}\mathbf{A})_{1,2} = 4 = (\mathbf{A}^{\top}\mathbf{A})_{2,1} ( A ⊤ A ) 1 , 2 = 4 = ( A ⊤ A ) 2 , 1 ,确实对称。
验证半正定:对任意 x = ( x 1 x 2 ) \mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} x = ( x 1 x 2 ) ,
x ⊤ A ⊤ A x = 10 x 1 2 + 8 x 1 x 2 + 6 x 2 2 = ( 3 x 1 + x 2 ) 2 + ( 2 x 2 ) 2 + ( x 1 + x 2 ) 2 ≥ 0 \mathbf{x}^{\top}\mathbf{A}^{\top}\mathbf{A}\mathbf{x} = 10x_1^2 + 8x_1x_2 + 6x_2^2 = (3x_1+x_2)^2 + (2x_2)^2 + (x_1+x_2)^2 \geq 0
x ⊤ A ⊤ Ax = 10 x 1 2 + 8 x 1 x 2 + 6 x 2 2 = ( 3 x 1 + x 2 ) 2 + ( 2 x 2 ) 2 + ( x 1 + x 2 ) 2 ≥ 0
这正好对应了推导中 ∥ A x ∥ 2 2 ≥ 0 \|\mathbf{A}\mathbf{x}\|_2^2 \geq 0 ∥ Ax ∥ 2 2 ≥ 0 的结论。
步骤 2:对 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 应用谱定理进行特征值分解
依据 :谱定理(Spectral Theorem) ——任何实对称矩阵 C ∈ R n × n \mathbf{C} \in \mathbb{R}^{n \times n} C ∈ R n × n 都可以被正交对角化。即存在由标准正交特征向量组成的正交矩阵 V ∈ R n × n \mathbf{V} \in \mathbb{R}^{n \times n} V ∈ R n × n 和实对角矩阵 Λ ∈ R n × n \mathbf{\Lambda} \in \mathbb{R}^{n \times n} Λ ∈ R n × n ,使得:
A ⊤ A = V Λ V ⊤ \mathbf{A}^{\top}\mathbf{A} = \mathbf{V} \mathbf{\Lambda} \mathbf{V}^{\top}
A ⊤ A = VΛ V ⊤
其中:
V = [ v 1 , v 2 , … , v n ] \mathbf{V} = [\mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n] V = [ v 1 , v 2 , … , v n ] ,列向量 v i ∈ R n \mathbf{v}_i \in \mathbb{R}^{n} v i ∈ R n 满足 v i ⊤ v j = δ i , j \mathbf{v}_i^{\top}\mathbf{v}_j = \delta_{i,j} v i ⊤ v j = δ i , j (克罗内克 delta,当 i = j i=j i = j 时为 1,否则为 0)。
Λ = d i a g ( λ 1 , λ 2 , … , λ n ) \mathbf{\Lambda} = \mathrm{diag}(\lambda_1, \lambda_2, \dots, \lambda_n) Λ = diag ( λ 1 , λ 2 , … , λ n ) ,且 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ n ≥ 0 \lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_n \geq 0 λ 1 ≥ λ 2 ≥ ⋯ ≥ λ n ≥ 0 。
由于 r a n k ( A ) = r \mathrm{rank}(\mathbf{A}) = r rank ( A ) = r ,恰好有 λ 1 ≥ ⋯ ≥ λ r > 0 \lambda_1 \geq \cdots \geq \lambda_r > 0 λ 1 ≥ ⋯ ≥ λ r > 0 且 λ r + 1 = ⋯ = λ n = 0 \lambda_{r+1} = \cdots = \lambda_n = 0 λ r + 1 = ⋯ = λ n = 0 。
【知识卡片:特征值与特征向量】
定义 :对于方阵 M \mathbf{M} M ,若存在标量 λ \lambda λ 和非零向量 v \mathbf{v} v 使得 M v = λ v \mathbf{M}\mathbf{v} = \lambda\mathbf{v} Mv = λ v ,则称 λ \lambda λ 为 M \mathbf{M} M 的特征值,v \mathbf{v} v 为对应的特征向量。几何上,特征向量是经 M \mathbf{M} M 变换后方向不变 (或反向)的特殊向量,仅被伸缩了 λ \lambda λ 倍。
公式 :M v = λ v \mathbf{M}\mathbf{v} = \lambda\mathbf{v} Mv = λ v ,其中 v ≠ 0 \mathbf{v} \neq \mathbf{0} v = 0 。
本步作用 :将 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的"作用方向"分解为 n n n 个互相垂直的主轴方向 v i \mathbf{v}_i v i ,每个方向上的伸缩倍率为 λ i \lambda_i λ i 。
【知识卡片:谱定理(对称矩阵的正交对角化)】
定义 :任何实对称矩阵都存在一组标准正交的特征向量基,使得矩阵在该基下表现为对角矩阵。这是线性代数中最强大的分解定理之一。
公式 :M = V Λ V ⊤ = ∑ i = 1 n λ i v i v i ⊤ \mathbf{M} = \mathbf{V}\mathbf{\Lambda}\mathbf{V}^{\top} = \sum_{i=1}^{n} \lambda_i \mathbf{v}_i \mathbf{v}_i^{\top} M = VΛ V ⊤ = ∑ i = 1 n λ i v i v i ⊤ ,其中 V ⊤ V = I n \mathbf{V}^{\top}\mathbf{V} = \mathbf{I}_n V ⊤ V = I n 。
本步作用 :保证 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 一定能分解成旋转矩阵 V \mathbf{V} V 与对角伸缩矩阵 Λ \mathbf{\Lambda} Λ 的乘积,为定义奇异值奠定基础。
【小例子:对称矩阵的特征值分解】
假设 A ⊤ A = ( 10 4 4 6 ) \mathbf{A}^{\top}\mathbf{A} = \begin{pmatrix} 10 & 4 \\ 4 & 6 \end{pmatrix} A ⊤ A = ( 10 4 4 6 ) (接上一个例子)。
求解特征方程 det ( A ⊤ A − λ I ) = 0 \det(\mathbf{A}^{\top}\mathbf{A} - \lambda\mathbf{I}) = 0 det ( A ⊤ A − λ I ) = 0 :
det ( 10 − λ 4 4 6 − λ ) = ( 10 − λ ) ( 6 − λ ) − 16 = λ 2 − 16 λ + 44 = 0 \det\begin{pmatrix} 10-\lambda & 4 \\ 4 & 6-\lambda \end{pmatrix} = (10-\lambda)(6-\lambda) - 16 = \lambda^2 - 16\lambda + 44 = 0
det ( 10 − λ 4 4 6 − λ ) = ( 10 − λ ) ( 6 − λ ) − 16 = λ 2 − 16 λ + 44 = 0
解得 λ 1 = 8 + 2 5 ≈ 12.47 \lambda_1 = 8 + 2\sqrt{5} \approx 12.47 λ 1 = 8 + 2 5 ≈ 12.47 ,λ 2 = 8 − 2 5 ≈ 3.53 \lambda_2 = 8 - 2\sqrt{5} \approx 3.53 λ 2 = 8 − 2 5 ≈ 3.53 。
对应特征向量经归一化后约为 v 1 ≈ ( 0.85 0.53 ) \mathbf{v}_1 \approx \begin{pmatrix} 0.85 \\ 0.53 \end{pmatrix} v 1 ≈ ( 0.85 0.53 ) ,v 2 ≈ ( − 0.53 0.85 ) \mathbf{v}_2 \approx \begin{pmatrix} -0.53 \\ 0.85 \end{pmatrix} v 2 ≈ ( − 0.53 0.85 ) ,且 v 1 ⊥ v 2 \mathbf{v}_1 \perp \mathbf{v}_2 v 1 ⊥ v 2 (内积约为 0 0 0 )。
这验证了谱定理:对称矩阵的特征值是实数,特征向量正交。
步骤 3:定义奇异值与右奇异向量
为什么要做这一步 :A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的特征值 λ i \lambda_i λ i 是 A \mathbf{A} A 在方向 v i \mathbf{v}_i v i 上伸缩倍率的平方。我们需要开方得到 A \mathbf{A} A 本身的伸缩倍率。
定义 :
右奇异向量(Right Singular Vectors) :直接取 V \mathbf{V} V 的列向量 v 1 , … , v n \mathbf{v}_1, \dots, \mathbf{v}_n v 1 , … , v n 。
奇异值(Singular Values) :对 i = 1 , … , n i = 1, \dots, n i = 1 , … , n ,定义σ i ≜ λ i \sigma_i \triangleq \sqrt{\lambda_i}
σ i ≜ λ i
由半正定性知 λ i ≥ 0 \lambda_i \geq 0 λ i ≥ 0 ,故 σ i \sigma_i σ i 为非负实数。按降序排列:σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r > 0 , σ r + 1 = ⋯ = σ n = 0 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0, \quad \sigma_{r+1} = \cdots = \sigma_n = 0
σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r > 0 , σ r + 1 = ⋯ = σ n = 0
【知识卡片:奇异值】
定义 :奇异值 σ i \sigma_i σ i 是矩阵 A \mathbf{A} A 沿其右奇异向量方向 v i \mathbf{v}_i v i 的"伸缩强度"的度量,数学上定义为 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 对应特征值 λ i \lambda_i λ i 的算术平方根。
公式 :σ i = λ i \sigma_i = \sqrt{\lambda_i} σ i = λ i ,其中 λ i \lambda_i λ i 是 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的第 i i i 大特征值。
本步作用 :将 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的"平方伸缩率"转换为 A \mathbf{A} A 本身的伸缩率,为后续构造对角矩阵 Σ \mathbf{\Sigma} Σ 做准备。
【小例子:奇异值计算】
接上一个例子,λ 1 ≈ 12.47 \lambda_1 \approx 12.47 λ 1 ≈ 12.47 ,λ 2 ≈ 3.53 \lambda_2 \approx 3.53 λ 2 ≈ 3.53 。
则 σ 1 = 12.47 ≈ 3.53 \sigma_1 = \sqrt{12.47} \approx 3.53 σ 1 = 12.47 ≈ 3.53 ,σ 2 = 3.53 ≈ 1.88 \sigma_2 = \sqrt{3.53} \approx 1.88 σ 2 = 3.53 ≈ 1.88 。
这两个数值分别量化了原矩阵 A \mathbf{A} A 在两个正交方向 v 1 , v 2 \mathbf{v}_1, \mathbf{v}_2 v 1 , v 2 上的"拉伸强度"。
若原矩阵秩 r = 1 r=1 r = 1 (即 λ 2 = 0 \lambda_2 = 0 λ 2 = 0 ),则 σ 2 = 0 \sigma_2 = 0 σ 2 = 0 ,表示在方向 v 2 \mathbf{v}_2 v 2 上没有任何拉伸——矩阵在该方向上"塌陷"了。
步骤 4:定义左奇异向量并验证正交性
为什么要做这一步 :目前我们只有 V \mathbf{V} V (输入空间 R n \mathbb{R}^n R n 中的旋转),还需要构造 U \mathbf{U} U (输出空间 R m \mathbb{R}^m R m 中的旋转),使得 A v i \mathbf{A}\mathbf{v}_i A v i 的方向恰好与 u i \mathbf{u}_i u i 对齐,且长度被缩放了 σ i \sigma_i σ i 倍。
定义左奇异向量(Left Singular Vectors) :对 i = 1 , … , r i = 1, \dots, r i = 1 , … , r (仅对非零奇异值),定义:
u i ≜ 1 σ i A v i ∈ R m \mathbf{u}_i \triangleq \frac{1}{\sigma_i} \mathbf{A}\mathbf{v}_i \in \mathbb{R}^{m}
u i ≜ σ i 1 A v i ∈ R m
验证 { u i } i = 1 r \{\mathbf{u}_i\}_{i=1}^{r} { u i } i = 1 r 是标准正交组 :
对任意 i , j ∈ { 1 , … , r } i, j \in \{1, \dots, r\} i , j ∈ { 1 , … , r } ,计算内积:
u i ⊤ u j = 1 σ i σ j ( A v i ) ⊤ ( A v j ) = 1 σ i σ j v i ⊤ A ⊤ A v j \mathbf{u}_i^{\top}\mathbf{u}_j = \frac{1}{\sigma_i \sigma_j} (\mathbf{A}\mathbf{v}_i)^{\top}(\mathbf{A}\mathbf{v}_j) = \frac{1}{\sigma_i \sigma_j} \mathbf{v}_i^{\top}\mathbf{A}^{\top}\mathbf{A}\mathbf{v}_j
u i ⊤ u j = σ i σ j 1 ( A v i ) ⊤ ( A v j ) = σ i σ j 1 v i ⊤ A ⊤ A v j
依据 :矩阵乘法结合律与转置的逆序律 ( A B ) ⊤ = B ⊤ A ⊤ (\mathbf{AB})^{\top} = \mathbf{B}^{\top}\mathbf{A}^{\top} ( AB ) ⊤ = B ⊤ A ⊤ 。
由步骤 2 知 A ⊤ A v j = λ j v j = σ j 2 v j \mathbf{A}^{\top}\mathbf{A}\mathbf{v}_j = \lambda_j \mathbf{v}_j = \sigma_j^2 \mathbf{v}_j A ⊤ A v j = λ j v j = σ j 2 v j ,代入得:
u i ⊤ u j = 1 σ i σ j v i ⊤ ( σ j 2 v j ) = σ j 2 σ i σ j v i ⊤ v j = σ j σ i δ i , j \mathbf{u}_i^{\top}\mathbf{u}_j = \frac{1}{\sigma_i \sigma_j} \mathbf{v}_i^{\top} (\sigma_j^2 \mathbf{v}_j) = \frac{\sigma_j^2}{\sigma_i \sigma_j} \mathbf{v}_i^{\top}\mathbf{v}_j = \frac{\sigma_j}{\sigma_i} \delta_{i,j}
u i ⊤ u j = σ i σ j 1 v i ⊤ ( σ j 2 v j ) = σ i σ j σ j 2 v i ⊤ v j = σ i σ j δ i , j
依据 :v i ⊤ v j = δ i , j \mathbf{v}_i^{\top}\mathbf{v}_j = \delta_{i,j} v i ⊤ v j = δ i , j (谱定理保证的标准正交性)。
当 i = j i = j i = j 时,σ j σ i = 1 \frac{\sigma_j}{\sigma_i} = 1 σ i σ j = 1 ,故 u i ⊤ u i = 1 \mathbf{u}_i^{\top}\mathbf{u}_i = 1 u i ⊤ u i = 1 (单位长度);当 i ≠ j i \neq j i = j 时,δ i , j = 0 \delta_{i,j} = 0 δ i , j = 0 ,故 u i ⊤ u j = 0 \mathbf{u}_i^{\top}\mathbf{u}_j = 0 u i ⊤ u j = 0 (互相垂直)。
因此 { u 1 , … , u r } \{\mathbf{u}_1, \dots, \mathbf{u}_r\} { u 1 , … , u r } 是 R m \mathbb{R}^m R m 中一组标准正交向量。
【知识卡片:标准正交基与正交矩阵】
定义 :一组向量 { q 1 , … , q k } \{\mathbf{q}_1, \dots, \mathbf{q}_k\} { q 1 , … , q k } 称为标准正交(Orthonormal),若满足 q i ⊤ q j = δ i , j \mathbf{q}_i^{\top}\mathbf{q}_j = \delta_{i,j} q i ⊤ q j = δ i , j (即彼此垂直且长度均为 1)。若方阵 Q \mathbf{Q} Q 的列向量构成标准正交组,则 Q \mathbf{Q} Q 称为正交矩阵,满足 Q ⊤ Q = I \mathbf{Q}^{\top}\mathbf{Q} = \mathbf{I} Q ⊤ Q = I 且 Q ⊤ = Q − 1 \mathbf{Q}^{\top} = \mathbf{Q}^{-1} Q ⊤ = Q − 1 。
公式 :Q ⊤ Q = I \mathbf{Q}^{\top}\mathbf{Q} = \mathbf{I} Q ⊤ Q = I ;几何上,正交矩阵保持向量长度和夹角不变,仅做旋转或反射。
本步作用 :证明 u i \mathbf{u}_i u i 之间两两正交且长度为 1,保证后续构造的 U \mathbf{U} U 是正交矩阵。
【小例子:左奇异向量的正交性验证】
假设 A = ( 3 1 0 2 1 1 ) \mathbf{A} = \begin{pmatrix} 3 & 1 \\ 0 & 2 \\ 1 & 1 \end{pmatrix} A = 3 0 1 1 2 1 ,已求得 v 1 ≈ ( 0.85 0.53 ) \mathbf{v}_1 \approx \begin{pmatrix} 0.85 \\ 0.53 \end{pmatrix} v 1 ≈ ( 0.85 0.53 ) ,σ 1 ≈ 3.53 \sigma_1 \approx 3.53 σ 1 ≈ 3.53 。
计算 A v 1 ≈ ( 3 ( 0.85 ) + 1 ( 0.53 ) 0 ( 0.85 ) + 2 ( 0.53 ) 1 ( 0.85 ) + 1 ( 0.53 ) ) = ( 3.08 1.06 1.38 ) \mathbf{A}\mathbf{v}_1 \approx \begin{pmatrix} 3(0.85)+1(0.53) \\ 0(0.85)+2(0.53) \\ 1(0.85)+1(0.53) \end{pmatrix} = \begin{pmatrix} 3.08 \\ 1.06 \\ 1.38 \end{pmatrix} A v 1 ≈ 3 ( 0.85 ) + 1 ( 0.53 ) 0 ( 0.85 ) + 2 ( 0.53 ) 1 ( 0.85 ) + 1 ( 0.53 ) = 3.08 1.06 1.38 。
则 u 1 = 1 3.53 ( 3.08 1.06 1.38 ) ≈ ( 0.87 0.30 0.39 ) \mathbf{u}_1 = \frac{1}{3.53}\begin{pmatrix} 3.08 \\ 1.06 \\ 1.38 \end{pmatrix} \approx \begin{pmatrix} 0.87 \\ 0.30 \\ 0.39 \end{pmatrix} u 1 = 3.53 1 3.08 1.06 1.38 ≈ 0.87 0.30 0.39 ,其长度 ∥ u 1 ∥ 2 ≈ 0.87 2 + 0.30 2 + 0.39 2 ≈ 1.00 \|\mathbf{u}_1\|_2 \approx \sqrt{0.87^2+0.30^2+0.39^2} \approx 1.00 ∥ u 1 ∥ 2 ≈ 0.8 7 2 + 0.3 0 2 + 0.3 9 2 ≈ 1.00 。
这验证了左奇异向量确实是单位向量。
步骤 5:扩展为标准正交基并构造矩阵 U \mathbf{U} U 和 Σ \mathbf{\Sigma} Σ
为什么要做这一步 :目前 { u 1 , … , u r } \{\mathbf{u}_1, \dots, \mathbf{u}_r\} { u 1 , … , u r } 只有 r r r 个向量,而 U \mathbf{U} U 需要是 m × m m \times m m × m 的正交矩阵,必须有 m m m 个列向量。我们需要把它们"补全"为 R m \mathbb{R}^m R m 的完整标准正交基。
操作 :
将 { u 1 , … , u r } \{\mathbf{u}_1, \dots, \mathbf{u}_r\} { u 1 , … , u r } 通过格拉姆-施密特正交化(Gram-Schmidt) 或任意标准方法,扩展为 R m \mathbb{R}^m R m 的完整标准正交基 { u 1 , … , u r , u r + 1 , … , u m } \{\mathbf{u}_1, \dots, \mathbf{u}_r, \mathbf{u}_{r+1}, \dots, \mathbf{u}_m\} { u 1 , … , u r , u r + 1 , … , u m } 。
构造矩阵:U ≜ [ u 1 , u 2 , … , u m ] ∈ R m × m \mathbf{U} \triangleq [\mathbf{u}_1, \mathbf{u}_2, \dots, \mathbf{u}_m] \in \mathbb{R}^{m \times m}
U ≜ [ u 1 , u 2 , … , u m ] ∈ R m × m
构造对角矩阵 Σ ∈ R m × n \mathbf{\Sigma} \in \mathbb{R}^{m \times n} Σ ∈ R m × n ,其前 r r r 个对角元为 σ 1 , … , σ r \sigma_1, \dots, \sigma_r σ 1 , … , σ r ,其余位置为 0:Σ i , j = { σ i , i = j ≤ r 0 , 其他 \Sigma_{i,j} = \begin{cases} \sigma_i, & i = j \leq r \\ 0, & \text{其他} \end{cases}
Σ i , j = { σ i , 0 , i = j ≤ r 其他
依据 :任何欧几里得空间 R m \mathbb{R}^m R m 中的标准正交向量组都可以扩展为一组标准正交基(基的扩展定理)。
步骤 6:验证 A = U Σ V ⊤ \mathbf{A} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top} A = UΣ V ⊤
为什么要做这一步 :我们需要证明构造出的三个矩阵确实恢复了原矩阵 A \mathbf{A} A 。
验证策略 :证明线性变换 U Σ V ⊤ \mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top} UΣ V ⊤ 与 A \mathbf{A} A 在 R n \mathbb{R}^n R n 的一组基(即 V \mathbf{V} V 的列向量)上的作用完全相同。由于线性变换由其在基上的作用唯一确定,二者必然相等。
对 j = 1 , … , r j = 1, \dots, r j = 1 , … , r (非零奇异值) :
( U Σ V ⊤ ) v j = U Σ ( V ⊤ v j ) (\mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top})\mathbf{v}_j = \mathbf{U}\mathbf{\Sigma}(\mathbf{V}^{\top}\mathbf{v}_j)
( UΣ V ⊤ ) v j = UΣ ( V ⊤ v j )
由于 V \mathbf{V} V 是正交矩阵,V ⊤ v j = e j \mathbf{V}^{\top}\mathbf{v}_j = \mathbf{e}_j V ⊤ v j = e j (第 j j j 个标准基向量,第 j j j 个分量为 1,其余为 0)。
依据 :V = [ v 1 , … , v n ] \mathbf{V} = [\mathbf{v}_1, \dots, \mathbf{v}_n] V = [ v 1 , … , v n ] ,故 V ⊤ v j = ( 0 , … , 1 , … , 0 ) ⊤ = e j \mathbf{V}^{\top}\mathbf{v}_j = (0, \dots, 1, \dots, 0)^{\top} = \mathbf{e}_j V ⊤ v j = ( 0 , … , 1 , … , 0 ) ⊤ = e j 。
于是:
U Σ e j = σ j u j = σ j ⋅ 1 σ j A v j = A v j \mathbf{U}\mathbf{\Sigma}\mathbf{e}_j = \sigma_j \mathbf{u}_j = \sigma_j \cdot \frac{1}{\sigma_j}\mathbf{A}\mathbf{v}_j = \mathbf{A}\mathbf{v}_j
UΣ e j = σ j u j = σ j ⋅ σ j 1 A v j = A v j
依据 :步骤 4 中 u j \mathbf{u}_j u j 的定义。
对 j = r + 1 , … , n j = r+1, \dots, n j = r + 1 , … , n (零奇异值) :
由 A ⊤ A v j = λ j v j = 0 \mathbf{A}^{\top}\mathbf{A}\mathbf{v}_j = \lambda_j \mathbf{v}_j = \mathbf{0} A ⊤ A v j = λ j v j = 0 (因为 λ j = 0 \lambda_j = 0 λ j = 0 ),两边左乘 v j ⊤ \mathbf{v}_j^{\top} v j ⊤ 得:
v j ⊤ A ⊤ A v j = ∥ A v j ∥ 2 2 = 0 \mathbf{v}_j^{\top}\mathbf{A}^{\top}\mathbf{A}\mathbf{v}_j = \|\mathbf{A}\mathbf{v}_j\|_2^2 = 0
v j ⊤ A ⊤ A v j = ∥ A v j ∥ 2 2 = 0
故 A v j = 0 \mathbf{A}\mathbf{v}_j = \mathbf{0} A v j = 0 。
另一方面:
( U Σ V ⊤ ) v j = U Σ e j = 0 (\mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top})\mathbf{v}_j = \mathbf{U}\mathbf{\Sigma}\mathbf{e}_j = \mathbf{0}
( UΣ V ⊤ ) v j = UΣ e j = 0
因为 Σ \mathbf{\Sigma} Σ 的第 j j j 个对角元 σ j = 0 \sigma_j = 0 σ j = 0 。
结论 :对所有基向量 v j \mathbf{v}_j v j (j = 1 , … , n j=1,\dots,n j = 1 , … , n ),都有 ( U Σ V ⊤ ) v j = A v j (\mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top})\mathbf{v}_j = \mathbf{A}\mathbf{v}_j ( UΣ V ⊤ ) v j = A v j 。由于 { v 1 , … , v n } \{\mathbf{v}_1, \dots, \mathbf{v}_n\} { v 1 , … , v n } 是 R n \mathbb{R}^n R n 的一组基,对任意 x ∈ R n \mathbf{x} \in \mathbb{R}^n x ∈ R n 都有 ( U Σ V ⊤ ) x = A x (\mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top})\mathbf{x} = \mathbf{A}\mathbf{x} ( UΣ V ⊤ ) x = Ax 。因此:
A = U Σ V ⊤ \mathbf{A} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top}
A = UΣ V ⊤
推导完毕。 这严格证明了任意矩阵 (无论满秩或不满秩、方阵或长方阵)都存在 SVD。
步骤 7:几何直观——旋转-缩放-旋转
SVD 的分解式 A = U Σ V ⊤ \mathbf{A} = \mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top} A = UΣ V ⊤ 可以按从右到左的顺序解读为对输入向量 x ∈ R n \mathbf{x} \in \mathbb{R}^n x ∈ R n 的三步几何操作:
V ⊤ x \mathbf{V}^{\top}\mathbf{x} V ⊤ x :正交矩阵 V ⊤ \mathbf{V}^{\top} V ⊤ 对 x \mathbf{x} x 做旋转或反射(保持长度和夹角),将 x \mathbf{x} x 对齐到 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的特征基上。
Σ ( V ⊤ x ) \mathbf{\Sigma}(\mathbf{V}^{\top}\mathbf{x}) Σ ( V ⊤ x ) :对角矩阵 Σ \mathbf{\Sigma} Σ 沿新的坐标轴进行伸缩(缩放),第 i i i 个轴被缩放 σ i \sigma_i σ i 倍。若 m ≠ n m \neq n m = n ,还会嵌入或投影到不同维度。
U ( Σ V ⊤ x ) \mathbf{U}(\mathbf{\Sigma}\mathbf{V}^{\top}\mathbf{x}) U ( Σ V ⊤ x ) :正交矩阵 U \mathbf{U} U 再做一次旋转或反射,将伸缩后的椭球轴对齐到输出空间 R m \mathbb{R}^m R m 的最终方向。
直观图像 :单位球面 ∥ x ∥ 2 = 1 \|\mathbf{x}\|_2 = 1 ∥ x ∥ 2 = 1 经 A \mathbf{A} A 映射后变成椭球。该椭球的第 i i i 个主轴方向为 u i \mathbf{u}_i u i ,半轴长度为 σ i \sigma_i σ i 。SVD 就是把这个"球变椭球"的过程拆解为三个简单变换。
【知识卡片:正交矩阵的几何意义】
定义 :正交矩阵 Q \mathbf{Q} Q 满足 Q ⊤ Q = I \mathbf{Q}^{\top}\mathbf{Q} = \mathbf{I} Q ⊤ Q = I ,其行列式为 ± 1 \pm 1 ± 1 。几何上,它代表纯粹的旋转(行列式 = + 1 =+1 = + 1 )或带反射的旋转(行列式 = − 1 =-1 = − 1 ),不改变任何向量的长度,也不改变任意两个向量之间的夹角。
公式 :∥ Q x ∥ 2 = ∥ x ∥ 2 \|\mathbf{Q}\mathbf{x}\|_2 = \|\mathbf{x}\|_2 ∥ Qx ∥ 2 = ∥ x ∥ 2 ;( Q x ) ⊤ ( Q y ) = x ⊤ y (\mathbf{Q}\mathbf{x})^{\top}(\mathbf{Q}\mathbf{y}) = \mathbf{x}^{\top}\mathbf{y} ( Qx ) ⊤ ( Qy ) = x ⊤ y 。
本步作用 :解释为什么 U \mathbf{U} U 和 V \mathbf{V} V 不"扭曲"空间,只负责"转向";而所有的伸缩变形都集中在 Σ \mathbf{\Sigma} Σ 中。
步骤 8:不满秩矩阵的低秩替代——Eckart-Young-Mirsky 定理
为什么要做这一步 :当矩阵 A \mathbf{A} A 不满秩(r < min ( m , n ) r < \min(m,n) r < min ( m , n ) )时,其 SVD 中仅有 r r r 个非零奇异值。这意味着原矩阵的全部信息可以被压缩到仅含 r r r 个分量的紧凑表示中。更进一步,即使矩阵满秩,若其奇异值快速衰减,我们也可以用 k < r k < r k < r 个分量构造最优近似 。
定义截断 SVD :对 k ≤ r k \leq r k ≤ r ,定义
A k ≜ ∑ i = 1 k σ i u i v i ⊤ = U k Σ k V k ⊤ \mathbf{A}_k \triangleq \sum_{i=1}^{k} \sigma_i \mathbf{u}_i \mathbf{v}_i^{\top} = \mathbf{U}_k \mathbf{\Sigma}_k \mathbf{V}_k^{\top}
A k ≜ i = 1 ∑ k σ i u i v i ⊤ = U k Σ k V k ⊤
其中 U k = [ u 1 , … , u k ] ∈ R m × k \mathbf{U}_k = [\mathbf{u}_1, \dots, \mathbf{u}_k] \in \mathbb{R}^{m \times k} U k = [ u 1 , … , u k ] ∈ R m × k ,Σ k = d i a g ( σ 1 , … , σ k ) ∈ R k × k \mathbf{\Sigma}_k = \mathrm{diag}(\sigma_1, \dots, \sigma_k) \in \mathbb{R}^{k \times k} Σ k = diag ( σ 1 , … , σ k ) ∈ R k × k ,V k = [ v 1 , … , v k ] ∈ R n × k \mathbf{V}_k = [\mathbf{v}_1, \dots, \mathbf{v}_k] \in \mathbb{R}^{n \times k} V k = [ v 1 , … , v k ] ∈ R n × k 。
定理(Eckart-Young-Mirsky) :在所有秩不超过 k k k 的矩阵中,A k \mathbf{A}_k A k 是 A \mathbf{A} A 在 Frobenius 范数(以及谱范数)意义下的最佳逼近:
A k = arg min r a n k ( B ) ≤ k ∥ A − B ∥ F \mathbf{A}_k = \arg\min_{\mathrm{rank}(\mathbf{B}) \leq k} \|\mathbf{A} - \mathbf{B}\|_F
A k = arg rank ( B ) ≤ k min ∥ A − B ∥ F
且最小误差为:
∥ A − A k ∥ F 2 = ∑ i = k + 1 r σ i 2 \|\mathbf{A} - \mathbf{A}_k\|_F^2 = \sum_{i=k+1}^{r} \sigma_i^2
∥ A − A k ∥ F 2 = i = k + 1 ∑ r σ i 2
简要证明思路 :Frobenius 范数在正交变换下不变,即 ∥ A − B ∥ F = ∥ U ⊤ ( A − B ) V ∥ F = ∥ Σ − U ⊤ B V ∥ F \|\mathbf{A} - \mathbf{B}\|_F = \|\mathbf{U}^{\top}(\mathbf{A} - \mathbf{B})\mathbf{V}\|_F = \|\mathbf{\Sigma} - \mathbf{U}^{\top}\mathbf{B}\mathbf{V}\|_F ∥ A − B ∥ F = ∥ U ⊤ ( A − B ) V ∥ F = ∥ Σ − U ⊤ BV ∥ F 。由于 r a n k ( B ) ≤ k \mathrm{rank}(\mathbf{B}) \leq k rank ( B ) ≤ k ,U ⊤ B V \mathbf{U}^{\top}\mathbf{B}\mathbf{V} U ⊤ BV 的秩也不超过 k k k 。在对角矩阵 Σ \mathbf{\Sigma} Σ 上用秩 k k k 矩阵逼近,最优策略显然是保留前 k k k 个对角元,舍去其余。误差即为被舍去奇异值的平方和。
【知识卡片:Frobenius 范数】
定义 :矩阵的 Frobenius 范数是矩阵所有元素平方和的平方根,相当于将矩阵"拉平"成向量后的欧几里得长度。
公式 :∥ M ∥ F = ∑ i = 1 m ∑ j = 1 n M i , j 2 = t r ( M ⊤ M ) \|\mathbf{M}\|_F = \sqrt{\sum_{i=1}^{m}\sum_{j=1}^{n} M_{i,j}^2} = \sqrt{\mathrm{tr}(\mathbf{M}^{\top}\mathbf{M})} ∥ M ∥ F = ∑ i = 1 m ∑ j = 1 n M i , j 2 = tr ( M ⊤ M ) 。
本步作用 :量化矩阵逼近的误差;它在正交变换下保持不变,使得我们可以直接在 Σ \mathbf{\Sigma} Σ 的对角线上分析最优截断。
【知识卡片:矩阵的秩】
定义 :矩阵 A \mathbf{A} A 的秩 r a n k ( A ) \mathrm{rank}(\mathbf{A}) rank ( A ) 是其列向量组(或行向量组)中极大线性无关组的向量个数,也等于 A \mathbf{A} A 的非零奇异值的个数。当 r < min ( m , n ) r < \min(m,n) r < min ( m , n ) 时,称 A \mathbf{A} A 为不满秩矩阵(Rank-deficient)。
公式 :r a n k ( A ) = r ⇔ σ 1 ≥ ⋯ ≥ σ r > 0 , σ r + 1 = ⋯ = 0 \mathrm{rank}(\mathbf{A}) = r \Leftrightarrow \sigma_1 \geq \cdots \geq \sigma_r > 0, \sigma_{r+1} = \cdots = 0 rank ( A ) = r ⇔ σ 1 ≥ ⋯ ≥ σ r > 0 , σ r + 1 = ⋯ = 0 。
本步作用 :解释为什么不满秩矩阵可以用低秩分解完全等价表示;秩就是矩阵的"有效自由度"。
【小例子:Frobenius 范数与低秩逼近】
假设某矩阵经 SVD 后奇异值为 σ 1 = 10 , σ 2 = 3 , σ 3 = 1 , σ 4 = 0.5 \sigma_1 = 10, \sigma_2 = 3, \sigma_3 = 1, \sigma_4 = 0.5 σ 1 = 10 , σ 2 = 3 , σ 3 = 1 , σ 4 = 0.5 。
用秩 2 逼近时,误差平方为 ∥ A − A 2 ∥ F 2 = σ 3 2 + σ 4 2 = 1 + 0.25 = 1.25 \|\mathbf{A} - \mathbf{A}_2\|_F^2 = \sigma_3^2 + \sigma_4^2 = 1 + 0.25 = 1.25 ∥ A − A 2 ∥ F 2 = σ 3 2 + σ 4 2 = 1 + 0.25 = 1.25 。
若改用秩 1 逼近,误差平方为 3 2 + 1 2 + 0.5 2 = 10.25 3^2 + 1^2 + 0.5^2 = 10.25 3 2 + 1 2 + 0. 5 2 = 10.25 。
若矩阵不满秩且 r = 2 r=2 r = 2 (即 σ 3 = σ 4 = 0 \sigma_3 = \sigma_4 = 0 σ 3 = σ 4 = 0 ),则秩 2 逼近的误差为 0 0 0 ——低秩分解完全等价 于原矩阵!
可见保留最大的几个奇异值即可捕获矩阵的绝大部分"能量"。
步骤 9:奇异值的能量解释与截断策略
在实际应用中(如 PCA、图像压缩),我们常常观察奇异值的衰减曲线。若前 k k k 个奇异值的平方和占全部平方和的比例超过某个阈值(如 90% 或 95%),则秩 k k k 截断即可在极小误差下实现大幅压缩。
能量保留率 = ∑ i = 1 k σ i 2 ∑ i = 1 r σ i 2 \text{能量保留率} = \frac{\sum_{i=1}^{k} \sigma_i^2}{\sum_{i=1}^{r} \sigma_i^2}
能量保留率 = ∑ i = 1 r σ i 2 ∑ i = 1 k σ i 2
三、SVD 分解结构总览
下图展示了 SVD 分解中各矩阵的维度关系与紧凑形式:
四、涉及的基本数学知识清单
概念名称
在本推导中的具体作用
一句话定义或公式表达
矩阵转置
构造对称方阵 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A
( A ⊤ ) j , i = A i , j (\mathbf{A}^{\top})_{j,i} = A_{i,j} ( A ⊤ ) j , i = A i , j
矩阵乘法
定义线性复合变换与内积表达
( X Y ) i , j = ∑ k X i , k Y k , j (\mathbf{XY})_{i,j} = \sum_{k} X_{i,k}Y_{k,j} ( XY ) i , j = ∑ k X i , k Y k , j
对称矩阵
保证谱定理适用,特征值为实数、特征向量正交
M ⊤ = M \mathbf{M}^{\top} = \mathbf{M} M ⊤ = M
半正定矩阵
保证 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的特征值非负,可开方得奇异值
∀ x , x ⊤ M x ≥ 0 \forall \mathbf{x}, \mathbf{x}^{\top}\mathbf{M}\mathbf{x} \geq 0 ∀ x , x ⊤ Mx ≥ 0
特征值与特征向量
分解 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 的作用方向与伸缩倍率
M v = λ v \mathbf{M}\mathbf{v} = \lambda\mathbf{v} Mv = λ v
谱定理
将对称矩阵正交对角化,得到 V \mathbf{V} V 与 Λ \mathbf{\Lambda} Λ
M = V Λ V ⊤ \mathbf{M} = \mathbf{V}\mathbf{\Lambda}\mathbf{V}^{\top} M = VΛ V ⊤
奇异值
量化 A \mathbf{A} A 在各主轴方向的拉伸强度
σ i = λ i \sigma_i = \sqrt{\lambda_i} σ i = λ i
矩阵的秩
确定非零奇异值个数,定义不满秩矩阵
r a n k ( A ) = r \mathrm{rank}(\mathbf{A}) = r rank ( A ) = r
标准正交基
构造正交矩阵 U \mathbf{U} U 与 V \mathbf{V} V ,保证 U ⊤ U = I \mathbf{U}^{\top}\mathbf{U}=\mathbf{I} U ⊤ U = I
q i ⊤ q j = δ i , j \mathbf{q}_i^{\top}\mathbf{q}_j = \delta_{i,j} q i ⊤ q j = δ i , j
正交矩阵
几何上代表旋转/反射,保持长度与角度不变
Q ⊤ Q = I \mathbf{Q}^{\top}\mathbf{Q} = \mathbf{I} Q ⊤ Q = I
Frobenius 范数
度量低秩逼近的误差大小
∣ M ∣ F = ∑ i , j M i , j 2 |\mathbf{M}|_F = \sqrt{\sum_{i,j} M_{i,j}^2} ∣ M ∣ F = ∑ i , j M i , j 2
Eckart-Young-Mirsky 定理
证明截断 SVD 是最优低秩逼近
min r a n k ( B ) ≤ k ∣ A − B ∣ F = ∑ i > k σ i 2 \min_{\mathrm{rank}(\mathbf{B})\leq k}|\mathbf{A}-\mathbf{B}|_F = \sqrt{\sum_{i>k}\sigma_i^2} min rank ( B ) ≤ k ∣ A − B ∣ F = ∑ i > k σ i 2
线性变换唯一性
由基上的作用确定整个变换,验证 U Σ V ⊤ = A \mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top}=\mathbf{A} UΣ V ⊤ = A
若两变换在基上相等,则处处相等
五、总结
SVD 的推导核心在于将任意矩阵 A \mathbf{A} A 通过 A ⊤ A \mathbf{A}^{\top}\mathbf{A} A ⊤ A 转化为对称矩阵问题 ,从而借助谱定理获得正交特征基 V \mathbf{V} V 与非负特征值 λ i \lambda_i λ i 。开方得到奇异值 σ i \sigma_i σ i 后,通过 u i = 1 σ i A v i \mathbf{u}_i = \frac{1}{\sigma_i}\mathbf{A}\mathbf{v}_i u i = σ i 1 A v i 构造出输出空间的正交基 U \mathbf{U} U 。最终验证 U Σ V ⊤ \mathbf{U}\mathbf{\Sigma}\mathbf{V}^{\top} UΣ V ⊤ 与 A \mathbf{A} A 在完整基上的作用一致,从而严格证明了任意矩阵(无论满秩或不满秩)都存在 SVD 。
当矩阵不满秩(r < min ( m , n ) r < \min(m,n) r < min ( m , n ) )时,仅有 r r r 个非零奇异值,这意味着:
完全等价替代 :原矩阵可以被精确表示为仅含 r r r 个分量的紧凑形式 A = ∑ i = 1 r σ i u i v i ⊤ \mathbf{A} = \sum_{i=1}^{r} \sigma_i \mathbf{u}_i \mathbf{v}_i^{\top} A = ∑ i = 1 r σ i u i v i ⊤ ,存储量从 m × n m \times n m × n 降至 r ( m + n + 1 ) r(m+n+1) r ( m + n + 1 ) 。
最优低秩逼近 :即使需要进一步压缩到 k < r k < r k < r ,Eckart-Young-Mirsky 定理保证截断 SVD 是 Frobenius 范数下的最佳逼近,误差由被截断的奇异值平方和精确量化。
几何上,SVD 把矩阵的复杂线性变换拆解为两次旋转夹一次伸缩 ;代数上,它给出了矩阵的最优低秩逼近。这使得 SVD 成为连接理论分析与工程实践的桥梁,在数据科学、机器学习、信号处理与数值计算中具有不可替代的地位。
评论