最小二乘法和向量垂直投影_#数学基础备忘#

用线性空间以及向量垂直投影来解释最小二乘法

最小二乘法问题

下面的内容来自, 维基百科 :

最小二乘法(英语:least squares method),又称最小平方法,是一种数学优化建模方法。它通过最小化误差的平方和寻找数据的最佳函数匹配。 利用最小二乘法可以简便的求得未知的数据,并使得求得的数据与实际数据之间误差的平方和为最小。

“最小二乘法”是对线性方程组,即方程个数比未知数更多的方程组,以回归分析求得近似解的标准方法。在这整个解决方案中,最小二乘法演算为每一方程式的结果中,将残差平方和的总和最小化。

最小二乘问题,可以用一组方程个数比未知数更多的线性方程组,表示如下:

\left[ \begin{aligned} a^0_{0}x_0 + a^0_{1}x_1 + ... + a^0_{k}x_k \\ a^1_{0}x_0 + a^1_{1}x_1 + ... + a^1_{k}x_k \\ ... ... \\ a^1_{n}x_0 + a^1_{n}x_1 + ... + a^n_{k}x_k \end{aligned} \right] = \left[ \begin{aligned} y_0 \\ y_1 \\ ... \\ y_k \end{aligned} \right] = y

当方程个数n数目远大于k,这个方程不存在解,但是我们让方程等于一个另外向量y',这个向量不完全等于y',但二次距离最近。这就是最小二乘法做法,求解最近二次距离向量y',大量存在在各种各样的工程问题中,当然我们的目标是求得x向量。

用向量垂直投影来求解

首先我们如何得到y',这是求解的关键, 我们观察上面的线性方程组,用矩阵表示就是:

Ax = y'

显然y'就在矩阵A的列空间中,它是在列空间离向量y'最近的向量(二次距离),一个向量在一个空间中最近的向量,显然是这个向量在这个空间的投影。即:

y' - y \perp C(A)

即向量y'-y垂直于A的列向量空间,用图示如下:

垂直关系

因为是垂直关系,所以y'-y存在于 A^T的null空间(可以展开公式,每个列向量点乘y'等于0),即存在方程:

A^T(y'-y) = 0

A.x=y' 代入上面的公式,即得到:

\begin{aligned} A^T(y'-y) &= A^TAx - A^Ty = 0 \\ A^TAx &= A^Ty \\ x &= (A^TA)^{-1}A^Ty \end{aligned}

这样就求解到了最小二乘的解,以上这个解释比用向量微分来解释更加直接,容易理解。

此外,如果为了求解y, 这样可以直接得到投影公式:

\begin{aligned} y' &=Ax \\ &=A(A^TA)^{-1}A^T.y \\ let P&=A(A^TA)^{-1}A^T \\ y' &= Py \end{aligned}

后面的A(A^TA)^{-1}A^T就是向量y,在矩阵A列空间上的投影矩阵P。

这个矩阵如果乘以列向量空间中的任意一个Ax,最后得到是这个向量本身,如下:

\begin{aligned} (Ax)' &= PAx \\ &= A(A^TA)^{-1}A^TAx \\ &= AIx \\ & = Ax \end{aligned}

投影矩阵是一个很好记忆理解线性最基础知识的一个切入点,而且很容易用来理解最小二乘法,值得备忘。