2025-07-16 李沐深度学习8——模型选择与过拟合欠拟合


image-20250716014802823

1 模型选择

1.1 训练误差与泛化误差

  1. 训练误差(Training Error)
    • 模型在训练数据集上的误差
    • 类似于学生在模拟考试中的成绩
    • 可能因为"背题"而虚高,不代表真实能力
  2. 泛化误差(Generalization Error)
    • 模型在新数据上的误差
    • 类似于学生在真实考试中的成绩
    • 是我们真正关心的指标
image-20250716015036597

区别

  • GRE备考举例

    通过背诵历年真题(训练数据)可能在模拟考试(训练误差)中表现很好,但在真实考试(泛化误差)中表现不佳

  • 银行贷款举例

    模型可能发现"穿蓝色衬衫"与违约的虚假关联(训练数据中的巧合),但这种模式在新数据中无效

1.2 验证集与测试集的正确使用

​ 三种数据集的作用:

  1. 训练集(Training Set)
    • 用于训练模型参数
    • 相当于学生的日常作业和练习题
  2. 验证集(Validation Set)
    • 用于评估模型好坏、选择超参数
    • 相当于模拟考试,用于调整学习策略
    • 常见错误:与训练集混用,导致"数据泄露"
  3. 测试集(Test Set)
    • 理论上只能使用一次的数据集
    • 相当于高考,用于最终评估
    • 严重错误:在测试集上调参,导致结果虚高
image-20250716015319226

实际应用中的陷阱

  1. 图像分类案例

    使用Google搜索图片作为验证集,但这些图片可能已经包含在训练集(ImageNet)中

  2. 论文研究案例

    在测试集上反复调参并报告最佳结果,属于学术不端行为

1.3 K折交叉验证

基本原理

​ 当数据量有限时,直接划分验证集会浪费训练数据。K折交叉验证的算法如下:

  1. 将训练数据随机打散后分割成K个大小相似的子集
  2. 进行K次模型训练和验证:
    • 每次使用K-1个子集作为训练数据
    • 剩余1个子集作为验证数据
  3. 计算K次验证结果的平均值作为模型性能估计
image-20250716015522676

K值选择

  • 常用值:K=5或10
  • 大数据集:可取较小值(如2或3)以减少计算量
  • 小数据集:可取较大值(如10或N,即留一法)以充分利用数据

优点

  • 充分利用有限数据
  • 减少因数据划分带来的随机性影响

缺点

  • 计算成本高,需要进行K次训练[citation:用户消息]
  • 不适合超大数据集

1.4 超参数选择流程

​ 基于K折交叉验证的超参数选择方法:

  1. 定义一组候选超参数组合
  2. 对每个超参数组合执行K折交叉验证
  3. 计算每个组合的平均验证误差
  4. 选择表现最好的超参数组合
  5. 使用全部训练数据(不划分验证集)重新训练最终模型

2 过拟合与欠拟合

2.1 概念

​ 过拟合和欠拟合是机器学习模型在训练过程中常见的两种不良状态,反映了模型容量数据复杂度之间的不匹配关系:

  1. 欠拟合(Underfitting)
    • 模型在训练集和测试集上都表现不佳
    • 训练误差高,泛化误差也高
    • 类比:学生完全不复习考试内容,考试时连基本题型都无法理解
  2. 过拟合(Overfitting)
    • 模型在训练集上表现极好,但在测试集上表现差
    • 训练误差低,泛化误差高
    • 类比:学生死记硬背所有练习题答案,但遇到新题型就束手无策
image-20250716015929403
现象训练误差泛化误差模型表现类比
欠拟合训练集和测试集都表现差完全不复习的学生
过拟合训练集表现好,测试集表现差死记硬背的学生
理想状态训练集和测试集都表现好真正理解知识的学生

2.2 模型容量与数据复杂度

​ 理解过拟合和欠拟合的关键在于把握模型容量(模型复杂度)与数据复杂度的匹配关系:

  1. 模型容量:模型拟合各种函数的能力
    • 低容量模型:如线性模型,只能学习简单模式
    • 高容量模型:如深度神经网络,可以学习复杂模式甚至记住所有训练数据
  2. 数据复杂度:由以下因素决定
    • 样本数量
    • 每个样本的特征维度
    • 数据中的时空结构(如图像的空间结构、时间序列的时间结构)
    • 类别的多样性(分类任务中的类别数量)
image-20250716020138620

​ 当模型容量与数据复杂度不匹配时,就会出现问题:

  • 简单模型+复杂数据 → 欠拟合
  • 复杂模型+简单数据 → 过拟合

2.3 误差关系曲线

​ 误差-容量曲线直观展示了这一关系:

image-20250716020325668

曲线特点

  • 训练误差:随着容量增加单调下降,理论上可降至零(模型记住所有训练数据)
  • 泛化误差:先下降后上升,呈U型曲线
    • 初始阶段:增加容量有助于学习有用模式,泛化误差下降
    • 超过某点后:模型开始学习噪声和特定样本细节,泛化误差上升
image-20250716020527884

​ 最佳容量点位于泛化误差最低处,此时:

  • 模型足够复杂以捕捉数据主要模式
  • 但不过度复杂以致学习噪声和无关细节

2.4 VC维理论

​ 统计学习理论中的VC维(Vapnik-Chervonenkis dimension)提供了衡量模型容量的理论工具:

  • 定义:对于一个分类模型,VC维是它能"打散"(完美分类)的最大数据集大小
image-20250716020556235
  • 例子:
    • 二维感知机的VC维为3(可分类任意标记的3个点,但无法处理XOR问题的4个点)
    • N维感知机的VC维为N+1
    • 多层感知机的VC维约为N×logN
image-20250716020626069

VC维的意义

  • 理论上限定了训练误差与泛化误差之间的差距
  • 为模型选择提供理论指导

​ VC维在深度学习中的应用有限,因为:

  1. 深度神经网络的VC维难以精确计算
  2. 实际深度学习模型复杂度远超传统理论适用范围
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蔗理苦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值