![从机器学习到无人驾驶](https://wfqqreader-1252317822.image.myqcloud.com/cover/461/34752461/b_34752461.jpg)
3.2 线性回归中的最小二乘法模型
在3.1节线性回归的概念学习中,我们明确了线性回归的模型定义和数学表达式,接下来的任务是利用数据集求解出模型参数。首先我们希望利用公式推导来解出表达式的最优解。这种解决方案就是著名的最小二乘法。所谓最小二乘,其实也可以叫作最小平方和,其目的就是最小化预测值或拟合值与实际观测值之间的偏差平方和,使得拟合对象无限接近目标对象。换句话说,最小二乘法可以用于对函数的拟合。在线性回归中的最小二乘法应该准确地称为线性最小二乘。为了能够更加清晰地反映最小二乘法的实践过程,我们从简单的线性回归模型、一元线性回归模型(示意图见图3.1)出发展开线性分析求解过程。
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P56_73428.jpg?sign=1738937157-Qk2QfDKaUgbGso5PVMGYV30WzTmom6ji-0-687f71caf870281354239c21761ffc0d)
图3.1 一元线性回归模型示意图
一元线性回归只输入一个要素X,回归方程Y=ӨX可转化成Y=aX+b,这个形式是标准直线方程,a(Ө1)为直线的斜率,b(Ө0)是直线的截距。如图3.1所示,我们的目标就是在二维坐标系中确认一条直线,使得各个数据点到直线的投影距离和最小。对于一元线性回归来说,可以看成Y的值是随着X的值变化的,每一个实际的X都会有一个实际的Y值,叫作Y实际,我们要求出一条直线,每一个实际的X都会有一个直线预测的Y值,叫作Y预测。所以(Y实际-Y预测)就可以写成(Y实际-(aX实际+b)),于是平方和可以写成a和b的函数。只需要求出让Q最小的a和b的值,回归线就求出来了。
首先,一元函数最小值点的导数为零,比如Y=X^2,X^2的导数是2X,令2X=0,求得X=0的时候,Y取最小值。因此,对于函数Q,分别对a和b求偏导数,然后令偏导数等于0,就可以得到一个关于a和b的二元方程组,进而求出a和b,这个方法被称为最小二乘法。下面是具体的数学演算过程。
先把公式展开一下:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P57_4443.jpg?sign=1738937157-NLteZTYWy1BKNEACB9jVdDetqJLm3jMz-0-4eea57a9494c94677e249fb55dd6798a)
Q函数表达式展开后,利用平均数把上面式子中每个括号里的内容进一步化简,例如:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P57_4444.jpg?sign=1738937157-fnTLWr3Vp1aNdaM46Mclcr9Hwm8WNYla-0-08fa7fa6a7804e67f6592bf9cd0d78b5)
通过定义Y2的平均能够得到:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P57_4445.jpg?sign=1738937157-KbkQx14VAYHt1VIlpO1zG0IvF2VNANqu-0-31d3f1f36ad68219dd4555c72bf15d24)
上式两边乘以n,于是:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P57_73520.jpg?sign=1738937157-SMt0J5ZdtHXIEhGMpRazjAlE61qP03d4-0-afb3df86ab8b8c290df94228ee16008a)
得到Q的最终化简结果后,分别对Q求a的偏导数和b的偏导数,令偏导数等于0。
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P57_73521.jpg?sign=1738937157-amZwUdLzthwBg64nNZdJuMynXQkGNofV-0-c1d85d605ed347810ac82b493778fdf6)
Q分别对a和b求偏导数,令偏导数为0。
进一步化简,可以消掉2n,最后得到关于a和b的二元方程组:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P58_73524.jpg?sign=1738937157-A5RHYjR8jOSg6Tck8K2arzrugiThuNez-0-7e4769f3fe860e3c238aa702cd678376)
通过上述关于a和b的二元方程组,最后得出a和b的求解公式:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P58_73525.jpg?sign=1738937157-OrhjT6X5g5UtVBaDW3DOK9pgdpdZI1H1-0-6496714932677449e56347ec792d13c3)
这样就使用最小二乘法求出了直线的斜率a和截距b。
在一元线性回归的参数求解成功的基础上,我们继续推导多元线性回归的参数集合θ的求解方法。首先用矩阵来描述数据集合和对应的标签集合,数据集合可以表示成一个m×(n+1)大小的矩阵,m表示数据集合的大小,n表示数据维度。由于在3.1节中将偏置参数(Ө0)统一化于多元线性回归的向量模型中了,因此数据集中最后一列需要补充恒为1的一列数据。X和Y的矩阵如下:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P58_73526.jpg?sign=1738937157-6hcMNuYlbG6YNOqlBiaSnTmwMQoxnXYr-0-1b4f255a5127787b9a53e4a2d5b1d69c)
接下来,需要求得使预测值或拟合值与实际观测值之间的偏差平方和最小的最优参数解,用数学表达式表述如下:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P58_73528.jpg?sign=1738937157-Sph3r0JFPdpw4KqjxBpcQjLovcZDiJ0a-0-294bca9a2cddd685032f366c7760641c)
令,对E进行求导能够得到:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P58_73530.jpg?sign=1738937157-yEfgo2OXovWPPbUK0B2SSIjf3pjRXGQ2-0-6c284c44d488cf8ffedd9dadbb9de864)
令上式等于零就可以解出θ的最优解:
![](https://epubservercos.yuewen.com/DE03FB/18562448801474106/epubprivate/OEBPS/Images/Figure-P58_73531.jpg?sign=1738937157-lQ7VSjgLij1FdTWaPVqLLp8sVSa7QUey-0-f8eaf8b2ffc53b393563dbfadeb7b4e8)
其中,为
矩阵的逆矩阵,因此这里要求
是满秩矩阵或正定矩阵。