[线性代数补习课] 投影矩阵

发布时间 2023-04-11 15:31:53作者: Nickel_Angel

为了学习机器学习,发现自己需要补习一下自己的线性代数知识。但是不太希望在机器学习的原篇堆这些东西,所以就另开一篇记录线性代数知识。

本篇记录的是投影矩阵,为了给出多元线性回归问题正规方程证明。


1. 四个特殊空间

我们都知道对于一个矩阵有列空间行空间零空间

如果一个 \(n \times m\) 的矩阵 \(A\) 的列向量分别为 \(\mathbf{x}_1, \mathbf{x}_2, \cdots \mathbf{x}_n\),这个 \(n\) 个向量所能张成的空间叫做矩阵 \(A\) 的列空间。行空间定义同理。对于零空间,则是所有满足 \(A \mathbf{x} = \mathbf{0}\) 方程的解的向量 \(\mathbf{x}\) 所组成的空间称为零空间。

我们现在需要考虑行空间和零空间的关系,我们可以发现它们是正交的,也即行空间中任意一个向量均与零空间中任意一个向量正交。这时因为由于 \(A \mathbf{x} = \mathbf{0}\),所以对于任意一个行向量 \(\mathbf{x}_i\) 和零空间中任意一个向量 \(\mathbf{x}\),都有 \(\mathbf{x}_i \cdot \mathbf{x} = 0\),进而可知零空间的任意向量与行空间的任意一个基正交,进而得证。

同理我们可知,\(A\) 的列空间与 \(A^{\mathbf{T}}\) 的零空间正交。

2. 投影

我们先在考虑对于两个向量,投影意味着什么。

显然对于两个不共线的向量 \(\mathbf{a}, \mathbf{b}\), \(\mathbf{b}\)\(\mathbf{a}\) 方向上的投影为一个向量 \(\mathbf{p}\),这个向量满足 \(\mathbf{p} = \lambda \mathbf{a}\),且 \(\mathbf{b} - \mathbf{p}\)\(\mathbf{a}\) 垂直。

则我们可以根据 \(\mathbf{a}^{\mathbf{T}}(\mathbf{b} - \lambda \mathbf{a}) = 0\),求出:

\[\lambda = \dfrac{\mathbf{a}^{\mathbf{T}} \mathbf{b}}{\mathbf{a}^{\mathbf{T}} \mathbf{a}} \]

则有: \(\mathbf{p} = \mathbf{a} \dfrac{\mathbf{a}^{\mathbf{T}} \mathbf{b}}{\mathbf{a}^{\mathbf{T}} \mathbf{a}}\)

其实我们可以发现,如果我们令 \(P = \dfrac{\mathbf{a} \mathbf{a}^{\mathbf{T}}}{\mathbf{a}^{\mathbf{T}} \mathbf{a}}\),那么我们就可以将上面的结果写为 \(\mathbf{p} = P \mathbf{b}\),其中 \(P\) 即为投影矩阵,其作用即为将任意向量投影到 \(\mathbf{a}\) 的方向上。显然对于向量来说,投影矩阵有下面三条性质:

  1. \(R(P) = 1\)
  2. \(P\) 为对称矩阵;
  3. \(P = P^2\)

第三条是因为由投影的意义,一个向量已经投影到一个方向后,再求一次到这个方向的投影,这个向量就不会改变了。

为什么我们要研究投影呢,因为我们在解方程 \(A \mathbf{x} = \mathbf{b}\) 的时候,这个方程可能无解。显然 \(\mathbf{b}\) 不在矩阵 \(A\) 的列空间。所以我们希望先将 \(\mathbf{b}\) 投影到这个列空间,假设投影为 \(\mathbf{p}\),然后再通过求 \(A \hat{\mathbf{x}} = \mathbf{p}\) 的解,将其当作原方程的近似解。

这里解释一下向量到空间的投影,即上面的投影 \(\mathbf{p}\) 需要满足其在 \(A\) 的列空间,且向量 \(\mathbf{b} - \mathbf{p}\) 与列空间中的任意向量垂直。

我们则可以知道 \(\mathbf{b} - \mathbf{p}\)\(A^{\mathbf{T}}\) 的零空间中,即 \(A^{\mathbf{T}}(\mathbf{b} - \mathbf{p}) = \mathbf{0}\),进而:

\[A^{\mathbf{T}}(\mathbf{b} - A \hat{\mathbf{x}}) = \mathbf{0} \]

则有:

\[\hat{\mathbf{x}} = (A^\mathbf{T} A)^{-1} A^{\mathbf{T}} \mathbf{b} \\ \mathbf{p} = A \hat{\mathbf{x}} = A(A^\mathbf{T} A)^{-1} A^{\mathbf{T}} \mathbf{b} \]

显然我们这里同时也得到了将一个向量投影到 \(A\) 行空间的投影矩阵 \(P\)

\[P = A(A^\mathbf{T} A)^{-1} A^{\mathbf{T}} \]

对于投影矩阵 \(P\) 来说,我们可以确定的是它仍满足上面的两条性质:

  1. \(P\) 为对称矩阵;
  2. \(P = P^2\)

由于我们在讨论投影矩阵的时候 \(A\) 通常不为方阵(实际应用中,一般是因为未知量少,方程比较多的情况导致 \(A \mathbf{x} = \mathbf{b}\) 无解),故 \(A^{-1}, (A^{\mathbf{T}})^{-1}\) 是不存在的,进而我们不能将 \((A^\mathbf{T} A)^{-1}\) 化为 \(A^{-1}(A^{\mathbf{T}})^{-1}\);另外由于公式中要求 \(A^\mathbf{T} A\) 可逆,所以我们需要要求 \(A\) 列满秩。