Geeks_Z の Blog Geeks_Z の Blog
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)

Geeks_Z

AI小学生
首页
  • 学习笔记

    • 《HTML》
    • 《CSS》
    • 《JavaWeb》
    • 《Vue》
  • 后端文章

    • Linux
    • Maven
    • 汇编语言
    • 软件工程
    • 计算机网络概述
    • Conda
    • Pip
    • Shell
    • SSH
    • Mac快捷键
    • Zotero
  • 学习笔记

    • 《数据结构与算法》
    • 《算法设计与分析》
    • 《Spring》
    • 《SpringMVC》
    • 《SpringBoot》
    • 《SpringCloud》
    • 《Nginx》
  • 深度学习文章
  • 学习笔记

    • 《PyTorch》
    • 《ReinforementLearning》
    • 《MetaLearning》
  • 学习笔记

    • 《高等数学》
    • 《线性代数》
    • 《概率论与数理统计》
  • 增量学习
  • 哈希学习
GitHub (opens new window)
  • 线性代数

    • 线性代数知识点总结
    • 方程组的几何解释
    • 矩阵消元
    • 乘法和逆矩阵
    • 矩阵的LU分解
    • 转换、置换、向量空间R
    • 列空间和零空间
    • 求解Ax=0主变量——特解
    • 求解Ax=b 可解性和解的结构
    • 线性相关性、基、维数
    • 四个基本子空间
    • 矩阵空间、秩1矩阵和小世界图
    • 图和网络
    • 正交向量与子空间
    • 子空间投影
    • 投影矩阵和最小二乘
    • 正交矩阵和Gram-Schmidt正交化法
    • 行列式及其性质
    • 行列式公式和代数余子式
    • 克拉默法则、逆矩阵、体积
    • 特征值和特征向量
    • 对角化和$A$的幂
    • 微分方程
    • 马尔科夫矩阵、傅里叶级数
    • 对称矩阵及正定性
    • 对称矩阵及正定性
    • 复数矩阵和快速傅里叶变换
    • 正定矩阵和最小值
    • 相似矩阵和若尔当形
    • 奇异值分解
    • 线性变换及对应矩阵
    • 基变换和图像压缩
    • 左右逆和伪逆
  • 概率论与数理统计

  • 矩阵

  • 分布

  • 数学笔记
  • 线性代数
Geeks_Z
2024-05-01

奇异值分解

本讲我们介绍将一个矩阵写为[MathProcessingError]A=UΣVT,分解的因子分别为正交矩阵、对角矩阵、正交矩阵,与前面几讲的分解不同的是,这两个正交矩阵通常是不同的,而且这个式子可以对任意矩阵使用,不仅限于方阵、可对角化的方阵等。

  • 在正定一讲中(第二十八讲)我们知道一个正定矩阵可以分解为[MathProcessingError]A=QΛQT的形式,由于[MathProcessingError]A对称性其特征向量是正交的,且其[MathProcessingError]Λ矩阵中的元素皆为正,这就是正定矩阵的奇异值分解。在这种特殊的分解中,我们只需要一个正交矩阵[MathProcessingError]Q就可以使等式成立。

  • 在对角化一讲中(第二十二讲),我们知道可对角化的矩阵能够分解为[MathProcessingError]A=SΛST的形式,其中[MathProcessingError]S的列向量由[MathProcessingError]A的特征向量组成,但[MathProcessingError]S并不是正交矩阵,所以这不是我们希望得到的奇异值分解。

我们现在要做的是,在A的列空间中找到一组特殊的正交基v1,v2,⋯,vr,这组基在A的作用下可以转换为A的行空间中的一组正交基u1,u2,⋯,ur。

用矩阵语言描述为A[v1v2⋯vr]=[σ1u1σ2u2⋯σrur]=[u1u2⋯ur][σ1σ2⋱σn],即Av1=σ1u1,Av2=σ2u2,⋯,Avr=σrur,这些σ是缩放因子,表示在转换过程中有拉伸或压缩。而A的左零空间和零空间将体现在σ的零值中。

另外,如果算上左零、零空间,我们同样可以对左零、零空间取标准正交基,然后写为A[v1v2⋯vrvr+1⋯vm]=[u1u2⋯urur+1⋯un][σ1⋱σr[0]],此时U是m×m正交矩阵,Σ是m×n对角矩阵,VT是n×n正交矩阵。

最终可以写为AV=UΣ,可以看出这十分类似对角化的公式,矩阵A被转化为对角矩阵Σ,我们也注意到U,V是两组不同的正交基。(在正定的情况下,U,V都变成了Q。)。进一步可以写作A=UΣV−1,因为V是标准正交矩阵所以可以写为A=UΣVT

计算一个例子,A=[44−33],我们需要找到:

  • 行空间R2的标准正交基v1,v2;
  • 列空间[MathProcessingError]R2的标准正交基[MathProcessingError]u1,u2;
  • σ1>0,σ2>0。

在A=UΣVT中有两个标准正交矩阵需要求解,我们希望一次只解一个,如何先将U消去来求V?

这个技巧会经常出现在长方形矩阵中:求ATA,这是一个对称正定矩阵(至少是半正定矩阵),于是有ATA=VΣTUTUΣVT,由于U是标准正交矩阵,所以UTU=I,而ΣTΣ是对角线元素为σ2的对角矩阵。

现在有ATA=V[σ1σ2⋱σn]VT,这个式子中V即是ATA的特征向量矩阵而Σ2是其特征值矩阵。

同理,我们只想求U时,用AAT消掉V即可。

我们来计算ATA=[4−343][44−33]=[257725],对于简单的矩阵可以直接观察得到特征向量ATA[11]=32[11],ATA[1−1]=18[1−1],化为单位向量有σ1=32,v1=[1212],σ2=18,v2=[12−12]。

到目前为止,我们得到[44−33]=[u?u?u?u?][320018][121212−12],接下来继续求解U。

AAT=UΣVTVΣTUT=UΣ2UT,求出AAT的特征向量即可得到U,[44−33][4−343]=[320018],观察得AAT[10]=32[10],AAT[01]=18[01]。但是我们不能直接使用这一组特征向量,因为式子AV=UΣ明确告诉我们,一旦V确定下来,U也必须取能够满足该式的向量,所以此处Av2=[0−18]=u2σ2=[0−1]18,则u1=[10],u2=[0−1]。(这个问题在本讲的官方笔记 (opens new window)中有详细说明。)

  • 补充:AB的特征值与BA的特征值相同,证明来自Are the eigenvalues of AB equal to the eigenvalues of BA? (Citation needed!) (opens new window):

    取λ≠0,v是AB在特征值取λ时的的特征向量,则有Bv≠0,并有λBv=B(λv)=B(ABv)=(BA)Bv,所以Bv是BA在特征值取同一个λ时的特征向量。

    再取AB的特征值λ=0,则0=detAB=detAdetB=detBA,所以λ=0也是BA的特征值,得证。

最终,我们得到[44−33]=[100−1][320018][121212−12]。

再做一个例子,A=[4386],这是个秩一矩阵,有零空间。A的行空间为[43]的倍数,A的列空间为[48]的倍数。

  • 标准化向量得v1=[0.80.6],u1=15[12]。
  • ATA=[4836][4386]=[80606045],由于A是秩一矩阵,则ATA也不满秩,所以必有特征值0,则另特征值一个由迹可知为125。
  • 继续求零空间的特征向量,有v2=[0.6−0,8],u1=15[2−1]

最终得到[4386]=[12―2−1―][125000―][0.80.60.6―−0.8―],其中下划线部分都是与零空间相关的部分。

  • v1,⋯,vr是行空间的标准正交基;
  • u1,⋯,ur是列空间的标准正交基;
  • vr+1,⋯,vn是零空间的标准正交基;
  • ur+1,⋯,um是左零空间的标准正交基。

通过将矩阵写为Avi=σiui形式,将矩阵对角化,向量u,v之间没有耦合,A乘以每个v都能得到一个相应的u。

上次更新: 2025/07/06, 13:25:25
相似矩阵和若尔当形
线性变换及对应矩阵

← 相似矩阵和若尔当形 线性变换及对应矩阵→

最近更新
01
优化器
07-04
02
weight_decay
07-03
03
帮助信息查看
06-08
更多文章>
Theme by Vdoing | Copyright © 2022-2025 Geeks_Z | MIT License
京公网安备 11010802040735号 | 京ICP备2022029989号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式