SVD奇异值分解

一、奇异值

奇异值(Singular Values)是线性代数中矩阵的重要性质之一,与奇异值分解(SVD)密切相关。让我们来更详细地了解一下奇异值的概念:

  1. 定义: 对于一个矩阵 ( A ),它的奇异值是矩阵 ( A ) 的奇异值分解 ( A = U \Sigma V^T ) 中对角矩阵 ( \Sigma ) 的对角线元素的非负实数平方根。换句话说,如果 ( A ) 是一个大小为 ( m \times n ) 的矩阵,那么它有 ( \min(m, n) ) 个奇异值。

  2. 几何解释: 奇异值可以被视为矩阵在变换过程中每个方向的缩放因子。在奇异值分解中,左奇异向量 ( U ) 和右奇异向量 ( V ) 描述了原始空间和目标空间之间的旋转,而对角矩阵 ( \Sigma) 中的奇异值则描述了在这些方向上的缩放程度。较大的奇异值表示了更大的缩放,而较小的奇异值表示了更小的缩放。

  3. 性质

    • 奇异值总是非负的实数。
    • 奇异值的个数等于矩阵的秩(rank)。
    • 奇异值可以用于度量矩阵的条件数,从而反映矩阵在求解线性方程组和计算逆矩阵时的数值稳定性。

二、计算U、\Sigma、V

[ A = U \Sigma V^T ]

其中,( A ) 是一个大小为 ( m \times n ) 的矩阵,( U ) 是一个大小为 (m \times m) 的正交矩阵,( \Sigma ) 是一个大小为 ( m \times n ) 的对角矩阵,( V ) 是一个大小为 ( n \times n ) 的正交矩阵。这里,( U ) 的列向量称为左奇异向量,( \Sigma ) 的对角线元素称为奇异值,( V ) 的列向量称为右奇异向量。SVD的求解可以通过多种方法,其中一种常用的方法是使用特征值分解。给定一个矩阵 ( A ),我们可以计算 ( A^T A ) 和 ( A A^T ) 的特征值和特征向量。假设 ( A ) 是大小为 ( m \times n ) 的矩阵,那么 ( A^T A ) 和 ( A A^T ) 的特征值都是非负实数。然后,我们可以从这些特征值中构建 ( \Sigma ),并且根据 ( A^T A ) 和 ( A A^T ) 的特征向量构建 ( U ) 和 ( V )。

SVD分解的定义是,任意给定nxm大小的矩阵X,都可以将其分解为X=UΣVᵀ的形式,其中U是nxn大小的矩阵,Vᵀ是mxm大小矩阵,U和V均为正交矩阵(酉矩阵),既满足UUᵀ = VVᵀ = E(单位阵)。而Σ是一个对角矩阵,Σ对角元素为X的奇异值(非负数),其中的非零元素个数为X的秩的大小。

SVD奇异值分解_第1张图片

你可能感兴趣的:(机器学习,人工智能)