- 参考:麻省理工线性代数
- 阅读本文前请先了解矩阵四个基本子空间,参考:线性代数拾遗(5) —— 矩阵的四个基本子空间
文章目录
1. 向量投影到二维空间
-
考察二维平面投影,如下将向量 b \pmb{b} bbb 投影到向量 a \pmb{a} aaa 方向,得到 a \pmb{a} aaa 的子空间中的向量 p \pmb{p} ppp,假设是 a \pmb{a} aaa 的 x x x 倍
如图可见 b − p \pmb{b-p} b−pb−pb−p 可以衡量 a , b \pmb{a,b} a,ba,ba,b 间的误差,它与向量 a \pmb{a} aaa 正交,內积为 0,即有
a ⊤ ( b − p ) = a ⊤ ( b − x a ) = 0 ⇒ x = a ⊤ b a ⊤ a ⇒ p = a x = a a ⊤ b a ⊤ a = ( a a ⊤ a ⊤ a ) b \begin{aligned} &\space\space\space\space\space\space\pmb{a^\top}(\pmb{b-p}) = \pmb{a^\top}(\pmb{b}-x\pmb{a}) = \pmb{0}\\ &\Rightarrow x = \frac{\pmb{a^\top b}}{\pmb{a^\top a}} \\ &\Rightarrow \pmb{p} = \pmb{a}x = \pmb{a} \frac{\pmb{a^\top b}}{\pmb{a^\top a}} = ( \frac{\pmb{aa^\top }}{\pmb{a^\top a}}) \pmb{b} \end{aligned} a⊤a⊤a⊤(b−pb−pb−p)=a⊤a⊤a⊤(bbb−xaaa)=000⇒x=a⊤aa⊤aa⊤aa⊤ba⊤ba⊤b⇒ppp=aaax=aaaa⊤aa⊤aa⊤aa⊤ba⊤ba⊤b=(a⊤aa⊤aa⊤aaa⊤aa⊤aa⊤)bbb 这时,我们把 a a ⊤ a ⊤ a \frac{\mathbf{aa^\top }}{\mathbf{a^\top a}} a⊤aaa⊤ 称为投影矩阵
,记为 P \pmb{P} PPP,用它左乘原始向量 b \pmb{b} bbb 就得到投影向量 p \pmb{p} ppp,即 P b = p \pmb{Pb} = \pmb{p} PbPbPb=ppp -
两种特殊情况
- 若 b \pmb{b} bbb 和 a \pmb{a} aaa 平行,有 P b = b \pmb{Pb} = \pmb{b} PbPbPb=bbb
- 若 b \pmb{b} bbb 和 a \pmb{a} aaa 正交,有 P b = 0 \pmb{Pb} = \pmb{0} PbPbPb=000
二维空间中,平行和正交于向量 a \pmb{a} aaa 的两个向量构成一组基,可以线性表出任意向量,投影本质就是保留平行部分而消除正交部分
-
研究投影矩阵 P = a a ⊤ a ⊤ a \pmb{P}=\frac{\mathbf{aa^\top }}{\mathbf{a^\top a}} PPP=a⊤aaa⊤ 性质
- 分子 a ⊤ a \mathbf{a^\top a} a⊤a 是向量內积,是个常数,不管它
- 分子 a a ⊤ \mathbf{aa^\top } aa⊤,这是个矩阵,显然有 rank ( A ) = 1 \text{rank}(\pmb{A})=1 rank(AAA)=1,其列空间就是 k a k\pmb{a} kaaa,因此用投影矩阵左乘向量会把向量变换到其列空间 k a k\pmb{a} kaaa 中,实现投影
- a a ⊤ \mathbf{aa^\top } aa⊤ 对称,所以 p \pmb{p} ppp 是对称矩阵, P = P ⊤ \pmb{P} = \pmb{P^\top} PPP=P⊤P⊤P⊤
- 重复投影两次,结果不变,即有 P 2 = P \pmb{P}^2 = \pmb{P} PPP2=PPP
2. 向量投影到多维空间
2.1 计算方法
-
完全和第 1 节中二维情况完全类似,现有矩阵 A \pmb{A} AAA,将向量 b \pmb{b} bbb 投影到 A \pmb{A} AAA 列向量 a 1 , a 2 , . . . , a n \pmb{a}_1,\pmb{a}_2,...,\pmb{a}_n aaa1,aaa2,...,aaan 张成的空间中得到 p \pmb{p} ppp。三维情况示意图如下
可见这时仍有 e = b − p \pmb{e} = \pmb{b-p} eee=b−pb−pb−p 可以衡量 b \pmb{b} bbb 和 A \pmb{A} AAA 列空间间的误差,我们希望希望二者正交(也就是希望误差最小化),这意味着 b \pmb{b} bbb 与 A \pmb{A} AAA 的所有列向量正交,內积均为 0;另一方面,这时 p \pmb{p} ppp 在 A \pmb{A} AAA 列空间中,故能用 A \pmb{A} AAA 的列向量线性表示,设 p = A x ^ \pmb{p}=\pmb{A\hat{x}} ppp=Ax^Ax^Ax^,则有
[ a 1 ⊤ a 2 ⊤ ⋮ a m ⊤ ] ( b − p ) = [ a 1 ⊤ a 2 ⊤ ⋮ a m ⊤ ] ( b − A x ^ ) = [ 0 0 ⋮ 0 ] ⇒ A ⊤ ( b − A x ^ ) = 0 ⇒ x ^ = ( A ⊤ A ) − 1 A ⊤ b ⇒ p = A x ^ = A ( A ⊤ A ) − 1 A ⊤ b \begin{aligned} &\space\space\space\space\begin{bmatrix} \pmb{a_1}^\top \\ \pmb{a_2}^\top \\ \vdots\\ \pmb{a_m}^\top \end{bmatrix} (\pmb{b-p}) = \begin{bmatrix} \pmb{a_1}^\top \\ \pmb{a_2}^\top \\ \vdots\\ \pmb{a_m}^\top \end{bmatrix} (\pmb{b-\pmb{A\hat{x}}}) = \begin{bmatrix} \pmb{0}\\ \pmb{0} \\ \vdots\\ \pmb{0} \end{bmatrix} \\ &\Rightarrow \pmb{A^\top}(\pmb{b-\pmb{A}\hat{x}}) = \pmb{0}\\ &\Rightarrow \pmb{\hat{x}} = (\pmb{A^\top A})^{-1}\pmb{A^\top b} \\ &\Rightarrow \pmb{p} = \pmb{A\hat{x}} = \pmb{A}(\pmb{A^\top A})^{-1}\pmb{A^\top b} \end{aligned} ⎣⎢⎢⎢⎡a1a1a1⊤a2a2a2⊤⋮amamam⊤⎦⎥⎥⎥⎤(b−pb−pb−p)=⎣⎢⎢⎢⎡a1a1a1⊤a2a2a2⊤⋮amamam⊤⎦⎥⎥⎥⎤(b−Ax^Ax^Ax^b−Ax^Ax^Ax^b−Ax^Ax^Ax^)=⎣⎢⎢⎢⎡000000⋮000⎦⎥⎥⎥⎤⇒A⊤A⊤A⊤(b−AAAx^b−AAAx^b−AAAx^)=000⇒x^x^x^=(A⊤AA⊤AA⊤A)−1A⊤bA⊤bA⊤b⇒ppp=Ax^Ax^Ax^=AAA(A⊤AA⊤AA⊤A)−1A⊤bA⊤bA⊤b 这时,我们把 A ( A ⊤ A ) − 1 A ⊤ \pmb{A}(\pmb{A^\top A})^{-1}\pmb{A^\top} AAA(A⊤AA⊤AA⊤A)−1A⊤A⊤A⊤ 称为投影矩阵
,记为 P \pmb{P} PPP,用它左乘原始向量 b \pmb{b} bbb 就得到投影向量 p \pmb{p} ppp,即 P b = p \pmb{Pb} = \pmb{p} PbPbPb=ppp。 -
两种特殊情况
- 若 b ∈ C ( A ) \pmb{b} \in C(\pmb{A}) bbb∈C(AAA),有 P b = b \pmb{Pb} = \pmb{b} PbPbPb=bbb
- 若 b ⊥ C ( A ) \pmb{b} \perp C(\pmb{A}) bbb⊥C(AAA),即 b ∈ N ( A ⊤ ) \pmb{b} \in N(\pmb{A^\top}) bbb∈N(A⊤A⊤A⊤),有 P b = 0 \pmb{Pb} = \pmb{0} PbPbPb=000
m m m 维( A \pmb{A} AAA 列向量尺寸)空间可以分解为 C ( A ) C(\pmb{A}) C(AAA) 和 N ( A ⊤ ) N(\pmb{A^\top}) N(A⊤A⊤A⊤) 的正交直和,因此这两个空间的基放在一起就构成 m m m 维空间的一组基,可以线性表出任意向量,投影本质就是保留 C ( A ) C(\pmb{A}) C(AAA) 中部分而消除 N ( A ⊤ ) N(\pmb{A^\top}) N(A⊤A⊤A⊤) 中部分,可以用子空间关系图如下表示
如图可见,除了上述投影 P b = p \pmb{Pb=p} Pb=pPb=pPb=p 把 b \pmb{b} bbb 投影到 C ( A ) C(\pmb{A}) C(AAA) 中以外,还有另一个投影 ( I − P ) b = e (\pmb{I-P})\pmb{b} = \pmb{e} (I−PI−PI−P)bbb=eee 将 b \pmb{b} bbb 投影到 N ( A ⊤ ) N(\pmb{A^\top}) N(A⊤A⊤A⊤) 中,可见当 P \pmb{P} PPP 是投影矩阵时, I − P \pmb{I-P} I−PI−PI−P 也是一个投影矩阵 -
研究投影矩阵 P = A ( A ⊤ A ) − 1 A ⊤ \pmb{P}=\pmb{A}(\pmb{A^\top A})^{-1}\pmb{A^\top} PPP=AAA(A⊤AA⊤AA⊤A)−1A⊤A⊤A⊤ 性质
- 当 A \pmb{A} AAA 非方阵时, A \pmb{A} AAA 列满秩 ⇔ A ⊤ A \Leftrightarrow \pmb{A^\top A} ⇔A⊤AA⊤AA⊤A 可逆,
- 当 A \pmb{A} AAA 是可逆方阵时,其中的括号可以打开,这时有 P = I \pmb{P}=\pmb{I} PPP=III,即投影矩阵做的是恒等映射。确实如此,因为 A \pmb{A} AAA 可逆,意味着列满秩,其列空间是整个 n n n 维空间,投影前后都在同一个空间中,那么恒等映射显然是误差最小的
- 简单计算即可得到 P \pmb{P} PPP 是对称矩阵,即有 P = P ⊤ \pmb{P} = \pmb{P^\top} PPP=P⊤P⊤P⊤
- 重复投影两次,结果不变,即有 P 2 = P \pmb{P}^2 = \pmb{P} PPP2=PPP,也可从代数角度简单计算验证
- P \pmb{P} PPP 是投影矩阵时, I − P \pmb{I-P} I−PI−PI−P 也是一个投影矩阵
2.2 意义
- 现实生活中常有这样的应用:根据一些测量值求解另一些值,比如根据卫星与几个基站的通讯延时测量其位置。这其实就是在解方程,通常一组观测值解出一个结果,为了提高准确性,通常会收集很多数据,这样就联立到得到方程组 A x = b \pmb{Ax} = \pmb{b} AxAxAx=bbb一般情况下样本量远大于未知数个数,即 A m × n \pmb{A}_{m\times n} AAAm×n 中 m > > n m>>n m>>n,这样的超定方程很难有解析解,除非其中含有多达 m − n m-n m−n 个无效约束,因为我们没法对非方阵的 A \pmb{A} AAA 求逆来得到 x = A − 1 b \pmb{x} = \pmb{A}^{-1}\pmb{b} xxx=AAA−1bbb
- 这时我们可以不断地去除方程,直到剩下的方程组有解为止,但这会造成数据浪费。另一种更好的方法是找一个和已知数据 “误差最小” 的解,设这个近似解为
x
^
\pmb{\hat{x}}
x^x^x^,我们有
A x ^ = p \pmb{A\hat{x}} = \pmb{p} Ax^Ax^Ax^=ppp 第 1 节中已分析过,我们这时是通过矩阵 A \pmb{A} AAA 左乘,把向量 x ^ \pmb{\hat{x}} x^x^x^ 变换到了 A \pmb{A} AAA 的列空间中得到 p \pmb{p} ppp,为了保证 “误差最小” ,这时 p \pmb{p} ppp 应当是 b \pmb{b} bbb 在 A \pmb{A} AAA 列空间中的投影 - 一句话说,可以利用空间投影估计无解线性方程组的最小误差解,基于这个原理可以得到最小二乘法