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


        奇异值分解(SVD) 是线性代数中一个极其重要的矩阵分解方法,适用于任意 m \times n 的复数或实数矩阵。它不仅在理论分析中非常有用,还在机器学习、信号处理、统计学、图像压缩等领域有广泛的应用。

1. SVD 的定义


对于任意矩阵 A \in \mathbb{C}^{m \times n} ,其 SVD 分解为:

        A = U \Sigma V^*

其中:

    U \in \mathbb{C}^{m \times m}
      是左奇异向量矩阵(列向量是 A A^*  的特征向量),且 U 是酉矩阵(U U^* = I)。

    \Sigma \in \mathbb{R}^{m \times n} 
      是奇异值矩阵,其对角线元素 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 ( r = \text{rank}(A) ),其余位置为 0。

    V \in \mathbb{C}^{n \times n} 
      是右奇异向量矩阵(列向量是 A^* A 的特征向量),且 V 是酉矩阵(V V^* = I)。

2. SVD 的计算方法

step 1.  计算A^* A 和 A A^* 
     A^* A  是 n \times n 的 Hermitian 矩阵,其特征值 \lambda_i   是非负实数,且 \sigma_i = \sqrt{\lambda_i} 。

    A A^*  是 m \times m 的 Hermitian 矩阵,其特征值与 A^* A 的非零特征值相同。

step 2.  求 A^* A 的特征值和特征向量

    计算 A^* A 的特征值\lambda_1, \lambda_2, \dots, \lambda_n \geq 0  。 对应的单位特征向量  \mathbf{v}_1, \mathbf{v}_2, \dots, \mathbf{v}_n  构成 V 的列。

step 3.  求 A A^* 的特征向量

    计算 A A^* 的单位特征向量  \mathbf{u}_1, \mathbf{u}_2, \dots, \mathbf{u}_m  ,构成 U 的列。

    对于非零奇异值 \sigma_i,有:

        \mathbf{u}_i = \frac{A \mathbf{v}_i}{\sigma_i}
 
step 4.  构造 \Sigma 

    \Sigma 是一个对角矩阵,其前 r 个对角元素是  \sigma_1, \sigma_2, \dots, \sigma_r ,其余为 0。

3. SVD 的性质

奇异值的唯一性

    奇异值 \sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0 是唯一的;

    但 U 和 V 的列向量(奇异向量)不唯一(可以乘以 e^{i\theta} 仍满足分解,但是在复向量空间中的方向在同一个直线)。

矩阵的秩

        \text{rank}(A) = \text{ num of nonzero singular values} = r

低秩近似(Eckart-Young 定理)

    用前 k 个奇异值近似 A

                A_k = U_k \Sigma_k V_k^*

    其中  U_k, V_k  只保留前 k 列,\Sigma_k  只保留前 k 个奇异值。

    这是最优低秩近似,即:

        \| A - A_k \|_F \leq \| A - B \|_F \quad \forall \ B \text{ meet } \text{rank}(B) \leq k

与特征分解的关系

     A A^* = U \Sigma \Sigma^T U^*(左奇异向量是 A A^* 的特征向量)。

    A^* A = V \Sigma^T \Sigma V^*(右奇异向量是 A^* A 的特征向量)。

4. 谱还原累加的步骤

    作为低秩近似的延伸,按照上述理论,

计算 SVD

        A = U \Sigma V^* 

选择前 k 个值最大的奇异值

    保留 \sigma_1, \sigma_2, \dots, \sigma_k ,其余设为 0。

重建矩阵

        A_k = U \Sigma_k V^*

    其中  \Sigma_k  是仅保留前 k 个奇异值的对角矩阵。

等价的外积形式

        A_k = \sum_{i=1}^k \sigma_i \mathbf{u}_i \mathbf{v}_i^*
 
    即逐层叠加  \sigma_i \mathbf{u}_i \mathbf{v}_i^*  成分。

 

5. 谱还原累加的性质

最优低秩近似(Eckart-Young 定理):

        \| A - A_k \|_F \leq \| A - B \|_F \quad \forall B \text{ meet } \text{rank}(B) \leq k

    其中 \| \cdot \|_F 是 Frobenius 范数。

能量占比

前 k 个奇异值的能量占比:

            \frac{\sum_{i=1}^k \sigma_i^2}{\sum_{i=1}^r \sigma_i^2}
 
可用于决定保留多少奇异值(如 PCA 中选取主成分)。

应用

图像压缩:仅存储  U_k, \Sigma_k, V_k   可大幅减少数据量。

信号去噪:丢弃较小的奇异值(通常对应噪声,或细节)。

6. SVD 的应用

6.1. 在信号处理中的噪声去除与细节保留分析

6.1.1. SVD 低秩近似基本原理

  如前所属,奇异值分解(SVD)的低秩近似可以更精确地表示为:

        A_k = U_k \Sigma_k V_k^H = \sum_{i=1}^k \sigma_i u_i v_i^H ​

        其中 A_k  是原矩阵 A 的秩 k 近似,\sigma_i​ 是奇异值(按降序排列),u_i​ 和 v_i​ 分别是左右奇异向量。

6.1.2. 在信号处理中的应用机制
噪声去除原理
  1. 信号-噪声分离假设:信号能量集中在少数大奇异值对应的分量上,而噪声均匀分布在所有分量中

  2. 截断效应:保留前 kk 个大奇异值分量,舍弃小的奇异值分量

  3. 数学表达

    A = \underbrace{\sum_{i=1}^k \sigma_i u_i v_i^H}_{\text{signal \ part}} + \underbrace{\sum_{i=k+1}^r \sigma_i u_i v_i^H}_{\text{ noise \ part}}
6.1.3. 可能丢失信号细节的原因
  1. 高频信息损失:信号的高频成分可能对应较小的奇异值

  2. 弱特征消除:幅度较小但重要的信号特征可能被当作噪声去除

  3. 非线性特征破坏:复杂信号中的非线性相互作用可能分布在多个奇异分量中

6.1.4. 实际应用中的权衡因素

影响噪声去除效果的因素

因素对去噪有利对细节保留不利
秩 kk 选择较小✔️ 更强去噪✖️ 更多细节丢失
信号稀疏性强✔️ 更好分离-
噪声水平高✔️ 效果明显✖️ 需更大截断
噪声相关性低✔️ 更易分离-
6.1.5. 秩选择方法比较
  1. 奇异值拐点法

    • 绘制奇异值曲线,选择拐点位置

    • 优点:直观

    • 缺点:主观性强

  2. 能量占比法

      k = \min \left\{ t : \frac{\sum_{i=1}^t \sigma_i^2}{\sum_{i=1}^r \sigma_i^2} \geq \theta \right\}  

      通常取 \theta = 0.9θ=0.9 或 0.95

  3. 基于信噪比估计
    需要先验的噪声水平知识

6.1.6. 改进方法(平衡去噪与细节保留)
1. 软阈值法

    对奇异值进行收缩而非硬截断:

        \sigma_i' = \max(\sigma_i - \tau, 0) 

    其中阈值 \tau 可根据噪声水平选择.

2. 加权低秩近似

    对不同奇异值分量赋予不同权重:

        A_{w} = \sum_{i=1}^r w_i \sigma_i u_i v_i^H

    权重 w_i​ 可设计为平滑递减函数.

3. 多尺度SVD处理

    在不同尺度上分别进行SVD分解和重构

4. 与其他方法结合
  • 小波-SVD混合法:先进行小波变换,再对子带进行SVD

  • 字典学习结合:学习更适合的表示基

6.2 应用实例分析(图像处理)

效果对比表
处理方式PSNR(dB)SSIM主观评价
原噪声图像22.10.65明显噪声
硬阈值(k=10)28.30.82部分细节模糊
软阈值(τ=5)27.10.86更好保留边缘
加权法26.80.88最自然过渡

 

6.3 注意

SVD低秩近似在信号处理中:

  1. 优势:数学理论基础强,对高斯白噪声去除效果显著,计算相对高效

  2. 局限:线性方法对非线性特征处理不足,秩选择需要谨慎

  3. 最佳实践:建议结合具体信号特性,采用软阈值或混合方法,并通过客观指标和主观评价共同评估效果

    实际应用中,通常需要根据具体信号特征和噪声特性进行参数调优,必要时结合其他处理方法以达到最佳的去噪与细节保留平衡。

6.4 其他应用方向 


(1)矩阵求逆与伪逆(Moore-Penrose 伪逆)

        如果 A = U \Sigma V^* ,则其伪逆:

        A^+ = V \Sigma^+ U^*
        其中\Sigma^+  是 \Sigma 的伪逆(非零元素取倒数再转置)。

(2)主成分分析(PCA)

        PCA 本质上是数据协方差矩阵 X^T X 的 SVD 分解。

(3)图像压缩

        保留前 k个奇异值,可以大幅减少存储空间:

        A \approx U_k \Sigma_k V_k^*

(4)推荐系统(协同过滤)

        SVD 用于降维,提取用户和物品的潜在特征。

(5)最小二乘问题

        求解 \min_{\mathbf{x}} \| A \mathbf{x} - \mathbf{b} \|_2   时,SVD 提供稳定解。

7. 小矩阵计算示例

7.1. 纯实数矩阵计算示例

        A =\begin{bmatrix} 1 & 1 \\ 0 & 1 \\ 1 & 0 \end{bmatrix}

 计算 SVD:

计算 A^T A 和 A A^T :

        A^TA=\begin{bmatrix} 2 & 1 \\ 1 & 2 \end{bmatrix}     AA^T=\begin{bmatrix} 2 &1 &1 \\ 1 &1 &0 \\ 1 &0 &1 \end{bmatrix}

 
A^T A 的特征值 \lambda_1 = 3, \lambda_2 = 1,对应奇异值 \sigma_1 = \sqrt{3}, \sigma_2 = 1 。

计算 V 和 U

    V 的列是 A^T A 的特征向量。

    U 的前两列由 \mathbf{u}_i = \frac{A \mathbf{v}_i}{\sigma_i}   计算,最后一列由 Gram-Schmidt 正交化得到。

最终 SVD:

        A = U \Sigma V^T = \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}} & \frac{1}{\sqrt{3}} \\ \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{6}} & -\frac{1}{\sqrt{3}} \\ 0 & \sqrt{\frac{2}{3}} & -\frac{1}{\sqrt{3}} \end{bmatrix} \begin{bmatrix} \sqrt{3} & 0 \\ 0 & 1 \\ 0 & 0 \end{bmatrix} \begin{bmatrix} \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \\ -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} \end{bmatrix}

7.2. 复数矩阵 SVD 计算验证示例

  考虑以下 2×2 复数矩阵:

    A = \begin{bmatrix} 1 + 2i & 2 + 1i \\ 3 + 1i & 1 + 3i \end{bmatrix}

SVD 分解结果(数学表示)

假设通过与 7.1 中相同的过程,计算得到:

        U = \begin{bmatrix} -0.548 + 0.272i & 0.763 + 0.183i \\ -0.660 + 0.396i & -0.592 - 0.219i \end{bmatrix}

        \Sigma = \begin{bmatrix} 5.196 & 0 \\ 0 & 1.732 \end{bmatrix}

        V^H = \begin{bmatrix} -0.683 & -0.731 \\ 0.707 + 0.007i & -0.707 + 0.007i \end{bmatrix}

验证分解

可以验证:

        A = U \Sigma V^H

可以手动或用 matlab、numpy 做计算:

    U \Sigma = \begin{bmatrix} (-0.548 + 0.272i) \cdot 5.196 & (0.763 + 0.183i) \cdot 1.732 \\ (-0.660 + 0.396i) \cdot 5.196 & (-0.592 - 0.219i) \cdot 1.732 \end{bmatrix}

然后计算 (U \Sigma) V^H ,结果应与原矩阵 A 一致(在数字计算机和算法允的许数值误差范围之内)。

本示例中还可以继续验证的数学性质

  1. 酉矩阵性质:

    U^H U = I, \quad V^H V = I 
  2. 奇异值是非负实数:

    \sigma_1 = 5.196, \quad \sigma_2 = 1.732 
  3. 矩阵的 Frobenius 范数:

    \|A\|_F = \sqrt{\sigma_1^2 + \sigma_2^2} ​​


8. 小结


SVD 适用于任意矩阵,而特征分解仅适用于方阵。

奇异值 \sigma_i 是非负的,并按降序排列。

SVD 可用于矩阵近似、降维、求伪逆、PCA、图像压缩等。

计算 SVD 通常使用数值方法(如 QR 迭代;使用数值软件:LAPACK,openblas,cusolver),而非手动计算(除非矩阵很小)。

SVD 是数据科学和工程中的核心工具

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值