呆板学习--线性回归模子

[复制链接]
发表于 2025-9-19 20:07:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
阅读本文之前,可以读一读下面这篇文章:终于有人把线性回归表明确了
  0、引言

线性回归作为统计学与呆板学习的入门算法,以其简便优雅的数学表达和直观的可表明性,在数据分析范畴占据重要职位。这个诞生于19世纪的经典算法,至今仍在金融预测、市场营销、医学研究等场景中抖擞着发达生气。
我们先看一个例子。

上图中展示了100名青少年男孩年岁与身高之间的关系,其中横坐标是年岁,纵坐标是身高,蓝色原点是青少年身高和年岁的坐标点。从图中可以直观的看出,年岁越大,身高越高,而且增长趋势靠近一条直线,我们怎样去体现这种环境呢?中小学时,我们学过,可以用一元一次函数体现一条直线。我们假设有一条直线可以体现身高和年岁的关系。

用x体现年岁,y体现身高。如今x、y都是已知数据(图中点的坐标),那么怎样确定这条直线呢,我们可以尝试在图中画几条直线,看一看哪条更符合实际环境。

我们在图中画了三条直线a、b、c,这三条直线都颠末了一些点,也避开了一些点,貌似这三条直线都可以阐明身高与年岁的关系,究竟哪一个更好呢?我们怎样选择最好的呢?
无论我们怎么画都不能将全部的点画到同一条直线上。因为我们画的这些直线,并不能完美体现年岁和身高的关系,全部称之为预测函数。

图中坐标点中x坐标在直线上的值叫做预测值f(x),预测值f(x)与真实值y的差值,称为误差。

取其中一条直线,画出每个坐标点与预测函数的误差,可以直观的看出,有些点的误差小,有些点的误差大,我们是否可以用误差找到一条符合的直线呢?带着这些题目,让我们一起走进线性回归的天下。
1、界说

上面的例子中,提到影响青少年身高因素只有年岁,像这种寻找只有一个自变量(特性)x,与因变量(标签)y之间的线性关系的模子,叫做一元线性回归。
实际生存中,影响青少年的身高因素,不但是年岁,尚有饮食、就寝、遗传和运动等因素,像这种寻找多个自变量(特性)x,与因变量(标签)y之间的线性关系的模子,叫做多元线性回归。
多元线性回归多少图形很抽象,我们可以简化明确为,二维平面中的一条直线,三维立体空间中的一个平面。总之,它在空间内是直的、平的。
   线性回归‌(Linear Regression)是一种用于建模和分析变量间线性关系的统计学方法,其核心目标是创建‌自变量(特性)‌与‌因变量(目标)‌之间的最佳线性拟合模子。通过最小化预测值与真实值的误差,量化变量间的关联程度,并用于预测或表明数据规律。
  
  上面一段统计学中线性回归的界说,看着不像人话,看不懂也没关系。
  使用数学公式可以体现为:
         公式①

其中:


  • Y是因变量(真实值);
  • 是自变量(特性或表明变量);
  • 是截距(模子的偏置),有些册本和文章中使用的是
    、
    或b;
  • 是自变量的系数(模子的斜率),有些册本和文章中使用的是
    、
    ;
  • 是误差项,体现模子无法表明的随机误差;
一元线性回归的公式可以简化为:

  2、前提条件



  • 自变量和因变量在理论上有因果关系;
  • 因变量为连续型变量;
  • 各自变量与因变量之间存有线性关系;
  • 残差
     要满足正态性、独立性、方差齐性;
  • 多个自变量不存在多重共线性。
其中,线性(Linear)、正态性(Normal)、独立性(Independence)、方差齐性(Equal Variance),俗称LINE,是线性回归分析的四大基本前提条件。
   这里稍微表明它们概念:
  Q1 线性:表明自变量X和因变量Y必须要有线性关系吗?
  ---不是!只有当X是连续型数据或者品级数据(不设哑变量)时,才要求X与Y有线性的关系。当X是二分类或无序多分类,没有线性条件的要求。
  
  Q2独立性:要求因变量Y各观察值相互独立吗? 
  ---不是,是要求残差是独立的。
  
  Q3正态性:要求因变量Y各观察值正态分布吗? 
  ---不是,是要求残差正态分布。
  
  Q4方差齐性:要求差别的表明变量X时,因变量Y方差相等吗?
  ---没错,但是对于多元线性回归分析,更加公道的明确是在差别Y预测值环境下,残差的方差厘革不大。
  
  Q5:肯定要严格满足LINK吗?
  ---如果回归分析只是创建自变量与因变量之间关系,无须根据自变量预测因变量的容许区间和可信度等,则方差齐性和正态性可以适当放宽。
  3、预测函数

线性回归模子的基本原理是寻找一条直线(或者在多维环境下是一个超平面),以最佳地拟合练习数据,使得模子的预测与真实观测值之间的误差最小化。寻找过程中使用的函数称为预测函数,可以写作
、
、
、
等形式,此处我们使用

      公式②

初次接触线性回归模子的小伙伴,可能明确上面两个公式比较困难。仔细观察公式② ,其实就和我们小学时就无比熟悉的一元一次方程式: 
是同样的性子。只不外,在实际场景中,特性只有一个的环境险些不存在,通常样例数据中会包罗多个特性(
),因此我们常说线性回归模子,也就是多元线性回归模子。
在练习模子过程中,通常使用拥有m个样本,n个特性X的练习集。为了保持样式同一,让截距
乘以一个人为构造的特性值都是1的特性
。练习集特性X是一个(m,n+1)的矩阵,特性参数w是一个(n,1)的列向量。
公式②可以写成矩阵的形式

简写为:
      公式③


   在线性代数中,字母的巨细写通常用于区分差别范例的数学对象(如标量、向量、矩阵等),这种区分有助于快速识别变量范例。以下是常见的规则和惯例:
  
  ‌1. 标量(Scalar)‌
  

  • ‌体现方法‌:‌小写斜体字母‌(如 a,b,c)。
  • ‌特点‌:标量是单个数值,无方向性。
    示例:a=5, x∈R
  
  ‌2. 向量(Vector)‌
  

  • ‌体现方法‌:

    • ‌小写粗体字母‌(如 v,w)。
    • 手写时可用箭头(如 
      )。

  • ‌特点‌:向量是一维数组,有方向和巨细。
    示例:
    ,  
    =(3,4)
  
  ‌3. 矩阵(Matrix)‌
  

  • ‌体现方法‌:‌大写粗体字母‌(如 A,B)。
  • ‌特点‌:矩阵是二维数组,体现线性变更或方程组系数。
    示例:
     ,  

   4、模子的目标

线性回归模子的目标是通过优化算法找到一组‌模子参数‌(权重
),使得模子的预测值尽可能靠近真实值,其核心是‌最小化预测值与真实值之间的误差‌。常用的最小二乘法和梯度降落法求解
5、最小二乘法

最小二乘法的目标是最小化误差平方和(Sum of Sqaured Error简称:SSE,又叫残差平方和 Residual Sum of Squares简称:RSS),指的是全部练习样本的真实值减与预测值差值的平方的总和,公式如下:



通过转换我们得到了关于自变量w的一元二次的丧失函数,一阶导数为0的点是它的极值点。

下面求导过程中涉及线性代数矩阵求导的知识,如果看不懂,可以忽略求导过程,直接看求导效果就可以了,因为python库中已经封装好了对应的方法,不须要自己一步步实现。





矩阵求导简画公式,其中a是常数:



函数为凸函数,一阶导数即是0求最小值点,得到:

     公式④
看完参数
的整个求导过程,是不是很烦闷,为什么叫“最小二乘法”。一些册本和文章中是如许表明的,大概意思是:误差平方和中的平方也叫二乘,最小化误差平方和的过程,就叫做最小二乘法。
最小二乘法得到的是剖析解,而且是全局最优解。但要求比较严格,多个自变量间不能存在多重共线性,而且随着特性、样本量的增多,会变得越来越耗时。
6、梯度降落法


很多文章中在讲梯度降落时,都会用下山举例阐明,我们也从下山的例子开始说起。

假设有一座像下图一样有坡度的山,我们站在山中的某一处,附近可见度有限,我们想要到达山谷,应该怎么做呢?一样平常我们会观察地点位置的周边,找到最陡峭的方向,并朝着这个方向往下走去,当走了一段隔断后,我们会再次观察周边环境,找到最陡峭的方向,然后走下去,就如许我们走一会观察一下,一步步走到了山下。

梯度降落法可以类比下山法,也是走一步看一步,每一步都找一个降落最快的方向向下走。下山的过程中会颠末很多点,每颠末一个点就会得到一组模子参数w,每组模子参数w可以都可以组成一个预测函数
,颠末的每个点代表全部样本在当前点对应预测函数的预测值与真实值的误差平方和(梯度降落法使用的丧失函数也是均方误差)。
   什么是梯度?
  梯度是微积分中的一个概念,体现一个函数在某个点的厘革率或斜率的向量值,因此它是一个向量,梯度的方向是函数增长最快的方向,梯度的巨细体现函数在某个点处的厘革率的巨细。(关于梯度更多的知识,有爱好的小伙伴可以自学微积分)
  可以简朴明确为梯度是函数某点上的切线的斜率,其方向是使得函数值上升的方向。
  多元线性回归的丧失函数画图太复杂,下面我们使用一元线性回归的丧失函数画图阐明梯度降落的求解过程。

梯度降落法使用的丧失函数是均方误差,均方误差是在误差平方和公式的底子上,再除以样本总量m

   可以看到丧失函数的公式中,多成了一个1/2,其目标只是为了简化后面的求导效果,没有实际意义。而且我们要求解的是极值点,乘以1/2不会改变极值点的位置(不会改变模子参数w),只会影响极值的巨细(不须要关系极值巨细)。
  模子参数个数共n+1个,须要分别求出每一个方向上的梯度,因此须要对每一个
求导



      公式⑤
   此处先埋下一个题目,梯度降落法使用的丧失函数为什么是均方误差,而不是误差平方和?
  对上面求导效果取负值(梯度是上升方向,取负值后是降落方向),得到梯度降落方向。如今有了方向知道往那走了,接下来就是一次走多远的题目了。
每次走的隔断叫做步长,也称为学习率(Learning Rate),是决定每次迭代中参数更新幅度的关键超参数。它直接影响算法的收敛速度、稳固性以及最终能否找到最优解。
有了方向和步长,就可以得到每次迭代(走一步)后的参数,公式如下:
    公式⑥

上面是模子参数公式推导的过程,下面说一下梯度降落算法的实现步调:

  • 初始化参数:选择一个初始点(参数值)。
  • 计算梯度:计算目标函数在当前参数值处的梯度。
  • 更新参数:沿着梯度的反方向更新参数,步长由学习率(learning rate)控制。
  • 重复迭代:重复步调2和3,直到满足制止条件。
第4步中提到了迭代的制止条件,这个条件是人为设定的,好比梯度靠近零、到达最大迭代次数等。
梯度降落法有三种常见方式:


  • 批量梯度降落(Batch Gradient Descent) :每次迭代使用全部练习数据计算梯度。
  • 随机梯度降落(Stochastic Gradient Descent, SGD) :每次迭代随机选择一个样本计算梯度。
  • 小批量梯度降落(Mini-batch Gradient Descent) :每次迭代使用一小部门样本计算梯度。
步长巨细的影响
适中的步长:可以在收敛速度和稳固性之间平衡,渐渐迫近最优解。
步长过小:参数更新缓慢,须要大量迭代才华收敛,计算服从低。
步长过大:可能导致参数更新时 “跳过” 最小值,乃至在梯度方向震荡或发散。
步长的范例与策略
1. 固定步长(Constant Step Size)


  • 特点:整个练习过程中步长保持稳定(如 α=0.01)。
  • 实用场景:简朴题目或初始调试,但需手动调优,否则易陷入震荡或收敛过慢。
2. 自顺应步长(Adaptive Step Size)
基于梯度历史信息动态调解步长,制止手动调参:


  • AdaGrad:对每个参数使用差别步长,初始步长较大,随迭代递减(恰当希奇数据)。
  • RMSprop:引入滑动匀称缓解 AdaGrad 的过度衰减题目。
  • Adam:结合动量(Momentum)和 RMSprop,自顺应调解步长并加速收敛,是最常用的策略之一。
3. 学习率衰减(Learning Rate Scheduling)
在练习初期使用较大步长快速收敛,后期渐渐减小以精致调解:


  • 指数衰减:
    (
     为衰减因子,如 0.99)。
  • 分段常数衰减:在固定迭代次数后手动低落步长(如每 1000 次迭代除以 2)。
  • 余弦退火:根据余弦函数周期性调解步长,分身全局搜刮和局部优化。
如何选择符合的步长?

  • 初始调试

    • 从较小的初始值开始(如 10−3),渐渐增大(如 10−2,10−1),观察丧失函数厘革:

      • 若丧失降落伍震荡,阐明步长偏大;
      • 若丧失长时间稳定,阐明步长过小。

    • 使用学习率预热(Warm-Up):在练习初期用极小步长更新,渐渐增长到预设值,制止参数初始化时梯度过大导致发散。

  • 可视化与监控监控

    • 绘制丧失函数随迭代的厘革曲线,判定是否收敛或震荡。
    • 查抄梯度范数(如
      ),若连续增大,阐明步长过大需调小。

  • 履历与最佳实践

    • 深度学习中,常用初始步长范围:
      ,详细依靠优化器(如 Adam 通常比 SGD 的步长可设更大)。
    • 对于非凸题目(如神经网络),动态调解步长(如 Adam)通常比固定步长更鲁棒。

7、丧失函数

线性回归中常用的丧失函数(目标函数)重要用于衡量预测值与真实值之间的差异,以下是几种常见的丧失函数:
1、均方误差(Mean Squared Error, MSE)


  • 公式:

    其中,
    是真实值,
    是预测值,N 是样本数目。
  • 特点:

    • 对非常值敏感(平方项会放大误差)。
    • 数学性子精良,易于求导,恰当梯度降落优化。
    • 是线性回归中最常用的丧失函数。

2、匀称绝对误差(Mean Absolute Error, MAE)


  • 公式:

  • 特点:

    • 对非常值不敏感(绝对值项限定误差放大)。
    • 但在数学上不可导(在 0 点处导数不连续),可能影响优化稳固性。
    • 恰当数据存在较多噪声或非常值的场景。

3、均方根误差(Root Mean Squared Error, RMSE)


  • 公式:

  • 特点:

    • 是 MSE 的平方根,效果与真实值单元划一,便于表明。
    • 其他特性与 MSE 雷同。

4、Huber 丧失(Huber Loss)


  • 公式:

    其中,
    ​,δ 是超参数,用于平衡 MSE 和 MAE 的影响。
  • 特点:

    • 结合 MSE 和 MAE 的优点:误差较小时雷同 MSE(可导),误差较大时雷同 MAE(鲁棒性强)。
    • 恰当数据中存在部门非常值的场景。

5、Log-Cosh 丧失(Log-Cosh Loss)


  • 公式:

  • 特点:

    • 对误差的平方项和绝对值项都有折中效果,且在全部点都可导。
    • 近似于 MSE,但对非常值的处罚比 MSE 轻,比 MAE 重。

选择建议


  • MSE/RMSE:默认选择,恰当数据分布稳固、无明显非常值的场景。
  • MAE:数据含较多非常值时更鲁棒。
  • Huber/Log-Cosh:折中方案,分身可导性和鲁棒性。
7、模子评估

线性回归模子的评估方法可分为误差指标评估、统计查验评估和模子诊断三个维度,详细方法如下:
7.1、误差指标评估


  • ‌决定系数(R²)‌

    • 衡量模子对因变量变异的表明比例,取值在[0,1]之间,越靠近1拟合效果越好。
    • ‌调解R²‌:实用于多元回归,通过处罚变量数目制止过拟合,更客观反映模子表明力。

  • ‌匀称绝对误差(MAE)‌

    • 计算预测值与真实值的绝对误差均值,反映匀称误差巨细,对非常值不敏感。

  • ‌均方误差(MSE)‌

    • 误差平方的匀称值,对较大误差更敏感,数学性子精良但单元与原始数据不划一。

  • ‌均方根误差(RMSE)‌

    • MSE的平方根,与原始数据单元划一,直观反映误差程度。

  • ‌匀称绝对百分比误差(MAPE)‌

    • 误差百分比化,实用于尺度化评估,但对零值敏感。

7.2、统计查验评估


  • ‌模子团体明显性查验(F查验)‌

    • 查验全部自变量团结对因变量的影响是否明显,若p值<0.05则模子有用。

  • ‌回归系数明显性查验(t查验)‌

    • 判定单个自变量对因变量的影响是否明显,p值<0.05体现该变量有统计学意义。

7.3、模子诊断与假设验证


  • ‌残差分析‌

    • ‌正态性‌:通过QQ图或Shapiro-Wilk查验残差是否符合正态分布。
    • ‌独立性‌:Durbin-Watson(DW)查验残差是否存在自相关(抱负值靠近2)。
    • ‌同方差性‌:Breusch-Pagan(BP)查验残差方差是否恒定。

  • ‌多重共线性查验‌

    • 计算方差膨胀因子(VIF),若VIF≥10需处理(如删除变量或正则化)。

  • ‌非常值与强影响点检测‌

    • 使用Cook's Distance识别非常值,若值>1需进一步分析。


参考资料:
第二十一讲 | 多元线性回归分析(超等详细)
最强总结!8个线性回归核心点!!
呆板学习算法入门之(一) 梯度降落法实现线性回归_使用梯度降落方法实现线性回归算法-CSDN博客


线性回归 (Linear Regression) | 菜鸟教程

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表