本科

本科代数线性代数


奇异值分解


在线性代数领域,奇异值分解(SVD)是一种基本技术,它提供了一种强大的方法来将矩阵分解为其组成部分。奇异值分解广泛应用于信号处理、统计学和机器学习等多个领域的许多应用中。理解 SVD 可以显著增强对数据在高维空间中行为的理解,并帮助进行各种降维和数据压缩任务。

奇异值分解简介

奇异值分解是一种将矩阵分解为三个独立矩阵的方法。给定一个维度为 mxn 的矩阵 A,SVD 将其表示为:

A = UΣVᵀ

其中:

  • U 是一个 mxm 的正交矩阵。
  • Σ(sigma)是一个 mxn 的对角矩阵。
  • V 是一个 nxn 的正交矩阵。

在这里,UV 是正交矩阵,即它们的列是正交归一向量。

视觉示例

考虑一个简单的 2x2 矩阵 A

A = [[4, 0],
     [3, -5]]

对于这样的矩阵,SVD 分解将得出:

U = [[1, 0],
     [0, 1]]

Σ = [[5, 0],
     [0, 3]]

Vᵀ = [[0, 1],
      [1, 0]]

这可以理解为将矩阵 A 分解为由 UV 表示的旋转/反射,以及由对角矩阵 Σ 表示的缩放。

A

理解组件

正交矩阵 UV

正交矩阵具有特殊的性质。对于一个矩阵来说,要成为正交矩阵,每对不同列的点积必须为零,每列与自身的点积必须为一,这意味着范数保持不变。对于矩阵 U

UᵀU = I

同样对于 V

VᵀV = I

正交矩阵很重要,因为它们保留了数据的几何性质,如角度和长度。

对角矩阵 Σ

对角矩阵 Σ 包含原始矩阵 A 的奇异值。这些值可以看作是沿着由 UV 的列定义的各个方向的拉伸因子。

示例:手动计算 SVD

考虑矩阵:

A = [[3, 1],
     [1, 3]]

以下是计算 SVD 的分步骤指南。

步骤 1:计算 AᵀAAAᵀ

首先,计算以下内容:

AᵀA = [[10, 6],
       [6, 10]]
AAᵀ = [[10, 6],
       [6, 10]]

步骤 2:寻找特征值和特征向量

这些矩阵的特征值将有助于确定奇异值,而特征向量提供了正交矩阵。

求解 {|AᵀA - λI| = 0} 得到特征值 λ₁ = 16λ₂ = 4

Σ 因此变为:

Σ = [[4, 0],
     [0, 2]]

步骤 3:构造 VU

AᵀA 的特征向量,我们计算 V

V = [[1/√2, -1/√2],
     [1/√2, 1/√2]]

同样,从 AAᵀ 的特征向量计算 U

U = [[1/√2, -1/√2],
     [1/√2, 1/√2]]

奇异值分解的应用

数据压缩

SVD 可以用于压缩数据。通过将矩阵 UΣV 截断为较低的维度,可以在信息损失最小化的情况下实现显著的数据压缩。

信号处理

在信号处理领域,奇异值可以帮助识别信号的“形状”和“结构”,有效滤除噪声并解析出重要的特征。

SVD 在图像处理中的示例

灰度图像可以表示为矩阵。使用 SVD,我们可以通过保留最大的奇异值来压缩图像。这种技术在保留图像主要特征的同时,减少了数据表示的大小。

考虑一个图像矩阵 I

I = [[255, 240, 230],
     [200, 180, 175],
     [215, 196, 188]]

应用 SVD:

U = [[0.68, -0.72],
     [0.68, 0.68]]

Σ = [[457, 0],
     [0, 25]]

Vᵀ = [[0.60, -0.80],
      [0.80, 0.60]]

通过仅保留最大的奇异值及其相应的向量,图像保留了其主要特征但缩小了数据表示。

结论

总之,奇异值分解是线性代数中不可或缺的工具,使我们能够将矩阵分解为更简单和更易于解释的成分的乘积。理解 SVD 不仅可以提升我们的数学直觉,还能为计算、数据科学和工程等领域的实际任务提供强大的工具。


本科 → 1.1.10


U
username
0%
完成于 本科


评论