以下内容笔记出自‘跟着迪哥学python数据分析与机器学习实战’,外加个人整理添加,仅供个人复习使用。
1. 引入
线性回归是找到y与x之间的关系,以2个自变量x与y为例,自变量与因变量之间的图形是三维空间中的一个平面,但并不是所有数据点都整齐地排列成一条线,都落在这个平面上。如下图所示:
这些x与y的关系,可以用下式来表示:
那么现在的问题就是将参数估计出来,找到最合适的参数。如何找,从误差项入手!
2. 目标函数确定
回归方程的预测值与实际值不是一一对应的,有误差,这个误差可以表示为:
参数的估计与这个误差项有关。
因为要估计,所以要假定误差项的统计性质,这里误差是独立且具有相同分布,并且服从均值为0方差为theta平方的正态分布。它的表达式是:
(注意这是一个连续函数的分布函数,当误差为0时,概率p值最大为1)
将上方误差项的式子带入,得到:
因此,上面式子当误差项越小(预测值与标签值越靠近),概率越接近1。对于要估计的参数来说,是找到使误差项最小的参数(使目标概率出现最大的参数),于是有了极大似然估计:
变换:
插播:最小二乘法与极大似然法的区别与联系
区别:
1.前提:最小二乘不需知道研究对象的分布,但似然法需知道;
2.思路:前者是使得误差平方和最小的参数,是最小二乘参数估计量;后者是使得目标概率出现最大的参数,是极大似然估计量;
3.方法:前者是构造误差函数求解;后者是利用似然函数求解;
4.结果:最小二乘估计量是最佳线性无偏估计;极大似然估计量是渐进有效的一致估计量;
联系:
都是参数估计方法,当服从正态分布时,两者结论相等。
(所以线性回归中,最小二乘与极大似然都是可以用的,假定是正态分布,结果相同)
3. 求解目标函数,估计参数
现在已经得知目标函数,接下来就是求解,简单线性回归中是需要求解极值,计算偏导数:
但这种情况是矩阵可逆!!如果矩阵不可逆,显然上述方法是不合适的!因此,在计量经济学中,简单线性回归计算结果像是一个数学上的巧合,恰好能顺利计算出结果的巧合。
而机器学习是一个优化的过程,不是直接求解的过程,本质就是希望机器不断学习,不断调整,找到合适参数,因此提出梯度下降。
4. 梯度下降
得到目标函数后,如果在不断优化中,使得真实值与预测值间的差异越小越好?目标函数值越小越好?
由于目标函数是一个凸函数,关于参数的梯度是函数上升最快的方向,梯度的反方向是函数下降的方向:
梯度下降思路:
1.找到当前最合适的方向,每个参数都有其各自合适的方向;
2.走一小步;
3.按照方向与步伐更新参数;
4.重复1~3步。
梯度下降有3种常见策略:
1.批量梯度下降(所有样本计算一遍):
a为步长,1/m为所选择样本的平均损失
2.随机梯度下降(仅使用一个样本):
3.小批量梯度下降(如10个样本的):
5. 影响梯度下降的因素
考虑步长的影响,通常选择较小的学习率,较多的迭代次数。(上面的a值)