第1行: |
第1行: |
| 在线性代数中,奇异值分解 Singular value decomposition是一种通过旋转、缩放和再次旋转来因式分解[[实矩阵 real matrix ]]或[[复矩阵 complex matrix ]]的方法。它把具有[[正交特征基 orthonormal eigenbasis ]]的方阵[[特征分解 eigendecomposition ]]推广到任意 <math>m \times n</math> 矩阵,并与[[极分解 polar decomposition ]]密切相关。 | | 在线性代数中,奇异值分解 Singular value decomposition是一种通过旋转、缩放和再次旋转来因式分解[[实矩阵 real matrix ]]或[[复矩阵 complex matrix ]]的方法。它把具有[[正交特征基 orthonormal eigenbasis ]]的方阵[[特征分解 eigendecomposition ]]推广到任意 <math>m \times n</math> 矩阵,并与[[极分解 polar decomposition ]]密切相关。 |
| | | |
− | [[文件:Singular-Value-Decomposition.svg.png|无框|居中|奇异值分解]] | + | [[文件:Singular-Value-Decomposition.svg.png|无框|左|奇异值分解]] |
| | | |
| 具体而言,我们可以将一个 <math>m \times n</math> 复矩阵 <math>\mathbf{M}</math> 分解为 <math>\mathbf{M} = \mathbf{U\Sigma V^*}</math>。这里,<math>\mathbf{U}</math> 是 <math>m \times m</math> [[复酉矩阵 complex unitary matrix ]],<math>\mathbf{\Sigma}</math> 是 <math>m \times n</math> [[矩形对角矩阵 rectangular diagonal matrix ]],其对角线元素为非负实数,<math>\mathbf{V}</math> 是 <math>n \times n</math> 复酉矩阵,而 <math>\mathbf{V}^*</math> 是 <math>\mathbf{V}</math> 的[[共轭转置 conjugate transpose ]]。这种分解适用于任何复矩阵。若 <math>\mathbf{M}</math> 为实矩阵,则 <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 必为实[[正交矩阵 real orthogonal matrices ]];此时,我们通常将SVD表示为 <math>\mathbf{M} = \mathbf{U\Sigma V}^{\mathrm{T}}</math>。 | | 具体而言,我们可以将一个 <math>m \times n</math> 复矩阵 <math>\mathbf{M}</math> 分解为 <math>\mathbf{M} = \mathbf{U\Sigma V^*}</math>。这里,<math>\mathbf{U}</math> 是 <math>m \times m</math> [[复酉矩阵 complex unitary matrix ]],<math>\mathbf{\Sigma}</math> 是 <math>m \times n</math> [[矩形对角矩阵 rectangular diagonal matrix ]],其对角线元素为非负实数,<math>\mathbf{V}</math> 是 <math>n \times n</math> 复酉矩阵,而 <math>\mathbf{V}^*</math> 是 <math>\mathbf{V}</math> 的[[共轭转置 conjugate transpose ]]。这种分解适用于任何复矩阵。若 <math>\mathbf{M}</math> 为实矩阵,则 <math>\mathbf{U}</math> 和 <math>\mathbf{V}</math> 必为实[[正交矩阵 real orthogonal matrices ]];此时,我们通常将SVD表示为 <math>\mathbf{M} = \mathbf{U\Sigma V}^{\mathrm{T}}</math>。 |
第28行: |
第28行: |
| 特殊情况下,当<math>\mathbf{M}</math>是<math>m \times m</math>的实方阵时,我们可以将矩阵<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>选为实<math>m \times m</math>矩阵。此时,"酉矩阵"和"正交矩阵"实际上是一回事。我们可以将这两个酉矩阵和对角矩阵(这里统称为<math>\mathbf{A}</math>)解读为空间<math>\mathbb{R}^m</math>的[[线性变换 linear transformation]]<math>x \mapsto \mathbf{Ax}</math>。其中,矩阵<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>代表空间的旋转 rotations 或反射 reflection ,而<math>\boldsymbol{\Sigma}</math>则表示对每个坐标<math>x_i</math>按因子<math>\sigma_i</math>进行缩放 scaling 。这样,奇异值分解就把<math>\mathbb{R}^m</math>的任何线性变换分解成了三个几何变换的组合:先旋转或反射(<math>\mathbf{V}^*</math>),然后逐坐标缩放(<math>\boldsymbol{\Sigma}</math>),最后再旋转或反射(<math>\mathbf{U}</math>)。 | | 特殊情况下,当<math>\mathbf{M}</math>是<math>m \times m</math>的实方阵时,我们可以将矩阵<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>选为实<math>m \times m</math>矩阵。此时,"酉矩阵"和"正交矩阵"实际上是一回事。我们可以将这两个酉矩阵和对角矩阵(这里统称为<math>\mathbf{A}</math>)解读为空间<math>\mathbb{R}^m</math>的[[线性变换 linear transformation]]<math>x \mapsto \mathbf{Ax}</math>。其中,矩阵<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>代表空间的旋转 rotations 或反射 reflection ,而<math>\boldsymbol{\Sigma}</math>则表示对每个坐标<math>x_i</math>按因子<math>\sigma_i</math>进行缩放 scaling 。这样,奇异值分解就把<math>\mathbb{R}^m</math>的任何线性变换分解成了三个几何变换的组合:先旋转或反射(<math>\mathbf{V}^*</math>),然后逐坐标缩放(<math>\boldsymbol{\Sigma}</math>),最后再旋转或反射(<math>\mathbf{U}</math>)。 |
| | | |
− | [[文件:Singular value decomposition.gif|无框|居中|奇异值分解动画可视化]] | + | [[文件:Singular value decomposition.gif|无框|左|奇异值分解动画可视化]] |
| | | |
| 特别地,如果<math>\mathbf{M}</math>的行列式为正,我们可以选择<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>都带反射或都不带反射。若行列式为负,则只有一个会带反射。若行列式为零,我们可以随意选择每个矩阵的类型。 | | 特别地,如果<math>\mathbf{M}</math>的行列式为正,我们可以选择<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>都带反射或都不带反射。若行列式为负,则只有一个会带反射。若行列式为零,我们可以随意选择每个矩阵的类型。 |
第34行: |
第34行: |
| 当<math>\mathbf{M}</math>是实矩阵但非方阵,即<math>m \times n</math>且<math>m \neq n</math>时,我们可以将其视为从<math>\mathbb{R}^n</math>到<math>\mathbb{R}^m</math>的线性变换。这时,我们可以选择<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>分别为<math>\mathbb{R}^m</math>和<math>\mathbb{R}^n</math>的旋转/反射;而<math>\boldsymbol{\Sigma}</math>除了缩放前<math>\min{m,n}</math>个坐标外,还会用零扩展向量或删除尾部坐标,从而将<math>\mathbb{R}^n</math>转换为<math>\mathbb{R}^m</math>。 | | 当<math>\mathbf{M}</math>是实矩阵但非方阵,即<math>m \times n</math>且<math>m \neq n</math>时,我们可以将其视为从<math>\mathbb{R}^n</math>到<math>\mathbb{R}^m</math>的线性变换。这时,我们可以选择<math>\mathbf{U}</math>和<math>\mathbf{V}^*</math>分别为<math>\mathbb{R}^m</math>和<math>\mathbb{R}^n</math>的旋转/反射;而<math>\boldsymbol{\Sigma}</math>除了缩放前<math>\min{m,n}</math>个坐标外,还会用零扩展向量或删除尾部坐标,从而将<math>\mathbb{R}^n</math>转换为<math>\mathbb{R}^m</math>。 |
| | | |
− | [[文件:Singular value decomposition visualisation.svg.png|无框|居中|奇异值分解可视化]] | + | [[文件:Singular value decomposition visualisation.svg.png|无框|左|奇异值分解可视化]] |
| | | |
| ===奇异值作为椭圆或椭球体的半轴=== | | ===奇异值作为椭圆或椭球体的半轴=== |