矩阵奇异值分解

矩阵奇异值分解

奇异值分解(Singular Value Decomposition,SVD)

1. 定义

奇异值分解(Singular Value Decomposition, SVD)是一种将任意实数或复数矩阵分解为三个特定矩阵乘积的数学方法。它在数据降维、信号处理和机器学习等领域有广泛应用。

2. 数学表示

给定一个 $ m \times n $ 的实数矩阵 $ A $,其SVD分解为:

\[A = U \Sigma V^T \]

其中:

  • $ U $ 是 $ m \times m $ 的正交矩阵(列向量称为左奇异向量;正交,$ U^TU = E $)
  • $ \Sigma $ 是 $ m \times n $ 的矩形对角矩阵(非对角线元素为0,对角线元素称为奇异值 $ \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 $)
  • $ V^T $ 是 $ n \times n $ 的正交矩阵的转置(行向量称为右奇异向量;正交,$ V^TV = E $)
  • 一个矩阵可以理解为进行一系列仿射变换,而仿射变换都可以用旋转和伸缩变换结合表示。
  • 这里的奇异值分解可以理解为U矩阵是对原矩阵进行旋转(对准到坐标轴), \(\Sigma\) 矩阵对应在坐标轴上进行伸缩变换,V矩阵再旋转回去

3. 计算步骤

  1. 计算协方差矩阵:

    • 计算 \(A^T A\)\(A A^T\),分别得到 \(n \times n\)\(m \times m\) 的对称矩阵。
  2. 特征值分解:

    • \(A^T A\) 进行特征分解,得到特征值 \(\lambda_i\) 和特征向量 \(v_i\),构成矩阵 \(V\)
    • \(A A^T\) 进行特征分解,得到特征向量 \(u_i\),构成矩阵 \(U\)
  3. 奇异值提取:

    • 奇异值 \(\sigma_i = \sqrt{\lambda_i}\),按降序排列构成 \(\Sigma\) 的对角线。
  • \[ \Sigma = \begin{bmatrix} \sigma_1 & 0 & \cdots & 0 \\ 0 & \sigma_2 & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & \sigma_r \end{bmatrix} \]

  1. 构造矩阵:
    • \(U\)\(V\) 的列向量分别对应左、右奇异向量,满足 \(A v_i = \sigma_i u_i\)

4. 关键性质

  • 降维与低秩近似: (非常重要!!
    通过保留前 \(k\) 个最大的奇异值(截断SVD),可近似原矩阵(或者说将计算出的前 k 项保留)

    \[A \approx U_k \Sigma_k V_k^T \]

    其中 \(U_k\)\(V_k\) 为前 \(k\) 列,\(\Sigma_k\) 为前 \(k\) 个奇异值构成的子矩阵。这种近似在保留主要信息的同时显著降低计算复杂度。

    因为越前面的项保留的主要信息越多,超过一定项数后就可以近似大部分原矩阵效果,同时减去后面的微小的项。

    在图像处理中可以用到,类似于小波分解。

  • 正交性:
    \(U\)\(V\) 的列向量构成正交基,具有旋转的几何意义,而 \(\Sigma\) 表示伸缩。

posted @ 2025-03-20 21:06  ZonHu1  阅读(183)  评论(0)    收藏  举报