郭震 AI公众号:郭震AI

21 奇异值分解的概念

发布日期:

最近更新:

分类: AI线性代数小白

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点7 个
图文要点6 张
正文规模1.5k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 7 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

奇异值分解的概念概念图查看大图
奇异值分解的概念概念图

SVD 可以把任意矩阵拆成方向、强度和方向三部分。它比特征分解更通用,也更适合实际数据矩阵。

奇异值分解的概念核对图查看大图
奇异值分解的概念核对图

我会把奇异值看成各方向上的重要程度。越大的奇异值,通常保留的信息越多。

在前一篇中,我们讨论了内积与正交性,介绍了内积空间的应用。在这一篇中,我们将探讨奇异值分解(SVD)的基本概念,以及它在数据分析和机器学习中的重要性。奇异值分解是一种非常强大的工具,它在特征提取、降维和噪声过滤等方面发挥着重要作用。

奇异值分解的定义

奇异值分解是线性代数中的一个重要分解方法,它将一个任意的矩阵分解为三个特殊矩阵的乘积。更 formally,一个 m×nm \times n 矩阵 AA 可以被分解为:

奇异值分解概念判断卡查看大图
奇异值分解概念判断卡

理解奇异值分解时,先看原矩阵、左右奇异向量、奇异值大小、低秩近似和信息保留比例。

A=UΣVTA = U \Sigma V^T

其中:

  • UU 是一个 m×mm \times m 的正交矩阵,其列向量称为左奇异向量。
  • Σ\Sigma 是一个 m×nm \times n 的对角矩阵,其中对角线上的元素(称为奇异值)是非负的,并且按降序排列。
  • VTV^Tn×nn \times n 的正交矩阵,VV 的列向量称为右奇异向量。

奇异值的意义

在这个分解中,奇异值 σi\sigma_iΣ\Sigma 矩阵的对角线元素)表示了原始数据在某一个特定方向上的“重要性”或“信息量”。奇异值越大,代表该方向上的信息越重要。因此,通过选择前 kk 个最大的奇异值和对应的奇异向量,我们可以进行数据的降维处理。

奇异值分解的几何意义

从几何的角度理解,奇异值分解可以被视为将数据从原始空间转换到一个新的空间。在 UU 的列空间中,每个数据点(即矩阵 AA 的行)被投影到一个新的“特征空间”中,保留了数据的重要结构信息。矩阵 AA 的奇异值则量化了这些特征的“重要性”。

应用案例

案例:图像压缩

线性代数阅读地图卡查看大图
线性代数阅读地图卡

开始读《奇异值分解的概念》前,可以先看图中从问题到结果的路径。读完后再对照正文,确认自己能不能照着复现。

奇异值分解在图像处理领域有着广泛应用。其中一个经典的应用是图像压缩。假设我们有一个灰度图像,它可以用一个矩阵 AA 表示。通过奇异值分解,我们可以将这个矩阵分解为三个矩阵的乘积:

  1. 计算奇异值分解:A=UΣVTA = U \Sigma V^T
  2. 选择前 kk 个奇异值及其对应的奇异向量来重构图像:
Ak=UkΣkVkTA_k = U_k \Sigma_k V_k^T

这里,UkU_kΣk\Sigma_kVkV_k 分别是矩阵 UUΣ\SigmaVV 的前 kk 列。

通过这种方式,我们可以仅用 kk 个奇异值来近似重构原始图像,这样就达到了压缩的目的,同时尽量保留重要的图像信息。此方法特别有效,能够显著减少存储空间并保持图像的可读性。

Python 代码示例

下面是一个使用 Python 的 numpy 库来进行奇异值分解的简单示例:

import numpy as np
import matplotlib.pyplot as plt

# 生成一个简单的随机矩阵(这里我们可以想象成一幅图像)
A = np.random.rand(100, 100)

# 进行奇异值分解
U, S, VT = np.linalg.svd(A)

# 选择前 k 个奇异值
k = 10
A_k = np.dot(U[:, :k], np.dot(np.diag(S[:k]), VT[:k, :]))

# 可视化结果
plt.subplot(1, 2, 1)
plt.title('Original Matrix')
plt.imshow(A, cmap='gray')

plt.subplot(1, 2, 2)
plt.title('Reconstructed Matrix (k=10)')
plt.imshow(A_k, cmap='gray')

plt.show()

在上面的代码中,我们首先生成一个随机矩阵,并使用 numpy.linalg.svd 进行奇异值分解。然后,利用前 kk 个奇异值重构矩阵,并用可视化的方法展示原始矩阵和重构矩阵的对比。

奇异值分解的概念应用复盘卡查看大图
奇异值分解的概念应用复盘卡

复习《奇异值分解的概念》时,建议把关键概念、操作步骤和可见结果放在同一页里回看。

奇异值分解的概念应用检查卡查看大图
奇异值分解的概念应用检查卡

练习《奇异值分解的概念》时,建议把输入条件、处理动作和可见结果写在一起,方便下次复查。

总结

奇异值分解是理解和处理高维数据的强大工具,它不仅提供了数据的低秩近似,还为进一步的数据分析(如 PCA、推荐系统等)奠定了基础。在下篇中,我们将深入探讨如何计算奇异值,这将帮助我们更好地掌握奇异值分解的实际应用。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

奇异值分解的概念适合谁读?

这是 AI 线性代数必备 系列第 21 / 26 篇,适合正在学习AI 线性代数必备,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇AI 线性代数必备教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...