对线性回归的学习与总结

回归分析是指一种预测性的建模技术,主要是研究自变量和因变量的关系。通常使用线/曲线来拟合数据点,然后研究如何使曲线到数据点的距离差异最小。

线性回归:

  1. 假设目标值(因变量)与特征值(自变量)之间线性相关。
  2. 然后构建损失函数。
  3. 最后通过令损失函数最小来确定参数。(最关键的一步)

在回归问题中, 均方误差是回归任务中最常用的性能度量。记J(a,b)为f(x)和y之间的差异,即

对线性回归的学习与总结

这里称J(a,b)为损失函数,明显可以看出它是个二次函数,即凸函数( 这里的凸函数对应中文教材的凹函数),所以有最小值。当J(a,b)取最小值的时候,f(x)和y的差异最小,然后我们可以通过J(a,b)取最小值来确定a和b的值。

确定a和b的值的三种方法:

1.最小二乘法:

  1. 既然损失函数J(a,b)是凸函数,那么分别关于a和b对J(a,b)求偏导,并令其为零解出a和b。这里直接给出结果:
    对线性回归的学习与总结
    对线性回归的学习与总结
    解得:
    对线性回归的学习与总结

对线性回归的学习与总结

2.梯度下降法:

梯度的本意是一个向量(矢量),表示某一函数( 该函数一般是二元及以上的)在该点处的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。
当函数是一元函数时,梯度就是导数。

在梯度下降法中,需要我们先给参数a赋一个预设值,然后再一点一点的修改a,直到J(a)取最小值时,确定a的值。下面直接给出梯度下降法的公式(其中α为正数):

对线性回归的学习与总结

总结下,不同的步长η ,随着迭代次数的增加,会导致被优化函数f(x) 的值有不同的变化:

对线性回归的学习与总结

f(x) 往上走(红线),自然是η 过大,需要调低。

f(x)一开始下降的特别急,然后就几乎没有变化(棕线),可能η 较大,需要调低。

f(x)几乎线性变化(蓝线),可能是η 较小,需要调大。

3.正规方程:

同样,假设有n组数据,其中目标值(因变量)与特征值(自变量)之间的关系为:

对线性回归的学习与总结
对线性回归的学习与总结

总结:

1.梯度下降法是通用的,包括更为复杂的逻辑回归算法中也可以使用,但是对于较小的数据量来说它的速度并没有优势。
2.正规方程的速度往往更快,但是当数量级达到一定的时候,还是梯度下降法更快,因为正规方程中需要对矩阵求逆,而求逆的时间复杂的是n的3次方。
3.最小二乘法一般比较少用,虽然它的思想比较简单,在计算过程中需要对损失函数求导并令其为0,从而解出系数θ。但是对于计算机来说很难实现,所以一般不使用最小二乘法。

Original: https://blog.csdn.net/weixin_46027770/article/details/126048359
Author: 摆脱计算机小白的第一年
Title: 对线性回归的学习与总结

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/635628/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球