机器学习详解(2):线性回归之理论学习

news2025/1/9 16:23:16

文章目录

  • 1 监督学习
  • 2 线性回归
    • 2.1 简单/多元线性回归
    • 2.2 最佳拟合线
    • 2.3 成本函数和梯度下降
    • 2.4 线性回归的假设
    • 2.5 线性回归的评估指标函数
  • 3 总结

机器学习是人工智能的一个分支,主要致力于开发能够从数据中学习并进行预测的算法和统计模型。线性回归是机器学习的一种算法,具体来说是一种监督学习算法,它通过学习带标签的数据集,将数据点映射到最优的线性函数上,用于对新数据集进行预测。

1 监督学习

监督学习是一种机器学习类型,算法从带标签的数据中学习。带标签数据指的是目标值已知的数据集。监督学习分为两类:

  1. 分类 (Classification):
    根据输入的独立变量预测数据集的类别。类别是离散或分类值,例如根据一张动物图片判断是猫还是狗。
  2. 回归 (Regression):
    根据输入的独立变量预测连续输出变量。例如根据房屋的年龄、距离主干道的距离、位置、面积等参数预测房价。

本篇文章,我们将讨论回归中最简单的一种方法:线性回归

2 线性回归

线性回归是一种监督学习算法,通过拟合一个线性方程到观测数据中,计算因变量与一个或多个自变量之间的线性关系。

  • 简单线性回归 (Simple Linear Regression): 当只有一个自变量时。
  • 多元线性回归 (Multiple Linear Regression): 当有多个自变量时。

为什么线性回归很重要?

  1. 可解释性:
    线性回归的显著优势是可解释性强。其模型方程提供清晰的系数,能够解释每个自变量对因变量的影响,帮助深入理解数据的内在动态。
  2. 简单易用:
    线性回归因其透明性和简单性而备受青睐,容易实现,并作为更复杂算法的基础概念。
  3. 广泛应用:
    线性回归不仅是预测工具,还为多种高级模型奠定了基础。例如,正则化技术和支持向量机等方法都受其启发。此外,线性回归在假设检验中也具有重要作用,可帮助研究人员验证数据的关键假设。

2.1 简单/多元线性回归

1.简单线性回归

这是最简单的线性回归形式,只涉及一个自变量和一个因变量。简单线性回归的公式为:

y = β 0 + β 1 X y = \beta_0 + \beta_1 X y=β0+β1X

其中:

  • y y y为因变量;
  • X X X为自变量;
  • β 0 \beta_0 β0为截距;
  • β 1 \beta_1 β1为斜率。

多元线性回归

多元线性回归涉及多个自变量和一个因变量,其公式为:

y = β 0 + β 1 X 1 + β 2 X 2 + ⋯ + β n X n y = \beta_0 + \beta_1 X_1 + \beta_2 X_2 + \cdots + \beta_n X_n y=β0+β1X1+β2X2++βnXn

其中:

  • y y y为因变量;
  • X 1 , X 2 , … , X n X_1, X_2, \dots, X_n X1,X2,,Xn为自变量;
  • β 0 \beta_0 β0为截距;
  • β 1 , β 2 , … , β n \beta_1, \beta_2, \dots, \beta_n β1,β2,,βn为斜率。

算法目标

线性回归算法的目标是找到最佳拟合线,即可以基于自变量预测因变量的方程。这条最佳拟合线将使预测值和真实值之间的误差最小化。

2.2 最佳拟合线

使用线性回归的主要目标是确定最佳拟合线,这意味着预测值与实际值之间的误差尽可能小。在最佳拟合线中,斜率表示当自变量发生单位变化时,因变量的变化量。

在这里插入图片描述

假设函数

假设自变量是工作经验 X X X,因变量是薪资 Y Y Y,两者具有线性关系,则薪资可以通过以下公式预测:

y i ^ = θ 1 + θ 2 x i \hat{y_i} = \theta_1 + \theta_2 x_i yi^=θ1+θ2xi

其中:

  • y i ∈ Y y_i \in Y yiY i = 1 , 2 , … , n i = 1, 2, \dots, n i=1,2,,n)为带标签数据(监督学习);
  • x i ∈ X x_i \in X xiX i = 1 , 2 , … , n i = 1, 2, \dots, n i=1,2,,n)为输入的独立训练数据;
  • y i ^ ∈ Y ^ \hat{y_i} \in \hat{Y} yi^Y^ i = 1 , 2 , … , n i = 1, 2, \dots, n i=1,2,,n)为预测值。

模型通过找到最佳的 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2值来确定最佳回归线。

如何更新 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2

为了实现最佳拟合线,模型会尝试预测目标值 y ^ \hat{y} y^,以使预测值 y ^ \hat{y} y^与真实值 y y y之间的误差最小化。目标是更新 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2的值,使预测值和真实值之间的误差(即损失函数)最小化:

m i n i m i z e   1 n ∑ i = 1 n ( y ^ i − y i ) 2 minimize\ \frac{1}{n}\sum_{i=1}^n (\hat{y}_i - y_i)^2 minimize n1i=1n(y^iyi)2

2.3 成本函数和梯度下降

成本函数或损失函数表示预测值 y ^ \hat{y} y^与真实值 y y y之间的误差。在线性回归中,常用的成本函数是均方误差 (MSE),其计算公式为:

J ( θ 1 , θ 2 ) = 1 n ∑ i = 1 n ( y ^ i − y i ) 2 J(\theta_1, \theta_2) = \frac{1}{n} \sum_{i=1}^n (\hat{y}_i - y_i)^2 J(θ1,θ2)=n1i=1n(y^iyi)2

其中:

  • y ^ i \hat{y}_i y^i是预测值;
  • y i y_i yi是实际值;
  • n n n是数据点的数量。

通过最小化MSE,模型可以找到最佳的 θ 1 \theta_1 θ1(截距)和 θ 2 \theta_2 θ2(斜率)值,从而拟合出最佳拟合线。

利用MSE函数,通过梯度下降法迭代更新 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2,确保MSE收敛到全局最小值,得到最优的线性回归线。

梯度下降 (Gradient Descent)

线性回归模型通过优化算法梯度下降进行训练,迭代更新模型参数以减少MSE损失。更新 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2的目标是减少成本函数的值并达到最小值。梯度下降的关键在于找到 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2的初始值,并通过迭代逐步更新,直至达到最小成本。

梯度计算和参数更新

对成本函数 J J J分别对 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2求导:

  • θ 1 \theta_1 θ1求导:

∂ J ∂ θ 1 = 2 n ∑ i = 1 n ( y ^ i − y i ) \frac{\partial J}{\partial \theta_1} = \frac{2}{n} \sum_{i=1}^n (\hat{y}_i - y_i) θ1J=n2i=1n(y^iyi)

  • θ 2 \theta_2 θ2求导:

∂ J ∂ θ 2 = 2 n ∑ i = 1 n ( y ^ i − y i ) x i \frac{\partial J}{\partial \theta_2} = \frac{2}{n} \sum_{i=1}^n (\hat{y}_i - y_i) x_i θ2J=n2i=1n(y^iyi)xi

线性回归模型的目标是找到最佳拟合线的系数。通过沿着均方误差 (MSE) 的负梯度方向更新系数,可以调整截距和斜率的值,使损失函数最小化。

在这里插入图片描述

  • 在梯度下降法中,两个参数 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2是同时计算和更新的。这个图虽然只画出了一个参数(比如 θ \theta θ)随成本函数 J ( θ ) J(\theta) J(θ)的变化情况,但实际上,在有多个参数(比如 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2)的情况下,这个过程是在高维空间中进行的,图中的二维表示是简化后的示例。

更新规则如下:
θ 1 = θ 1 − α ( 2 n ∑ i = 1 n ( y ^ i − y i ) ) \theta_1 = \theta_1 - \alpha \left( \frac{2}{n} \sum_{i=1}^n (\hat{y}_i - y_i) \right) θ1=θ1α(n2i=1n(y^iyi))

θ 2 = θ 2 − α ( 2 n ∑ i = 1 n ( y ^ i − y i ) x i ) \theta_2 = \theta_2 - \alpha \left( \frac{2}{n} \sum_{i=1}^n (\hat{y}_i - y_i) x_i \right) θ2=θ2α(n2i=1n(y^iyi)xi)

其中:

  • α \alpha α为学习率;
  • y ^ i \hat{y}_i y^i为预测值;
  • y i y_i yi为真实值;
  • x i x_i xi为自变量。

通过迭代更新 θ 1 \theta_1 θ1 θ 2 \theta_2 θ2,可以找到使成本函数达到最小值的参数。举个例子,一个向上的抛物线的中心点为x=2,其左边的导数为负,右边的导数为正,而且越左边越小,越右边越大。如果此时x很小,则导数也很小,为负数。此时更新x就要减去这个导数乘以学习率,x就会变大,往x=2靠近。

2.4 线性回归的假设

简单线性回归的假设

  1. 线性关系 (Linearity)
    自变量和因变量之间必须具有线性关系。如果关系不是线性的,线性回归模型将不准确。

在这里插入图片描述

  1. 独立性 (Independence)
    数据集中各观测值必须相互独立。如果观测值之间存在依赖性,线性回归将无法准确建模。

  2. 同方差性 (Homoscedasticity)
    所有自变量水平上的误差方差应保持不变。如果误差方差随自变量变化,线性回归将产生偏差。

在这里插入图片描述

  1. 正态性 (Normality)
    残差应呈正态分布。如果残差不符合正态分布,模型的预测可能不可靠。

多元线性回归的假设

在多元线性回归中,除上述简单线性回归的假设外,还需满足以下条件:

  1. 无多重共线性 (No Multicollinearity):
    自变量之间不应高度相关。如果两个或多个自变量之间高度相关,模型将难以确定每个变量对因变量的独立影响。

  2. 加性 (Additivity):
    自变量对因变量的影响应独立存在,且没有变量之间的交互效应。

  3. 特征选择 (Feature Selection):
    必须仔细选择自变量,避免包含无关或冗余变量,从而避免过拟合和增加模型复杂性。

  4. 过拟合 (Overfitting):
    避免模型过度拟合训练数据,从而在新数据上表现不佳。

多重共线性 (Multicollinearity)

多重共线性是指在多元回归分析中,当两个或多个自变量之间存在高度相关性时,可能会导致以下问题:

  • 难以评估单个变量对因变量的独立贡献: 因为自变量之间高度相关,很难区分每个自变量对因变量的独立影响。
  • 不稳定的回归系数: 回归系数可能变得非常大或非常小,甚至方向可能与直觉不符。
  • 模型的不可靠性: 高多重共线性可能会使回归模型的预测能力下降。

原因:

  1. 数据中自变量之间存在高相关性。
  2. 引入了不必要的自变量(冗余变量)。
  3. 自变量是通过计算得出的,具有内在的函数关系。

检测多重共线性的方法包括:

  • 相关矩阵 (Correlation Matrix): 检查自变量之间的相关系数,接近1或-1表示可能存在多重共线性。
  • 方差膨胀因子 (Variance Inflation Factor, VIF): 测量某变量的系数因多重共线性而增加的程度。VIF大于10通常表明存在多重共线性。

这里就不深入讨论了。

2.5 线性回归的评估指标函数

均方误差 (Mean Squared Error, MSE):
MSE 是一种评估回归模型准确性的指标,它计算所有数据点的实际值与预测值之间的平方误差的平均值。平方操作确保正负误差不会相互抵消。公式为:
M S E = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 MSE = \frac{1}{n} \sum_{i=1}^n (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

其中:

  • n n n是数据点的数量。
  • y i y_i yi是第 i i i个数据点的实际值。
  • y ^ i \hat{y}_i y^i是第 i i i个数据点的预测值。

MSE 对离群值敏感,因为较大的误差会对整体得分产生显著影响。


平均绝对误差 (Mean Absolute Error, MAE):
MAE 是另一种用于评估回归模型准确性的指标,测量的是预测值与实际值之间的平均绝对差异。公式为:
M A E = 1 n ∑ i = 1 n ∣ y i − y ^ i ∣ MAE = \frac{1}{n} \sum_{i=1}^n |y_i - \hat{y}_i| MAE=n1i=1nyiy^i

其中:

  • n n n是观测值的数量。
  • y i y_i yi是实际值。
  • y ^ i \hat{y}_i y^i是预测值。

MAE 值越低,模型性能越好。由于使用绝对误差,它对离群值不敏感。


均方根误差 (Root Mean Squared Error, RMSE):
RMSE 是残差方差的平方根,用于描述预测值和实际值的偏差大小。公式为:
R M S E = ∑ i = 1 n ( y i − y ^ i ) 2 n RMSE = \sqrt{\frac{\sum_{i=1}^n (y_i - \hat{y}_i)^2}{n}} RMSE=ni=1n(yiy^i)2

如果使用调整后的估计(考虑自由度)

  • 自由度是指在计算统计量(如均值、方差等)时,可以自由变化的数据点的数量。每估计一个参数,数据的一个自由度就被“消耗”,因为该数据点的信息被用来确定参数值,而不能再自由变化。
  • 考虑自由度减去 2 是因为在回归分析中,我们需要估计两个参数:截距(intercept)和斜率(slope)。每估计一个参数,就会消耗一个自由度,因此总的自由度要从样本数量 nnn 中减去 2。

公式为:
R M S E = ∑ i = 1 n ( y i − y ^ i ) 2 n − 2 RMSE = \sqrt{\frac{\sum_{i=1}^n (y_i - \hat{y}_i)^2}{n - 2}} RMSE=n2i=1n(yiy^i)2

RMSE 提供了一种衡量模型预测误差的方式,但它的值依赖于变量的单位(不是归一化的指标),因此在不同场景间不易比较。


确定系数 (R-squared):
R 2 R^2 R2是一种统计量,用于衡量回归模型能够解释因变量总方差的比例,其值范围在 0 到 1 之间。通常, R 2 R^2 R2越大,模型对数据的拟合程度越好。数学公式为:
R 2 = 1 − R S S T S S R^2 = 1 - \frac{RSS}{TSS} R2=1TSSRSS

其中:

  • 残差平方和 (Residual Sum of Squares, RSS): 表示模型预测值与实际值之间的误差平方和:
    R S S = ∑ i = 1 n ( y i − y ^ i ) 2 RSS = \sum_{i=1}^n (y_i - \hat{y}_i)^2 RSS=i=1n(yiy^i)2
  • 总平方和 (Total Sum of Squares, TSS): 表示数据点偏离因变量均值的总方差:
    T S S = ∑ i = 1 n ( y i − y ˉ ) 2 TSS = \sum_{i=1}^n (y_i - \bar{y})^2 TSS=i=1n(yiyˉ)2

R 2 R^2 R2表示因变量的总方差中有多少比例可以由模型中的自变量解释。


调整后的确定系数 (Adjusted R-squared):
调整后的 R 2 R^2 R2是针对多元回归模型的 R 2 R^2 R2的修正版本。它引入了模型中的预测变量个数和样本量的考虑,用于避免加入不相关的变量导致 R 2 R^2 R2人为提高。公式为:
A d j u s t e d   R 2 = 1 − ( 1 − R 2 n − 1 ⋅ n − 1 n − k − 1 ) Adjusted\ R^2 = 1 - \left( \frac{1 - R^2}{n - 1} \cdot \frac{n - 1}{n - k - 1} \right) Adjusted R2=1(n11R2nk1n1)

其中:

  • n n n是观测值数量;
  • k k k是模型中预测变量的个数;
  • R 2 R^2 R2是确定系数。

调整后的 R 2 R^2 R2的作用:

  • 防止过拟合。
  • 对不显著的预测变量进行惩罚,避免它们对模型整体解释度的无效贡献。

3 总结

线性回归作为机器学习中最基础的算法之一,不仅具有直观的数学意义,还能通过拟合线性模型来解决实际中的许多回归问题。例如,它可以帮助我们预测房价、销售额等连续变量,甚至还能为更复杂的算法(如正则化回归和支持向量机)提供理论基础。

在本篇文章中,我们详细讨论了线性回归的基本理论、假设和常用的评估指标。理解这些内容有助于我们更好地设计和优化回归模型。

下一篇文章,我们将通过代码来实现线性回归模型,进一步探讨如何应用梯度下降法训练模型并对其性能进行评估。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2255108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

半监督学习与数据增强

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

位运算符I^~

&运算:上下相等才是1,有一个不同就是0 |运算:只要有1返回的就是1 ^(亦或)运算:上下不同是1,相同是0 ~运算:非运算,与数据全相反 cpu核心运算原理,四种cpu底层小电路 例&#xf…

蓝桥杯软件赛系列---lesson1

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 我们今天会再开一个系列,那就是蓝桥杯系列,我们会从最基础的开始讲起,大家想要备战明年蓝桥杯的,让我们一起加油。 工具安装 DevC…

【0x01】HCI_Inquiry_Complete事件详解

目录 一、事件概述 二、事件格式及参数 2.1. HCI_Inquiry_Complete事件格式 2.2. 参数 三、HCI_Inquiry_Complete事件触发机制 3.1. 基于查询命令完成的触发 3.2. 受查询环境和设备状态影响的触发 3.3. 与蓝牙协议栈内部逻辑相关的触发 四、事件处理流程 4.1. 事件接…

安防视频监控平台Liveweb视频汇聚管理系统管理方案

智慧安防监控Liveweb视频管理平台能在复杂的网络环境中,将前端设备统一集中接入与汇聚管理。国标GB28181协议视频监控/视频汇聚Liveweb平台可以提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、…

shell脚本实战案例

文章目录 实战第一坑功能说明脚本实现 实战第一坑 实战第一坑:在Windows系统写了一个脚本,比如上面,随后上传到服务,执行会报错 原因: 解决方案:在linux系统touch文件,并通过vim添加内容&…

波特图方法

在电路设计中,波特图为最常用的稳定性余量判断方法,波特图的根源是如何来的,却鲜有人知。 本章节串联了奈奎斯特和波特图的渊源,给出了其对应关系和波特图相应的稳定性余量。 理论贯通,不在于精确绘…

在ensp进行IS-IS网络架构配置

一、实验目的 1. 理解IS-IS协议的工作原理 2. 熟练ensp路由连接配置 二、实验要求 需求: 路由器可以互相ping通 实验设备: 路由器router6台 使用ensp搭建实验坏境,结构如图所示 三、实验内容 R1 u t m sys undo info en sys R1 #设…

vxe-table 键盘操作,设置按键编辑方式,支持覆盖方式与追加方式

vxe-table 全键盘操作,按键编辑方式设置,覆盖方式与追加方式; 通过 keyboard-config.editMode 设置按键编辑方式;支持覆盖方式编辑和追加方式编辑 安装 npm install vxe-pc-ui4.3.15 vxe-table4.9.15// ... import VxeUI from v…

MNIST数据集_CNN

前言 提醒: 文章内容为方便作者自己后日复习与查阅而进行的书写与发布,其中引用内容都会使用链接表明出处(如有侵权问题,请及时联系)。 其中内容多为一次书写,缺少检查与订正,如有问题或其他拓展…

【Flink】Flink Checkpoint 流程解析

Flink Checkpoint 流程解析 Checkpoint 流程解析 Flink Checkpoint 流程解析Checkpint 流程概括Checkpoint 触发流程解析 (Flink 1.20)任务启动后 JobManager 开始定期对任务执行 CheckpointJobManager 使用 CheckpointCoordinator 触发 CheckpointCheckpointCoordinator 初始化…

MIT工具课第六课任务 Git基础练习题

如果您之前从来没有用过 Git,推荐您阅读 Pro Git 的前几章,或者完成像 Learn Git Branching 这样的教程。重点关注 Git 命令和数据模型相关内容; 相关内容整理链接:Linux Git新手入门 git常用命令 Git全面指南:基础概念…

Sui 主网升级至 V1.38.3

Sui 主网现已升级至 V1.38.3 版本,同时协议升级至 69 版本。请开发者及时关注并调整! 其他升级要点如下所示: 协议 #20199 在共识快速路径投票中设置允许的轮次数量。 节点(验证节点与全节点) #20238 为验证节点…

【AI系统】低比特量化原理

低比特量化原理 计算机里面数值有很多种表示方式,如浮点表示的 FP32、FP16,整数表示的 INT32、INT16、INT8,量化一般是将 FP32、FP16 降低为 INT8 甚至 INT4 等低比特表示。 模型量化则是一种将浮点值映射到低比特离散值的技术,可…

项目文章 | RNA-seq+WES-seq+机器学习,揭示DNAH5是结直肠癌的预后标志物

肿瘤突变负荷(TMB)已成为预测结直肠癌(CRC)患者预后和对免疫治疗反应的关键生物标志物。然而,全外显子测序(WES-seq)作为TMB评估的金标准,成本高且耗时。此外,高TMB患者之…

【NLP修炼系列之Bert】Bert多分类多标签文本分类实战(附源码下载)

引言 今天我们就要用Bert做项目实战,实现文本多分类任务和我在实际公司业务中的多标签文本分类任务。通过本篇文章,可以让想实际入手Bert的NLP学习者迅速上手Bert实战项目。 1 项目介绍 本文是Bert文本多分类和多标签文本分类实战,其中多分…

【CSS in Depth 2 精译_069】11.3 利用 OKLCH 颜色值来处理 CSS 中的颜色问题(上)

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 11 章 颜色与对比】 ✔️ 11.1 通过对比进行交流 11.1.1 模式的建立11.1.2 还原设计稿 11.2 颜色的定义 11.2.1 色域与色彩空间11.2.2 CSS 颜色表示法 11.2.2.1 RGB…

基础算法——搜索与图论

搜索与图论 图的存储方式2、最短路问题2.1、Dijkstra算法(朴素版)2.2、Dijkstra算法(堆优化版)2.3、Bellman-Ford算法2.4、SPFA求最短路2.5、SPFA判负环2.6、Floyd算法 图的存储方式 2、最短路问题 最短路问题可以分为单源最短路…

IDEA创建Spring Boot项目配置阿里云Spring Initializr Server URL【详细教程-轻松学会】

1.首先打开idea选择新建项目 2.选择Spring Boot框架(就是选择Spring Initializr这个) 3.点击中间界面Server URL后面的三个点更换为阿里云的Server URL Idea中默认的Server URL地址:https://start.spring.io/ 修改为阿里云Server URL地址:https://star…

Git_如何更改默认路径

网上搜了一堆都不好使,其实可以直接使用git bash输入命令来解决 打开 Git Bash:首先打开 Git Bash 终端,这是一个类似于命令提示符的窗口,可在其中执行 Git 命令。设置 Git 默认存储路径:使用 git config 命令来修改 …