对于$R^2$空间来说,过$vec{b}$做$\vec{a}$的投影$\vec{p}=x\vec{a}$,而$\vec{e}=\vec{b}-\vec{p}$是误差。
易知:
$$\vec{e}\perp\vec{a}$$
即:
$$a^Te=0 \Longrightarrow a^T(b-ax) = 0\Longrightarrow a^Tax =a^Tb$$
可以解出x:
$$x = \frac{a^Tb}{a^Ta}$$
同时得到投影向量p:
$$p = xa = a\frac{a^Tb}{a^Ta}$$
令投影矩阵为大写P,则得到投影矩阵P:
$$P = \frac{aa^T}{a^Ta}$$
即表示投影矩阵P
作用于任意向量b
上。
对于投影矩阵P,有两条性质:
- $P^T = P$
- $P^2 = P$
投影矩阵的意义:
对于能够求解的方程组
Ax = b
,b一定属于矩阵A长成的列向量空间,但实际情况是,对于大多数的b,并不在要求的向量空间当中,如上图中的b向量一样,也就是说,方程经常是无解的(也可以理解为方程数量远多于未知数的数量),此时转化为求解b的投影矩阵p,即求解方程$A\hat{x} = p$。
同样的,对于$R^3$空间来说,$\vec{a_1}$和$\vec{a_2}$的线性组合构成了子空间平面$L$,即$\vec{a}$可以由$\vec{a_1}$和$\vec{a_2}$线性表示,$\vec{b}$是平面外一向量,$\vec{p}=x\vec{a}$是平面L上$\vec{b}$的投影,$\vec{e}=\vec{b}-\vec{p}$是误差。易知:$\vec{e}\perp$平面$L$,$\vec{a_1}$和$\vec{a_2}$均在平面$L$上,即$\vec{e}\perp\vec{a_1}, \vec{e}\perp\vec{a_2}$,如果用矩阵A表示$a_1$和$a_2$($A =\begin{bmatrix}a_1&a_2\end{bmatrix}$),则矩阵A张成的向量空间即为平面$L$。
$\begin{cases}\vec{a_1}^T\vec{e}=0\\vec{a_2}^T\vec{e}=0\end{cases} \Longrightarrow \begin{cases}\vec{a_1}^T(\vec{b}-\vec{p})=0\\vec{a_2}^T(\vec{b}-\vec{p})=0\end{cases} \Longrightarrow \begin{cases}\vec{a_1}^T(\vec{b}-A\hat{x})=0\\vec{a_2}^T(\vec{b}-A\hat{x})=0\end{cases} \Longrightarrow A^T(b-A\hat{x}) = 0$
注:可以发现e处在$A^T$的零空间当中,也就是说e和列向量子空间正交
同样可以解得$\hat{x}$:
$\hat{x} = (A^TA)^{-1}A^Tb$
注:此处的逆不能随便展开,因为矩阵A不一定可逆(逆不一定存在)。
投影向量为:
$p = A(A^TA)^{-1}A^Tb$
投影矩阵P为:
$P = A(A^TA)^{-1}A^T$
而投影矩阵P同样具有如下性质:
- $P^T = P$
- $P^2 = P$