以下内容笔记出自‘跟着迪哥学python数据分析与机器学习实战’,外加个人整理添加,仅供个人复习使用。


1. 引入

线性回归是找到y与x之间的关系,以2个自变量x与y为例,自变量与因变量之间的图形是三维空间中的一个平面,但并不是所有数据点都整齐地排列成一条线,都落在这个平面上。如下图所示:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_线性回归


这些x与y的关系,可以用下式来表示:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_最小二乘_02


那么现在的问题就是将参数估计出来,找到最合适的参数。如何找,从误差项入手!

2. 目标函数确定

回归方程的预测值与实际值不是一一对应的,有误差,这个误差可以表示为:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_最小二乘_03


参数的估计与这个误差项有关。

因为要估计,所以要假定误差项的统计性质,这里误差是独立且具有相同分布,并且服从均值为0方差为theta平方的正态分布。它的表达式是:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_线性回归_04


(注意这是一个连续函数的分布函数,当误差为0时,概率p值最大为1)

将上方误差项的式子带入,得到:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_线性回归_05


因此,上面式子当误差项越小(预测值与标签值越靠近),概率越接近1。对于要估计的参数来说,是找到使误差项最小的参数(使目标概率出现最大的参数),于是有了极大似然估计:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_线性回归_06


变换:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_梯度下降_07


插播:最小二乘法与极大似然法的区别与联系
区别:
1.前提:最小二乘不需知道研究对象的分布,但似然法需知道;
2.思路:前者是使得误差平方和最小的参数,是最小二乘参数估计量;后者是使得目标概率出现最大的参数,是极大似然估计量;
3.方法:前者是构造误差函数求解;后者是利用似然函数求解;
4.结果:最小二乘估计量是最佳线性无偏估计;极大似然估计量是渐进有效的一致估计量;
联系:
都是参数估计方法,当服从正态分布时,两者结论相等。
(所以线性回归中,最小二乘与极大似然都是可以用的,假定是正态分布,结果相同)


3. 求解目标函数,估计参数

现在已经得知目标函数,接下来就是求解,简单线性回归中是需要求解极值,计算偏导数:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_梯度下降_08


线性回归模型中绝对误差越大越好吗 线性回归方程误差_线性回归_09


但这种情况是矩阵可逆!!如果矩阵不可逆,显然上述方法是不合适的!因此,在计量经济学中,简单线性回归计算结果像是一个数学上的巧合,恰好能顺利计算出结果的巧合。

而机器学习是一个优化的过程,不是直接求解的过程,本质就是希望机器不断学习,不断调整,找到合适参数,因此提出梯度下降。

4. 梯度下降

得到目标函数后,如果在不断优化中,使得真实值与预测值间的差异越小越好?目标函数值越小越好?

由于目标函数是一个凸函数,关于参数的梯度是函数上升最快的方向,梯度的反方向是函数下降的方向:

线性回归模型中绝对误差越大越好吗 线性回归方程误差_梯度下降_10


梯度下降思路:

1.找到当前最合适的方向,每个参数都有其各自合适的方向;

2.走一小步;

3.按照方向与步伐更新参数;

4.重复1~3步。

梯度下降有3种常见策略:

1.批量梯度下降(所有样本计算一遍):

线性回归模型中绝对误差越大越好吗 线性回归方程误差_梯度下降_11


a为步长,1/m为所选择样本的平均损失

2.随机梯度下降(仅使用一个样本):

线性回归模型中绝对误差越大越好吗 线性回归方程误差_最小二乘_12


3.小批量梯度下降(如10个样本的):

线性回归模型中绝对误差越大越好吗 线性回归方程误差_最小二乘_13

5. 影响梯度下降的因素

考虑步长的影响,通常选择较小的学习率,较多的迭代次数。(上面的a值)