keer_zu 发表于 2022-9-26 09:31

搞懂最小二乘法

要解决的问题
在工程应用中,我们经常会用一组观测数据去估计模型的参数,模型是我们根据先验知识定下的。比如我们有一组观测数据( x i , y i )
(一维),通过一些数据分析我们猜测y yy和x xx之间存在线性关系,那么我们的模型就可以定为:

f ( x ) = k x + b

这个模型只有两个参数,所以理论上,我们只需要观测两组数据建立两个方程,即可解出两个未知数。类似的,假如模型有n nn个参数,我们只需要观测n nn组数据就可求出参数,换句话说,在这种情况下,模型的参数是唯一确定解。

但是在实际应用中,由于我们的观测会存在误差(偶然误差、系统误差等),所以我们总会做多余观测。比如在上述例子中,尽管只有两个参数,但是我们可能会观测n nn组数据( x 1 , y 1 ) . . , ( x n , y n )

这会导致我们无法找到一条直线经过所有的点,也就是说,方程无确定解。




keer_zu 发表于 2022-9-26 09:32

于是这就是我们要解决的问题:虽然没有确定解,但是我们能不能求出近似解,使得模型能在各个观测点上达到“最佳“拟合。那么“最佳”的准则是什么?可以是所有观测点到直线的距离和最小,也可以是所有观测点到直线的误差(真实值-理论值)绝对值和最小,也可以是其它,如果是你面临这个问题你会怎么做?

早在19世纪,勒让德就认为让“误差的平方和最小”估计出来的模型是最接近真实情形的。

为什么就是误差平方而不是其它的,这个问题连欧拉、拉普拉斯都未能成功回答,后来是高斯建立了一套误差分析理论,从而证明了确实是使误差平方和最小的情况下系统是最优的。理论的证明也并不难,我写在了另外一篇博客 最小二乘法的原理理解,相信你了解后会对最小二乘法有更深刻的认识。

按照勒让德的最佳原则,于是就是求:

这个目标函数取得最小值时的函数参数,这就是最小二乘法的思想,所谓“二乘”就是平方的意思。从这里我们可以看到,最小二乘法其实就是用来做函数拟合的一种思想。

至于怎么求出具体的参数那就是另外一个问题了,理论上可以用导数法、几何法,工程上可以用梯度下降法。下面以最常用的线性回归为例进行推导和理解。


keer_zu 发表于 2022-9-26 09:33

线性回归
线性回归因为比较简单,可以直接推导出解析解,而且许多非线性的问题也可以转化为线性问题来解决,所以得到了广泛的应用。甚至许多人认为最小二乘法指的就是线性回归,其实并不是,最小二乘法就是一种思想,它可以拟合任意函数,线性回归只是其中一个比较简单而且也很常用的函数,所以讲最小二乘法基本都会以它为例。

下面我会先用矩阵法进行推导,然后再用几何法来帮助你理解最小二乘法的几何意义。

矩阵解法


keer_zu 发表于 2022-9-26 09:35


keer_zu 发表于 2022-9-26 09:44

几何意义
几何意义会直观的帮助你理解最小二乘法究竟在干什么。首先先来解释一下矩阵乘法的几何意义,对于一个方程组A x AxAx,我们可以看做是x xx对矩阵A AA的列向量的线性组合,比如:

可以看作:

画在坐标轴上可以看到,向量b其实就是向量a1与a2的线性组合,因为他们都是在一个平面上,显然是有解的。





keer_zu 发表于 2022-9-26 09:46

画在图中如下:





keer_zu 发表于 2022-9-26 09:47




keer_zu 发表于 2022-9-26 09:52

本帖最后由 keer_zu 于 2022-9-26 09:53 编辑

参考:不错的数学知识

keer_zu 发表于 2022-9-27 10:04

https://zhuanlan.zhihu.com/p/369259801

keer_zu 发表于 2022-9-27 10:04

https://zhuanlan.zhihu.com/p/60451765

keer_zu 发表于 2022-9-27 10:04

https://zhuanlan.zhihu.com/p/398894071
页: [1]
查看完整版本: 搞懂最小二乘法