购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.7 奇异值分解

奇异值分解(Singular Value Decomposition,简称SVD)是线性代数中的一种重要技术。它可以将任意矩阵分解成三个部分的乘积,即A=U∑V T ,其中A是一个m×n的实数或复数矩阵,U 和 V 是两个列正交矩阵(也就是说,它们的列向量两两正交且长度为1),∑是一个m×n的对角矩阵,对角线上的元素称为奇异值。

具体来说,对于一个m×n的矩阵A,我们可以找到两个列正交矩阵U和V,以及一个对角矩阵∑,使得A=U∑V T 。其中,U的列向量组成了A的左奇异向量,V的列向量组成了A的右奇异向量,而∑的对角线上的元素则表示A在这些奇异向量方向上的奇异值。

举个常见的例子——假设你正在学习一门课程,考试之后你得到了若干个分数作为成绩。这些分数可以被表示为一个向量(也就是一列数值)。现在假设你要分析所有同学的成绩,你需要把这些向量放到一个矩阵中。这个矩阵的行表示不同的学生,列表示不同的考试题目。

但是你发现这个矩阵非常大,而且很多的数据都是冗余的或者无用的。例如,某些学生可能从来没有考过某个题目,某些题目可能没有任何学生答对,等等。此时,你希望找到一种方法,压缩这个矩阵并提取出最重要的信息。

这时候,奇异值分解就可以派上用场了。它可以将一个很大的矩阵分解成三个部分的乘积,其中第一个矩阵U包含最重要的行信息,第二个矩阵∑包含每个行向量的重要程度,而第三个矩阵V则包含最重要的列信息,就像图2-17所示的这样。

图2-17 奇异值分解,就像把全校学生的成绩单分解成U、∑、V三个矩阵

换句话说,通过奇异值分解,我们可以用更小的矩阵来表示原始矩阵,并从中提取出最重要的信息。这个过程就相当于对成绩进行降维,只保留最重要的因素,而忽略一些无用或冗余的信息。

类似的例子还有很多,比如在图片压缩中,我们可以用奇异值分解来找到图像的主要特征,从而把图像压缩成更小的尺寸。在音频处理中,我们也可以用奇异值分解来提取音频信号的主要特征,从而实现音频降噪、语音识别等功能。

原理输出2.17

为了帮助大家更好地理解奇异值分解的概念,请大家在ChatGPT的帮助下,录制一个长度约为2分钟的短视频,介绍什么是奇异值分解。

小贴士

可以参考的ChatGPT提示词如下。

“请简要介绍什么是奇异值分解。”

“请结合生活中的例子,介绍奇异值分解的概念。”

“假设你是一位大学老师,请用轻松易懂的语言向学生讲解奇异值分解。”

实操练习2.17

为了让大家可以用代码的形式学习奇异值分解,接下来大家可以让ChatGPT生成代码演示,并在Colab新建一个Notebook文件运行这些代码。

小贴士

要让ChatGPT生成代码,可以参考的提示词如下。

“请用Python演示奇异值分解,需要可视化。”

“用Python可视化的方法演示奇异值分解。” 3Hxf3Yf00cxEclOdOxWDlAMUTQ7rT0vMCrDaKk6UffJ26wjG4kBCgD49x+uTNfKy

点击中间区域
呼出菜单
上一章
目录
下一章
×