【线性代数】【二】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,从而得到的投影矩阵似乎是不一样的?其实,这些投影矩阵虽然长得不一样,但是都是相似矩阵,这个留到日后再作展开。


总结

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

相关推荐
张人玉42 分钟前
人工智能——猴子摘香蕉问题
人工智能
草莓屁屁我不吃1 小时前
Siri因ChatGPT-4o升级:我们的个人信息还安全吗?
人工智能·安全·chatgpt·chatgpt-4o
小言从不摸鱼1 小时前
【AI大模型】ChatGPT模型原理介绍(下)
人工智能·python·深度学习·机器学习·自然语言处理·chatgpt
AI科研视界1 小时前
ChatGPT+2:修订初始AI安全性和超级智能假设
人工智能·chatgpt
霍格沃兹测试开发学社测试人社区1 小时前
人工智能 | 基于ChatGPT开发人工智能服务平台
软件测试·人工智能·测试开发·chatgpt
小R资源2 小时前
3款免费的GPT类工具
人工智能·gpt·chatgpt·ai作画·ai模型·国内免费
artificiali4 小时前
Anaconda配置pytorch的基本操作
人工智能·pytorch·python
酱香编程,风雨兼程5 小时前
深度学习——基础知识
人工智能·深度学习
Lossya5 小时前
【机器学习】参数学习的基本概念以及贝叶斯网络的参数学习和马尔可夫随机场的参数学习
人工智能·学习·机器学习·贝叶斯网络·马尔科夫随机场·参数学习
Trouvaille ~5 小时前
【Python篇】深度探索NumPy(下篇):从科学计算到机器学习的高效实战技巧
图像处理·python·机器学习·numpy·信号处理·时间序列分析·科学计算