最小二乘法的本质


深入理解最小二乘法

最小二乘法的本质

深入理解最小二乘法

  • Kubernetes 知识图谱
  • 云原生导航
  • 谷歌搜索
  • Raft 协议动画演示
  • 搬瓦工

    曾经看过国内各种关于讲解最小二乘法的教科书,但都是一大堆枯燥的推导公式,看起来很高深的样子,其实根本不知道它在说些什么!传授知识本来就应该告诉你这个东西到底是什么,它到底是干嘛的,就应该把复杂的问题简单化,可国内大多数教科书都是反其道而行,全是看起来很牛逼的样子,学生看了却什么也不懂。今天我就用最通俗易懂的方式,从线性代数和线性空间的角度告诉你什么是最小二乘法。


    最小二乘法是一种最优化技术,它的做法是找到一组估计值,使得估计值与实际值的平方和的值最小,通过使误差的平方和最小,我们可以得到一下线性方程组,对这个线性方程组进行求解就可以得到拟合曲线。我们可以通过一个例子来进行讲解。

    假设有一组数据点$t_1$,$t_2$和$t_3$,它们的坐标分别是(1,1),(2,2),(3,2),而我想找到最优的那条线,假设这条直线为:

    $$y = C + Dt\tag{1}$$

    它不会通过所有的点,因为不存在这样的直线,所以我要选一条最优的使总误差最小的直线。我们需要知道总误差怎么度量,因为它决定了哪条线胜出,我们必须先定出误差是什么,才能通过最小化这个量而找到C和D。在此我就不作图了,因为图像很简单,你们可以自己想象一下,或者自己拿笔画画。 将这三个点带入方程,得到:

    $$ \begin{cases} C + D = 1 \\ C + 2D =2 \\ C + 3D =2 \end{cases}\tag{2} $$

    通过计算我们知道,它们联立是无解的,但可以有最优解。 这个方程组可写成矩阵的形式 $$AX = B\tag{3}$$

    其中,$A = \begin{bmatrix} 1 & 1 \\1 & 2 \\1 & 3 \end{bmatrix}$,$X = \begin{bmatrix} C & D \end{bmatrix}$,$B = \begin{bmatrix} 1 \\2 \\3 \end{bmatrix}$。

      A的列向量线性无关,所以它们构成了列空间的一组基,但列空间不包括向量B,所以方程无解。那么最优解是什么呢? 我们将AX与B之间的差值相加,得到:

    $$AX - B = E\tag{4}$$

    其中,$E = \begin{bmatrix} e_1 \\e_2 \\e_3 \end{bmatrix}$,$e_1 = C + D - 1$,$e_2 = C + 2D - 2$,$e_3 = C + 3D - 2$,E称为误差向量。

    我们要求的是$\left|AX - B\right|^2$ = $\left|E\right|^2$的最小值。

    $$\left|E\right|^2 = \left|e_1\right|^2 + \left|e_2\right|^2 + \left|e_3\right|^2\tag{5}$$

    分别过点$t_1$,$t_2$和$t_3$作与x轴垂直的直线,与直线y=C+Dt的交点分别为$s_1$,$s_2$,$s_3$。于是

    $$ \begin{cases} \left|e_1\right| = \left|t_1-s_1\right| \\ \left|e_2\right| = \left|t_2-s_2\right| \\ \left|e_3\right| = \left|t_3-s_3\right| \end{cases}\tag{6} $$

    假设$s_1$,$s_2$,$s_3$的纵坐标分别为$p_1$,$p_2$,$p_3$,令$p = \begin{bmatrix}p_1 \\p_2\\p_3\end{bmatrix}$。

    我们知道方程组$AX = B$是无解的,但方程组$AX = p$有解,我们来求解方程组$AX = p$。为了提醒自己这里表示的是最优的估计,而不是完美的结果,我们在X上面加个小帽子,使方程组变为

    $$A\hat{X} = p\tag{7}$$

    其中p是B在p向量这个方向上的投影,设投影矩阵为P,则

    $$p = PB\tag{8}$$

    如果不懂什么是投影矩阵,可以参考我的另一篇文章子空间投影,在此不作赘述。 通过投影矩阵的知识我们知道投影矩阵P的表达式为

    $$P = A(A^TA)^{-1}A^T\tag{9}$$

    代入(8),得:

    $$p = A(A^TA)^{-1}A^TB\tag{10}$$

    将(10)代入(7),得:

    $$A\hat{X} = A(A^TA)^{-1}A^TB$$

    最后得到方程组为:

    $$A^TAX = A^TB\tag{11}$$

    解得

    $$\hat{X} = \begin{bmatrix} \frac{2}{3} \\ \frac{1}{2} \end{bmatrix}$$

    这就是最优解,所以最优的那条直线为:

    $$y = \frac{2}{3} + \frac{1}{2}t\tag{12}$$


    -------他日江湖相逢 再当杯酒言欢-------

    「真诚赞赏,手留余香」

    米开朗基杨

    真诚赞赏,手留余香

    使用微信扫描二维码完成支付

    math 

    相关推荐