SVD(奇异值分解)

SVD

把矩阵拆成三块

亦作、亦称:奇异值分解 · Singular Value Decomposition

奇异值分解(SVD)是线性代数中将任意矩阵分解为三个结构矩阵之积的核心工具,能够揭示矩阵内部的「能量分布」与「主要方向」。它广泛应用于降维、图像压缩、推荐系统与大模型微调(LoRA)等领域,是现代机器学习的数学基石之一。

概述

奇异值分解(SVD)是线性代数中将任意矩阵分解为三个结构矩阵之积的核心工具,能够揭示矩阵内部的「能量分布」与「主要方向」。它广泛应用于降维、图像压缩、推荐系统与大模型微调(LoRA)等领域,是现代机器学习的数学基石之一。

核心定义

SVD 将任意 m×n 实矩阵 M 分解为三个矩阵的乘积 M = UΣVᵀ。

  • U(m×m 正交矩阵):列向量称为左奇异向量,对应矩阵的「输出空间」主方向
  • Σ(m×n 对角矩阵):对角线元素为奇异值,非负且按降序排列,代表各方向的「能量大小」
  • Vᵀ(n×n 正交矩阵的转置):行向量称为右奇异向量,对应「输入空间」主方向
  • 奇异值的平方等于矩阵 MᵀM(或 MMᵀ)的特征值,与主成分分析(PCA)密切相关
  • 奇异值恒为非负实数,与特征值(可为负数或复数)在概念上不同

截断 SVD 与低秩近似

仅保留前 k 个最大奇异值及对应向量,得到原矩阵的最优 k 秩近似,这是 Eckart-Young 定理的核心结论。

  • 截断 SVD:令 Σ 只保留前 k 个奇异值,重建矩阵 Mₖ = UₖΣₖVₖᵀ,存储量从 mn 降至 k(m+n)
  • Eckart-Young 定理(1936):在 Frobenius 范数意义下,Mₖ 是所有秩为 k 矩阵中最接近原矩阵的,具有严格的最优性保证
  • k 越小,存储与计算成本越低,但信息损失越大;常用累计奇异值能量比例(如保留 90%)或肘部法则来选 k
  • 大多数真实数据矩阵的能量高度集中在前几个奇异值上,这是截断 SVD 有效的根本原因

典型应用场景

SVD 的低秩近似能力使其在多个工程领域发挥关键作用。

  • 图像压缩:将图像视为像素矩阵,通过截断 SVD 以远少于原始像素的参数量重建近似图像,压缩比可灵活调节
  • 推荐系统:对「用户×物品」评分矩阵做 SVD 提取隐语义特征,是 Netflix Prize(2006)协同过滤的核心方法
  • 潜在语义分析(LSA):对词频矩阵做 SVD 降维,挖掘词义关联,是 1990 年代语义搜索的基础
  • 数值线性代数:求矩阵的伪逆(Moore-Penrose pseudoinverse)、解超定方程组、计算矩阵的秩与条件数

与 LoRA 的关系

LoRA(低秩自适应)直接受 SVD 低秩思想启发,是大模型高效微调的主流方法。

  • 核心洞见:预训练权重矩阵的「内禀秩」很低,微调时的权重变化量 ΔW 同样具有低秩结构
  • LoRA 将 ΔW 分解为两个小矩阵之积 ΔW = BA(B 为 m×r,A 为 r×n,r ≪ min(m,n)),参数量从 mn 降至 r(m+n)
  • 注意:LoRA 训练时并不显式计算 SVD,而是直接学习 A、B;部分变体(AdaLoRA、LoRA-XS)才用 SVD 来初始化或正则化
  • 这一连接使 SVD 从经典数值方法成为现代大模型工程的必备基础知识

计算方法与工程实践

完整 SVD 计算代价较高,工程中通常使用近似或截断算法。

  • 完整 SVD 时间复杂度为 O(min(m,n)·m·n),对亿级矩阵不可行
  • Golub-Kahan 算法(1965):先将矩阵约化为双对角形再迭代,是数值稳定的经典方案
  • 随机化 SVD(Halko 等,2011):通过随机投影先压缩矩阵再分解,复杂度降至 O(mnk),scikit-learn TruncatedSVD 采用此方案
  • PyTorch(torch.linalg.svd)、NumPy(np.linalg.svd)、cuSOLVER 均提供 CPU/GPU 高效实现

发展脉络

SVD 有着超过 150 年的历史,跨越纯数学与工程应用两条线索。

  • 1873:意大利数学家 Beltrami 首次为实矩阵发表 SVD,从微分几何角度研究双线性型的不变量
  • 1874:法国数学家 Jordan 独立提出 SVD,表述更为完整;两人均不知对方工作
  • 1889:Sylvester 对实方阵再度独立推导出 SVD
  • 1936:Eckart 与 Young 将 SVD 推广到矩形矩阵与复矩阵,并证明最优低秩近似定理
  • 1965:Golub 与 Kahan 提出数值稳定计算算法,SVD 正式进入工程实用阶段
  • 2006–2009:Netflix Prize 中,基于矩阵分解的协同过滤使 SVD 成为推荐系统标配
  • 2021 至今:LoRA 等低秩微调方法兴起,SVD 在大模型时代焕发新生

常见误解

日常交流中容易听到的简化说法,未必准确,但能帮助理解误解从何而来。

  • 「把矩阵拆成三块」
  • 「低秩近似的基础」
  • 「PCA 背后的矩阵分解」

相关术语

和本术语关联紧密的其他词条,便于串联理解。

🎯 考点练习

含该术语的高频面试题,含标准答案与追问。

延伸阅读

从知识库精选 3 篇文章,帮助深入理解该术语。

  1. 1

    SVD奇异值分解:矩阵分解的核心算法

    深入理解奇异值分解(SVD)的数学原理、几何直觉、以及在机器学习中的核心应用(PCA降维、推荐系统、图像处理)

  2. 2

    线性代数:向量与矩阵

    从向量空间到矩阵运算,掌握 AI 所需的线性代数基础

  3. 3

    PCA:主成分分析降维

    从协方差矩阵到奇异值分解,理解最常用的降维算法

外部参考

维基百科:查看「SVD」词条

本页内容为本站原创撰写;维基百科链接仅作延伸参考。