【线性代数】【二】2.9 子空间投影

文章目录


前言

上文讲到子空间的正交关系,再高中学习向量正交后,紧接着学习的一个概念是向量投影。现在,我们进一步扩展概念,学习子空间投影。


一、向量投影

向量 a \bm{a} a在向量 b \bm{b} b上的投影 c \bm{c} c满足如下关系:

a T ( b − x ) = 0 \bm{a}^T(\bm{b}-\bm{x})=0 aT(b−x)=0

我们对这个定义来进行形象描述:用向量 a \bm{a} a、 b \bm{b} b所在平面内,垂直于向量 a \bm{a} a的光照向量 b \bm{b} b,其落在向量 a \bm{a} a上的投影就是 x \bm{x} x。

因为向量 x \bm{x} x落在向量 a \bm{a} a上,因此有向量共线关系: x = k a \bm{x}=k\bm{a} x=ka。从而,对原式进行变形有:

a T ( b − k a ) = 0 \bm{a}^T(\bm{b}-k\bm{a})=0 aT(b−ka)=0
k = a T b a T a k=\frac{\bm{a}^T\bm{b}}{\bm{a}^T\bm{a}} k=aTaaTb
x = k a = a T b a T a a = a a T b a T a \bm{x}=k\bm{a}=\frac{\bm{a}^T\bm{b}}{\bm{a}^T\bm{a}}\bm{a}=\bm{a}\frac{\bm{a}^T\bm{b}}{\bm{a}^T\bm{a}} x=ka=aTaaTba=aaTaaTb

观察投影公式,可以发现若 a \bm{a} a, b \bm{b} b正交,则投影为 0 \bm{0} 0;若 a \bm{a} a, b \bm{b} b共线,则投影为 b \bm{b} b。投影向量的长度为 ∣ b ∣ cos ⁡ θ \vert\bm{b}\vert\cos\theta ∣b∣cosθ,其中 θ = a T b ∣ a ∣ ∣ b ∣ \theta=\frac{\bm{a}^T\bm{b}}{\vert\bm{a}\vert\vert\bm{b}\vert} θ=∣a∣∣b∣aTb为向量 a \bm{a} a与向量 b \bm{b} b的夹角。

二、投影矩阵

从上述式子中,我们可以将原向量 b \bm{b} b以外的因子整理出来,得到下式:

x = a a T b a T a = a a T a T a b = P b \bm{x}=\bm{a}\frac{\bm{a}^T\bm{b}}{\bm{a}^T\bm{a}}=\frac{\bm{a}\bm{a}^T}{\bm{a}^T\bm{a}}\bm{b}=\bm{P}\bm{b} x=aaTaaTb=aTaaaTb=Pb

我们称 P \bm{P} P为投影矩阵,对任意向量左乘上 P \bm{P} P,即可得到该向量在 a \bm{a} a上的投影。简单分析一下它的性质:

  1. 对称性:由其形式很容易可以验证 P T = P \bm{P}^T=\bm{P} PT=P
  2. 秩为一:其分子为列向量乘行向量,所得矩阵的每一行均为 a T \bm{a}^T aT的数乘,因此秩为一。
  3. 幂恒等于原矩阵: P n = P \bm{P}^n=\bm{P} Pn=P, P 2 = a ( a T a ) a T a T a a T a = a a T a T a \bm{P}^2=\frac{\bm{a}(\bm{a}^T\bm{a})\bm{a}^T}{\bm{a}^T\bm{a}\bm{a}^T\bm{a}}=\frac{\bm{a}\bm{a}^T}{\bm{a}^T\bm{a}} P2=aTaaTaa(aTa)aT=aTaaaT。

对于性质三,从投影的定义来理解也容易得到这个结论:进行一次投影之后,得到的投影向量已经与 a \bm{a} a共线,继续重复投影操作只会一直得到原投影向量。

三、子空间投影

上述向量投影,是一个向量相对于另一个向量所作的。现在,我们将投影的概念进行扩充,变成一个向量再另一个平面上,甚至是更大的子空间上,比如矩阵 A \bm{A} A的行空间。

类比于向量投影的情况,要找到向量在空间上的投影,也就是要找到这样一个向量,它与原向量的差与该空间正交,即与该空间中的一组基正交。因此,我们有:

A ( b − x ) = 0 \bm{A}(\bm{b}-\bm{x})=\bm{0} A(b−x)=0
A b = A x \bm{A}\bm{b}=\bm{A}\bm{x} Ab=Ax

可见,求投影的过程就是求解上述非齐次性方程组的解。该方程必然有解,因为 A b \bm{Ab} Ab是对矩阵列向量的线性组合,仍然属于矩阵的列空间。同样,由于 x \bm{x} x属于矩阵的行空间,我们可以将其进一步表示为行向量的线性组合:

x = A T y \bm{x}=\bm{A}^T\bm{y} x=ATy
A b = A A T y \bm{Ab}=\bm{AA}^T\bm{y} Ab=AATy

如果 A A T \bm{AA}^T AAT是可逆矩阵,那么我们就可以解出投影的坐标 y \bm{y} y:

y = ( A A T ) − 1 A b \bm{y}=(\bm{AA}^T)^{-1}\bm{Ab} y=(AAT)−1Ab
x = A T y = A T ( A A T ) − 1 A b \bm{x}=\bm{A}^T\bm{y}=\bm{A}^T(\bm{AA}^T)^{-1}\bm{Ab} x=ATy=AT(AAT)−1Ab

从而,我们也能得到投影矩阵:

P = A T ( A A T ) − 1 A \bm{P}=\bm{A}^T(\bm{AA}^T)^{-1}\bm{A} P=AT(AAT)−1A

从形式上观察,子空间的投影矩阵与向量的投影矩阵还是很相似的,如果将 A \bm{A} A变成只有一个行向量 a T \bm{a}^T aT的话,投影矩阵就退化成 P = a a T a T a \bm{P}=\frac{\bm{a}\bm{a}^T}{\bm{a^Ta}} P=aTaaaT,与之前的形式完全一致。

验证上述三条性质,可知1)和3)仍然满足,但是2)不满足,当 A \bm{A} A可逆时,投影矩阵为单位阵,此时原向量在子空间内,其投影就是自身。

四、 A A T \bm{AA}^T AAT的可逆性

那么问题是, A A T \bm{AA}^T AAT是否真的可逆呢?在回答这个问题前,我们先回顾之前的推理:我们要的是找到向量 b \bm{b} b在矩阵 A \bm{A} A的空间中的投影,进一步得到要找到方程 A ( b − x ) = 0 \bm{A}(\bm{b}-\bm{x})=\bm{0} A(b−x)=0的解。对于该方程,如果我们将矩阵 A \bm{A} A中线性相关的行向量去除,取其极大线性无关组构成新的矩阵 A ′ \bm{A}' A′,两方程同解。(矩阵 A \bm{A} A与 A ′ \bm{A}' A′的零空间相同)

因此我们只需要用 ( A ′ A ′ T ) − 1 (\bm{A'A'^T})^{-1} (A′A′T)−1即可求解投影,即只需要说明 A ′ A ′ T \bm{A'A'^T} A′A′T可逆即可。(为简单起见,下面还是用 A \bm{A} A来简单表示行向量均线性无关的矩阵吧)

我们选择证明齐次线性方程组 A A T x = 0 \bm{AA}^T\bm{x}=\bm{0} AATx=0只有零解:

∵ A T x \because \bm{A}^T\bm{x} ∵ATx是对矩阵 A \bm{A} A的行向量的线性组合,这些行向量均线性无关
∴ \therefore ∴ 当 x ≠ 0 \bm{x}\neq\bm{0} x=0时, A T x ≠ 0 \bm{A}^T\bm{x}\neq\bm{0} ATx=0且属于矩阵 A \bm{A} A的行空间
∴ \therefore ∴ 所以 A T x \bm{A}^T\bm{x} ATx不属于矩阵 A \bm{A} A的零空间。
∴ \therefore ∴ 只有当 A T x = 0 \bm{A}^T\bm{x}=\bm{0} ATx=0时,上述方程成立

又 ∵ A T \because \bm{A}^T ∵AT为列满秩矩阵,
∴ \therefore ∴ A T x = 0 \bm{A}^T\bm{x}=\bm{0} ATx=0只有零解。
∴ \therefore ∴ 矩阵 A A T \bm{AA}^T AAT为可逆矩阵。

对于一个子空间而言,选择不同的基向量构造矩阵 A \bm{A} A,从而得到的投影矩阵似乎是不一样的?其实,这些投影矩阵虽然长得不一样,但是都是相似矩阵,这个留到日后再作展开。


总结

本文将向量投影拓展为子空间投影,对其求解、投影矩阵进行了推导。投影是一种寻求近似的方法,之前我们提到当非齐次方程组右侧向量不在矩阵的列空间中时,方程组无解。但是我们可以找到在该列空间中与该向量最为解决的列向量------子空间投影,从而实现在有限的基张成的空间上去近似表示未知向量。

相关推荐
橙子小哥的代码世界5 分钟前
【计算机视觉基础CV-图像分类】01- 从历史源头到深度时代:一文读懂计算机视觉的进化脉络、核心任务与产业蓝图
人工智能·计算机视觉
新加坡内哥谈技术42 分钟前
苏黎世联邦理工学院与加州大学伯克利分校推出MaxInfoRL:平衡内在与外在探索的全新强化学习框架
大数据·人工智能·语言模型
fanstuck1 小时前
Prompt提示工程上手指南(七)Prompt编写实战-基于智能客服问答系统下的Prompt编写
人工智能·数据挖掘·openai
lovelin+v175030409661 小时前
安全性升级:API接口在零信任架构下的安全防护策略
大数据·数据库·人工智能·爬虫·数据分析
唐小旭2 小时前
python3.6搭建pytorch环境
人工智能·pytorch·python
洛阳泰山2 小时前
MaxKB基于大语言模型和 RAG的开源知识库问答系统的快速部署教程
人工智能·语言模型·开源·rag·maxkb
程序猿阿伟2 小时前
《Java 优化秘籍:计算密集型 AI 任务加速指南》
java·开发语言·人工智能
说私域2 小时前
社交媒体形象打造中的“号设化”与开源AI智能名片商城小程序的应用
人工智能·小程序·媒体
是十一月末2 小时前
Opencv之对图片的处理和运算
人工智能·python·opencv·计算机视觉
讨厌编程但喜欢LLM的学院派3 小时前
强化学习入门
人工智能