承接上文【线性代数】抽丝剥茧系列之矩阵投影,本篇利用投影矩阵的原理实现最小二乘
现在要求根据三个点(1, 1)、(2, 2)、(3, 2)拟合出一条直线,根据待定系数设满足条件的直线方程为:
$$CX + D =b$$
可以理解为求解如下方程:
$\begin{bmatrix}1&1\1&2\1&3\end{bmatrix} \begin{bmatrix}C\D\end{bmatrix}=\begin{bmatrix}1\2\2\end{bmatrix}$
但是实际上并不存在一条可以同时经过三点的直线,也就是三个点对应的方程Ax=b
无解,所以此时需要通过将b点投影到直线上(p),转化为求解方程$A\hat{x} = p$(p在A矩阵的列空间当中)误差项为e。
根据$\hat{x} = (A^TA)^{-1}A^Tb$:
$$A^TA = \begin{bmatrix}1&1&1\1&2&3\end{bmatrix}\begin{bmatrix}1&1\1&2\1&3\end{bmatrix} = \begin{bmatrix}3&6\6&14\end{bmatrix}$$ 且 $A^Tb = \begin{bmatrix}1&1&1\1&2&3\end{bmatrix} \begin{bmatrix}1\2\2\end{bmatrix}= \begin{bmatrix}5&11\end{bmatrix}$, 即$\begin{cases}3C+6D=5\6C+14D==11\end{cases}$
可以解出:$C = 1/2; D = 2/3$, 即$\hat{x} = \begin{bmatrix}C\D\end{bmatrix} = \begin{bmatrix}1/2\2/3\end{bmatrix}$
对应的拟合直线方程为:$y = 1/2 + 2/3x$
直线形成的空间中关于b的投影p为:$\begin{bmatrix}7/6\10/6\13/6\end{bmatrix}$,对应的误差项e为:$\begin{bmatrix}-1/6\2/6\-1/6\end{bmatrix}$,而b为:$\begin{bmatrix}1\2\2\end{bmatrix}$。
满足b = p + e
,且p·e = 0
,也就是说p和e正交,而误差e是$A^T$的零空间中的向量,p投影属于列空间,反映列空间和左零空间正交。
整个流程的思想可以通过下图反映
b向量所有的维度被列空间和左零空间切分,投影到列空间产生的误差项位于左零空间当中。