【机器学习】回归

文章目录

    • [1. 如何训练回归问题](#1. 如何训练回归问题)
    • [2. 泛化能力](#2. 泛化能力)
    • [3. 误差来源](#3. 误差来源)
    • [4. 正则化](#4. 正则化)
    • [5. 交叉验证](#5. 交叉验证)

1. 如何训练回归问题

第一步:定义模型

  • 线性模型: y ^ = b + ∑ j w j x j \hat{y} = b + \sum_{j} w_j x_j y^=b+∑jwjxj
    • 其中,( w ) 是权重,( b ) 是偏差。

第二步:确定损失函数

  • 损失函数:实际值和预测值的差平方和
    L = ∑ i = 1 n ( y ^ i − ( b + ∑ j w j x i j ) ) 2 L = \sum_{i=1}^{n} (\hat{y}i - (b + \sum{j} w_j x_{ij}))^2 L=i=1∑n(y^i−(b+j∑wjxij))2

第三步:寻找最好的函数

目的:

  • 找到最好的函数,目的是找到参数 ( w ) 和 ( b ) 使损失函数最小。

方法:

  • 梯度下降法
    • 计算当前参数 ( w ) 和 ( b ) 的梯度。
    • 分别对 ( w ) 和 ( b ) 计算偏导数。
    • 更新参数:
      w ′ = w − η ⋅ ∂ L ∂ w , b ′ = b − η ⋅ ∂ L ∂ b w' = w - \eta \cdot \frac{\partial L}{\partial w}, \quad b' = b - \eta \cdot \frac{\partial L}{\partial b} w′=w−η⋅∂w∂L,b′=b−η⋅∂b∂L
      其中, η \eta η 是学习率。

说明:

  • 线性模型没有局部最优解,但学习率选择会影响参数是否能跨过最优解。

2. 泛化能力

欠拟合

  • 概念:没有训练到位,训练结果和测试结果都不好。
  • 原因:迭代次数少,模型过于简单。
  • 解决方法:引入新参数,提高模型复杂度。
  • 特点:偏差大,方差小。

过拟合

  • 概念:训练结果很好,但测试结果不好。
  • 原因:为了迎合训练数据,引入高次项,导致模型过于复杂,曲线变得过于曲折。
    • 权重影响模型的平滑度,方法影响的是上下平移。
  • 解决方法:
    • 增加训练数据,复杂模型更容易找到最好的函数。
    • 人工降维,减少模型复杂度。
    • 引入正则化参数,减小权重,使曲线平滑。
    • 使用 Dropout 和 Early Stop 等技术。
  • 特点:偏差小,方差大。

3. 误差来源

方差(Variance)

  • 定义:训练结果与训练结果平均值之间的方差。
  • 描述:反映了模型的抗扰动能力,训练结果的分散程度。

偏差(Bias)

  • 定义:训练结果与真实值的偏差。
  • 描述:刻画了模型的拟合能力,训练结果偏离正确结果的程度。

总结:

  • 模型简单:
    • Function set 小 → 方差小 → 偏差大 → 曲线平滑 → 欠拟合 → 通过调整模型复杂度解决。
  • 模型复杂:
    • Function set 大 → 方差大 → 偏差小 → 曲线陡峭 → 过拟合 → 通过正则化解决。

4. 正则化

目的

  • 在最小化损失函数的同时,减小权重的值。
  • 权重越小,曲线越平滑,输入变化对结果的影响较小。
  • 控制权重的更新,减小模型复杂度。

实现方法:

  • 在损失函数中加入正则化项: L reg = L + λ ∑ i w i 2 L_{\text{reg}} = L + \lambda \sum_{i} w_i^2 Lreg=L+λ∑iwi2
  • 其中, λ \lambda λ 是正则化参数,控制权重的大小
  • 因为要最小化Loss,所以权重也会被最小化

5. 交叉验证

定义:

  • 交叉验证:划分训练集和测试集,模拟测试结果的不可预测性,避免过拟合。

目的:

  • 使用验证集验证训练结果,并根据验证结果调整模型,确保泛化能力。

步骤:

  1. 将数据划分为训练集和验证集。
  2. 使用验证集模拟测试集,验证训练结果。
  3. 根据验证集上的表现调整模型。
  4. 使用整个训练集重新训练模型,得到最终的模型。

注意:

  • 验证集调整后,不应根据测试集的结果再做调整,即便你忍不住。

相关推荐
腾视科技几秒前
AI NAS:当存储遇上智能,开启数据管理新纪元
大数据·人工智能·ai·nas·ai nas·ainas
海绵宝宝de派小星4 分钟前
手写实现一个简单神经网络
人工智能·深度学习·神经网络·ai
沐欣工作室_lvyiyi6 分钟前
基于窗函数法的FIR滤波器设计(论文+源码)
人工智能·matlab·毕业设计·语音识别·fir滤波器
啊阿狸不会拉杆8 分钟前
《计算机操作系统》第六章-输入输出系统
java·开发语言·c++·人工智能·嵌入式硬件·os·计算机操作系统
线束线缆组件品替网12 分钟前
Stewart Connector RJ45 以太网线缆高速接口设计解析
服务器·网络·人工智能·音视频·硬件工程·材料工程
AI即插即用19 分钟前
即插即用系列 | AAAI 2025 Mesorch:CNN与Transformer的双剑合璧:基于频域增强与自适应剪枝的篡改定位
人工智能·深度学习·神经网络·计算机视觉·cnn·transformer·剪枝
应用市场23 分钟前
视频目标追踪完全指南:从原理到实战部署
人工智能·深度学习
@高手24 分钟前
AI应用开发基础
人工智能
wechat_Neal24 分钟前
供应商合作模式中以产品中心取向的转型要点2
人工智能·汽车·devops
一个处女座的程序猿26 分钟前
AI之xAI:《WTF is happening at xAI》解读:从 Sulaiman Ghori 的访谈看 xAI 的节奏、架构与“人类模拟器”愿景
人工智能·架构·xai