当前位置: 首页 > article >正文

【机器学习:二、线性回归模型】

线性回归是一种基本的监督学习方法,广泛用于回归问题中。它通过学习输入变量与输出变量之间的线性关系来对数据进行建模。以下从定义到求解的角度系统介绍线性回归模型。

线性回归模型的定义

线性回归假设输出变量 𝑦和输入变量 𝑥 之间满足线性关系: y = w T x + b y=w^Tx+b y=wTx+b

  • 符号说明:
    • x ∈ R n x\in\mathbb{R}^n xRn:输入特征向量(维度为 𝑛)。
    • w ∈ R n w\in\mathbb{R}^n wRn:权重向量,表示每个特征的系数。
    • b ∈ R b\in\mathbb{R} bR:偏置(bias),表示线性模型的截距。
    • y ∈ R y\in\mathbb{R} yR:输出变量,通常是一个连续值。
  • 目标: 根据训练数据集 D = { ( x i , y i ) } i = 1 m D=\{(x_i,y_i)\}_{i=1}^m D={(xi,yi)}i=1m ,学习参数 𝑤 和 𝑏,使得模型能对未知数据的输出 𝑦 做出准确预测。
  • 假设: 假定输出 𝑦 和输入 𝑥 满足以下关系: y = w T x + b + ϵ y=w^Tx+b+\epsilon y=wTx+b+ϵ
    其中 𝜖 是独立同分布的噪声项,通常服从正态分布 N ( 0 , σ 2 ) N(0,\sigma^2) N(0,σ2)

线性回归模型的代价函数

在机器学习中,代价函数用来衡量模型预测值与真实值之间的误差。

  • 平方误差损失函数: 在线性回归中,常用平方误差作为损失函数来衡量单个样本预测值 y ^ i \hat{y}_i y^i与真实值 y i y_{i} yi的差异: L ( y i , y ^ i ) = ( y i − y ^ i ) 2 L(y_i,\hat{y}_i)=(y_i-\hat{y}_i)^2 L(yi,y^i)=(yiy^i)2
  • 线性回归的代价函数(均方误差, Mean Squared Error, MSE): 对于 𝑚 个训练样本,定义代价函数 J(w,b) 为: J ( w , b ) = 1 2 m ∑ i = 1 m ( y i − ( w T x i + b ) ) 2 J(w,b)=\frac{1}{2m}\sum_{i=1}^m\left(y_i-(w^Tx_i+b)\right)^2 J(w,b)=2m1i=1m(yi(wTxi+b))2
    • 其中:
      • y i y_{i} yi:第 𝑖 个样本的真实值。
      • w T x i + b w^Tx_i+b wTxi+b:第 𝑖 个样本的预测值。
      • 1 2 m \frac{1}{2m} 2m1:引入1/2是为了在求导时简化计算。
  • 目标: 寻找参数 𝑤 和 𝑏,使得代价函数 J(w,b) 最小。

梯度下降法求解线性回归模型

梯度下降是一种常用的优化算法,用于最小化代价函数 J(w,b) 并求解模型参数。

梯度下降法原理

  • 梯度下降通过不断更新参数 𝑤 和 𝑏,逐步减小代价函数值,直到达到最优解。
  • 更新规则: w : = w − α ∂ J ( w , b ) ∂ w , b : = b − α ∂ J ( w , b ) ∂ b w:=w-\alpha\frac{\partial J(w,b)}{\partial w},\quad b:=b-\alpha\frac{\partial J(w,b)}{\partial b} w:=wαwJ(w,b),b:=bαbJ(w,b)
    • 其中:
      • a \mathrm{a} a:学习率(控制每次更新的步长)。
      • ∂ J ( w , b ) ∂ w  和  ∂ J ( w , b ) ∂ b \frac{\partial J(w,b)}{\partial w}\text{ 和 }\frac{\partial J(w,b)}{\partial b} wJ(w,b)  bJ(w,b)
        :代价函数对 𝑤 和 𝑏 的梯度。

代价函数的梯度计算

对于代价函数 J ( w , b ) = 1 2 m ∑ i = 1 m ( y i − ( w T x i + b ) ) 2 J(w,b)=\frac{1}{2m}\sum_{i=1}^m\left(y_i-(w^Tx_i+b)\right)^2 J(w,b)=2m1i=1m(yi(wTxi+b))2,其梯度为:

  • 对 𝑤 求偏导: ∂ J ( w , b ) ∂ w = − 1 m ∑ i = 1 m ( y i − ( w T x i + b ) ) x i \frac{\partial J(w,b)}{\partial w}=-\frac{1}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b))x_i wJ(w,b)=m1i=1m(yi(wTxi+b))xi
  • 对 b 求偏导: ∂ J ( w , b ) ∂ b = − 1 m ∑ i = 1 m ( y i − ( w T x i + b ) ) \frac{\partial J(w,b)}{\partial b}=-\frac{1}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b)) bJ(w,b)=m1i=1m(yi(wTxi+b))

梯度下降算法流程

  • 初始化参数: 随机初始化 𝑤 和 𝑏。
  • 迭代更新参数: 按照以下公式更新 𝑤 和 𝑏: w : = w + α m ∑ i = 1 m ( y i − ( w T x i + b ) ) x i w:=w+\frac{\alpha}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b))x_i w:=w+mαi=1m(yi(wTxi+b))xi
    b : = b + α m ∑ i = 1 m ( y i − ( w T x i + b ) ) b:=b+\frac{\alpha}{m}\sum_{i=1}^m(y_i-(w^Tx_i+b)) b:=b+mαi=1m(yi(wTxi+b))
  • 停止条件: 当代价函数 J(w,b) 的变化值小于某个阈值,或者达到最大迭代次数时停止。

线性回归模型的优点和局限性

优点:

  • 模型简单,易于理解和实现。
  • 具有很好的可解释性,权重𝑤可以反映每个特征对输出的影响。
  • 对小规模数据和线性关系数据表现良好。

局限性:

  • 只能捕捉输入与输出之间的线性关系,无法处理非线性关系。
  • 对异常值敏感,容易受噪声影响。
  • 需要手动选择特征,无法自动提取特征。

总结

  • 线性回归模型是一种简单但有效的回归方法,适用于线性关系的数据。
  • 模型的核心是通过最小化均方误差(MSE)来找到最佳参数。
  • 梯度下降是一种常用的优化方法,可以有效求解线性回归模型参数。
  • 尽管线性回归存在一定局限性,但其直观性和高效性使其在许多场景中仍有广泛应用。

http://www.kler.cn/a/468614.html

相关文章:

  • 图漾相机基础操作
  • 鸿蒙NEXT使用request模块实现本地文件上传
  • html中下拉选框的基本实现方式及JavaScript动态修改选项内容情况总结
  • 【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 4:MHE表示能力
  • 【软考网工笔记】计算机基础理论与安全——网络规划与设计
  • 力扣283 移动零
  • 前端(API)学习笔记(CLASS 4):进阶
  • Unity3D 如何做好项目性能优化详解
  • 面试题 2024/12 28 29
  • 微服务组件——利用SpringCloudGateway网关实现统一拦截服务请求,避免绕过网关请求服务
  • Python入门教程 —— 面向对象进阶
  • Go语言的 的反射(Reflection)基础知识
  • 基于伪分布式模式部署Hadoop集群
  • 开源模型迎来颠覆性突破:DeepSeek-V3与Qwen2.5如何重塑AI格局?
  • 流光效果
  • docker从下载到Python项目打包到容器中运行(解决下拉超时问题)
  • 【three.js】Shader着色器
  • 如何弥补开源大语言模型解决推理任务的不足
  • 深度 SEO 优化
  • 常见的框架漏洞复现
  • HarmonyOS NEXT应用开发实战(一):边学边玩,从零开发一款影视APP
  • 如何使用SparkSql
  • GESP202406 二级【计数】题解(AC)
  • html生成注册与登录代码
  • 使用LINUX的dd命令制作自己的img镜像
  • 【CSS】第一天 基础选择器与文字控制属性