SVD专题2 线性映射的奇异值分解——矩阵形式的推导

本文介绍了线性映射的奇异值分解(SVD)的矩阵形式推导,从秩零定理出发,探讨了矩阵的列空间、零空间、共轭映射等相关概念。文章详细展示了如何通过正算子的谱分解找到最佳的基,最终得出线性映射的SVD表达式:A=UΣV∗,其中U和V是酉矩阵,Σ是对角矩阵,包含奇异值。SVD在理论与数值计算中有广泛应用。
摘要由CSDN通过智能技术生成


Image


2021-11-9 分割线

麻烦各位看官大大们多多点赞哦,让更多的人看到这篇文章~

以下是原文:


SVD专题2 线性映射的奇异值分解——矩阵形式的推导

前言 Preface

本讲不能和本系列的第1讲:SVD专题1 算子的奇异值分解——矩阵形式的推导_夏小正的鲜小海的博客-CSDN博客 采取同样的讲解策略,原因是线性映射不同于算子,涉及到维度的变化,倘若对线性代数的几个基本定理没有理解的话,很难看懂每一步都是想做什么。

几点说明:

第一点,为什么在第1讲的推导中用的是符号 T T T ,这里是符号 A A A 呢?

一方面是我在写这部分内容时参考的两大资料来源:線代啟示錄 和 一份 CMU 的课程讲义 Computer Science Theory for the Information Age, Spring 2012. 都是用的 A A A ,另一方面是,符号 T T T 其实是沿袭了 “Linear Algebra Done Right” 中将其视作算子或线性映射的习惯表达,而 SVD 在具体应用中基本都是在和矩阵打交道的,而用 T T T 来表达矩阵的很少。这里为了与人们的习惯用法保持一致,故使用记号 A A A

第二点,下面的出现的向量空间默认是复向量空间或复内积向量空间。

特别注意,本节中出现的 A A A 有两重含义:当把 A A A 看作代数语言,它表示一个抽象的线性映射;当使用矩阵语言,把 A A A 视作该线性映射对应的矩阵表述,那么 A A A 就是 C M × N \mathbb{C}^{M\times N} CM×N 中的一个实实在在的矩阵。

预备知识 Prerequisite

2.1 秩-零定理 Rank-Nullity Theorem

作为后面推导的基石,一定要搞懂这个线性代数中最基本的一大定理。

考虑由 n n n 维复向量空间 V V V m m m 维复向量空间 M M M 的一个线性映射 A : V ↦ W A:V \mapsto W A:VW。我们把 V V V 中那些被 A A A 映射到 W W W 0 \mathbf{0} 0 向量的全体向量,叫做 A A A 的零空间 null ⁡ A \operatorname{null}{A} nullA (或称核空间 ker ⁡ A \operatorname{ker}{A} kerA ),把 V V V 中所有向量都映射到 W W W 中去,相应的被映射的值域,叫做 A A A 的值空间 range ⁡ A \operatorname{range}{A} rangeA 。不难证明, ker ⁡ A \operatorname{ker}{A} kerA V V V 的一个子空间, range ⁡ A \operatorname{range}{A} rangeA W W W 的一个子空间,并且称值空间 range ⁡ A \operatorname{range}{A} rangeA 的维度为线性映射 A A A 的秩,记作 rank ⁡ A \operatorname{rank}{A} rankA (不要忘了,子空间的维度 = 基中线性独立的向量的个数)。

秩零定理告诉我们, V V V 的维度,一定等于 ker ⁡ A \operatorname{ker}{A} kerA 的维度与 range ⁡ A \operatorname{range}{A} rangeA 的维度之和,即:
n = dim ⁡ V = dim ⁡ ker ⁡ A + dim ⁡ range ⁡ A n = \operatorname{dim}{V} = \operatorname{dim}{\operatorname{ker}{A}} + \operatorname{dim}{\operatorname{range}{A}}\\ n=dimV=dimkerA+dimrangeA
这个定理的证明是很重要的,蕴含了一个很有用的想法,这个想法将作为后续 SVD 推导的出发点,有助于直观理解。现在给出该定理在代数视角下的证明。

如果设 ker ⁡ A \operatorname{ker}{A} kerA 的维度是 p p p ,一组基为 { u 1 , . . . , u p } \{\mathbf{u_1}, ..., \mathbf{u_p}\} { u1,...,up} ,那么我们可以在这组基的基础上将其扩充成 V V V 的一组基 { u 1 , . . . , u p , v 1 , . . . , v r } \{\mathbf{u_1}, ..., \mathbf{u_p}, \mathbf{v_1}, ..., \mathbf{v_r}\} { u1,...,up,v1,...,vr} ,即我们又新增了 r r r 个线性独立的向量。那么 V V V 的维度 n = p + r n=p+r n=p+r 。其实不难看出,这里其实相当于构造出来了一个子空间 span ⁡ { v 1 , . . . , v r } \operatorname{span}\{\mathbf{v_1}, ..., \mathbf{v_r}\} span{ v1,...,vr} ,这个子空间把 { v 1 , . . . , v r } \{\mathbf{v_1}, ..., \mathbf{v_r}\} { v1,...,vr} 作为它的基。现在 V V V 中就有两个子空间了,分别是 ker ⁡ A \operatorname{ker}{A} kerA span ⁡ { v 1 , . . . , v r } \operatorname{span}\{\mathbf{v_1}, ..., \mathbf{v_r}\} span{ v1,...,vr} 。它们刚好凑成了二元直和分解, ker ⁡ A ⊕ span ⁡ { v 1 , . . . , v r } = V \operatorname{ker}{A} \oplus \operatorname{span}\{\mathbf{v_1}, ..., \mathbf{v_r}\}=V kerAspan{ v1,...,vr}=V 。直和在这里可以简单的理解为“互不隶属”。

既然有了一组基 { u 1 , . . . , u p , v 1 , . . . , v r } \{\mathbf{u_1}, ..., \mathbf{u_p}, \mathbf{v_1}, ..., \mathbf{v_r}\} { u1,...,up,v1,...,vr} ,很自然的想法是 V V V 中的每一个向量 v \mathbf{v} v 都可以写为基的线性组合:
A v = a 1 u 1 + ⋯ + a p u p + b 1 v 1 + ⋯ + b r v r = b 1 A v 1 + ⋯ + b r A v r \begin{aligned} A\mathbf{v}&=a_1\mathbf{u_1}+\cdots+a_p\mathbf{u_p}+ b_1\mathbf{v_1}+\cdots+b_r\mathbf{v_r} \\ &=b_1A\mathbf{v_1}+\cdots+b_rA\mathbf{v_r} \end{aligned}\\ Av=a1u1++apup+b1v1++brvr=b1Av1++brAvr
第二个等号成立的原因是 A A A u 1 \mathbf{u_1} u1 u p \mathbf{u_p} up 都给映射为 W W W 中的 0 \mathbf{0} 0 向量了,或者说每个 u i \mathbf{u_i} ui 都在 ker ⁡ A \operatorname{ker}{A} kerA 中。

上式说明 range ⁡ A \operatorname{range}{A} rangeA 其实就是 span ⁡ { b 1 A v 1 + ⋯ + b r A v r } \operatorname{span}\{b_1A\mathbf{v_1}+\cdots+b_rA\mathbf{v_r}\} span{ b1Av1++brAvr}。如果能够证明 { A v 1 , . . . , A v r } \{A\mathbf{v_1}, ..., A\mathbf{v_r}\} { Av1,...,Avr} 是线性独立集,那么 range ⁡ A \operatorname{range}{A} rangeA 的维度恰好就为 r r r ,定理就得证了。下面证明 { A v 1 , . . . , A v r } \{A\mathbf{v_1}, ..., A\mathbf{v_r}\} { Av1,...,Avr} 的确是线性独立集,即 { A v 1 , . . . , A v r } \{A\mathbf{v_1}, ..., A\mathbf{v_r}\} { Av1,...,Avr} range ⁡ A \operatorname{range}{A} rangeA 的一组基。

令: c 1 A v 1 + ⋯ + c r A v r = 0 c_1 A\mathbf{v_1}+\cdots+ c_r A\mathbf{v_r}=0 c1Av1++crAvr=0 ,有:
c 1 A v 1 + ⋯ + c r A v r = 0 ⟺   A ( c 1 v 1 + ⋯ + c r v r ) = 0 \begin{aligned} & c_1 A\mathbf{v_1}+\cdots+ c_r A\mathbf{v_r}= \mathbf{0} \\ \Longleftrightarrow \ & A \left( c_1 \mathbf{v_1}+\cdots+ c_r \mathbf{v_r} \right)= \mathbf{0} \end{aligned}\\  c1Av1++crAvr=0A(c1v1++crvr)=0
意味着 c 1 v 1 + ⋯ + c r v r c_1 \mathbf{v_1}+\cdots+ c_r \mathbf{v_r} c1v1++crvr ker ⁡ A \operatorname{ker}{A} ker

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值