奇异值分解(Singular Value Decomposition,简称SVD),已被解密
奇异值分解(Singular Value Decomposition,简称SVD) 的新解密
一份带有Python示例的全面SVD指南
奇异值分解(SVD)是一种强大的矩阵分解技术,将一个矩阵分解为另外三个矩阵,揭示了原始矩阵的重要结构特征。它被广泛应用于信号处理、图像压缩和机器学习中的降维等各种领域。
本文提供了关于如何计算矩阵的SVD的逐步指南,包括详细的数值示例。然后,通过使用Python示例演示了如何使用SVD进行降维。最后,本文讨论了SVD的各种应用以及一些限制。
本文假设读者具有线性代数的基本知识。更具体地说,读者应该熟悉向量和矩阵范数、矩阵的秩、特征分解(特征向量和特征值)、正交向量和线性投影等概念。

数学定义
一个 m × n 实矩阵 A 的奇异值分解是一个形式为 A = UΣVᵗ 的分解,其中:
- 稳定AI为稳定扩散引入了新的3D增强功能
- 2023年11月6日-11月12日热门AI GitHub代码库合集
- 利用生成式人工智能发掘企业数据的潜力:来自亚马逊肯德拉、LangChain和大规模语言模型的见解
- U 是一个 m × m 的正交矩阵(即其列和行是正交向量)。U 的列称为 A 的左奇异向量。
- Σ 是一个 m × n 的矩形对角阵,对角线上是非负实数。对角线上的元素 σᵢ = Σᵢᵢ 被称为 A 的奇异值,通常按降序排列,即 σ₁ ≥ σ₂ ≥ … ≥ σₙ ≥ 0。非零奇异值的数量等于 A 的秩。
- V 是一个 n × n 的正交矩阵。V 的列称为 A 的右奇异向量。
每个实的 m × n 矩阵都有唯一的奇异值分解(该结论的证明可以在这里找到)。这与例如特征值分解不同,特征值分解只适用于可对角化的方阵。
计算SVD
可以使用以下观察来计算矩阵 A 的奇异值分解:
- A 的左奇异向量是一组正交归一化的特征向量…



