【深度学习】训练集、测试集、验证集、过拟合、欠拟合详解

news/2025/3/29 6:00:25/

文章目录

  • 1. 训练集(Training Set)
    • 1.1 关键点
  • 2. 验证集(Validation Set)
    • 2.1 作用
    • 2.2 关键点
  • 3. 测试集
    • 3.2 作用
    • 3.3 关键点
  • 4. 数据划分方法
    • 4.1 固定划分
    • 4.2 交叉验证
    • 4.3 留一法
  • 5. 过拟合与欠拟合
    • 5.1 过拟合
    • 5.2 欠拟合
    • 5.3 选择合适的模型

在机器学习和深度学习中,数据集的划分是模型训练过程中至关重要的一步。常见的数据划分方式包括:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set),本文将详细介绍他们的作用。

1. 训练集(Training Set)

训练集是用于训练模型的数据集,包含了样本数据及对应的标签(在监督学习中)。模型通过在训练集上的学习,调整内部参数(如神经网络权重),尽可能拟合数据的分布和模式

1.1 关键点

  • 训练集的数据量通常是最大的,因为模型需要大量数据来学习有效特征
  • 数据应该尽可能多样化,以确保模型的泛化能力
  • 在训练过程中,模型会不断调整参数,使其在训练集上的误差最小

2. 验证集(Validation Set)

验证集用于模型选择和超参调优,在训练过程中用于模型性能评估,以确保在训练集外的数据上表现良好。

2.1 作用

  • 超参数优化:用于选择最优学习率、正则化参数、网络深度等
  • 模型选择:用于对比不同的网络模型,选择最优模型
  • 防止过拟合:如果模型在训练集上表现很好,但是在验证集上表现很差,说明模型可能出现了过拟合

2.2 关键点

  • 验证集应该与训练集独立,但具有相似的分布
  • 训练过程中,模型不会在验证集上进行学习,只会用于评估
  • 在训练过程中,每个epoch结束后,模型会在验证集上进行评估,选择最佳模型

3. 测试集

测试集是用来衡量最终模型的泛化能力的数据集。它与训练过程完全独立,仅用于最终性能评估

3.2 作用

  • 最终评估:用于衡量模型在未知数据集上的表现
  • 对比不同方法:在研究过程中,测试集可用于比较不同算法的优劣

3.3 关键点

  • 不能使用测试集进行训练或者超参调整
  • 测试集应该涵盖尽可能多的真实场景,确保评估的准确性

4. 数据划分方法

4.1 固定划分

最常见的方法是直接划分数据集:

  • 训练集:用于训练模型(如70%-80%)
  • 验证集:用于超参调优(如10%-15%)
  • 测试集:用于最终评估(如10%-15%)

4.2 交叉验证

  • 将数据分为K份,每次用 K-1 份训练,1份验证
  • 轮流使用不同的部分作为验证集,最终取平均结果
  • 常见K值: 5-Fold、10-Fold

4.3 留一法

  • 适用于极小数据集,每次使用一个样本作为测试集,其它样本作为训练集
  • 计算量大,适用于少数据量的情况

5. 过拟合与欠拟合

在训练模型时,我们希望模型能够在未知数据集上表现良好,而不是仅仅记住训练数据的模式。如果模型在训练集上表现优异,但在验证集和测试集上效果较差,则可能发生过拟合(Overfitting);如果模型在训练数据上也表现不好,则可能是欠拟合(Underfitting)

5.1 过拟合

可能的原因:

  • 训练数据量不足,导致模型只能记住有限的数据模式
  • 模型过于复杂(参数过多),可以拟合训练数据的细节甚至噪声
  • 训练时间过长,模型不断调整参数,使其完美拟合训练数据
  • 训练数据分布与真实数据分布不匹配(数据偏差)

可能的解决方案:

  • 增加训练数据:

    • 采集更多数据,扩展数据集,提高模型的泛化能力
    • 使用数据增强(Data Augmentation),如图像旋转、翻转、颜色变换等,增强数据的多样性
  • 使用正则化技术:

    • L1/L2 正则化(Lasso / Ridge):在损失函数中添加额外的惩罚项,限制模型的复杂度
    • Dropout:在神经网络训练过程中随机丢弃部分神经元,减少对某些特定特征的依赖,提高泛化能力
  • 降低模型复杂度:

    • 选择参数较少的模型,避免过度拟合,如减少神经网络层数或神经元个数
    • 采用早停(Early Stopping),在验证集损失开始上升时停止训练,避免过度拟合训练数据
  • 使用交叉验证(Cross-Validation):

    • 采用K-Fold 交叉验证,确保模型对不同子集的泛化能力较好

5.2 欠拟合

可能的原因:

  • 模型过于简单,无法捕捉数据的复杂特征
  • 训练时间不足,模型尚未充分学习
  • 训练数据质量差,特征工程不充分
  • 特征提取方式不合理,未提供有效的信息给模型

可能的解决方案:

  • 使用更复杂的模型:

    • 对于深度学习任务,可以增加网络层数、增加神经元数量,使模型具备更强的表达能力
    • 在传统机器学习中,可以使用更复杂的模型(如 SVM、XGBoost 等)
  • 增加训练时间:

    • 适当增加训练轮次(epochs),确保模型有足够的时间学习数据模式
    • 监控损失变化,防止训练不足导致的欠拟合
  • 优化特征工程:

    • 进行更好的数据预处理,如归一化、标准化等,提高数据质量
    • 提取更有效的特征,减少无关或冗余特征
  • 减少正则化强度:

    • 适当降低 L1/L2 正则化的权重,避免对模型复杂度的过度限制
    • 适当减少 Dropout 率,使模型有更多参数参与训练

5.3 选择合适的模型

通常,我们希望模型处于不过拟合也不过欠拟合的状态。可以通过以下方式评估模型的拟合程度:

  1. 观察训练误差和验证误差:

    • 如果训练误差很低但验证误差很高 → 可能是过拟合
    • 如果训练误差和验证误差都很高 → 可能是欠拟合
  2. 绘制学习曲线:

    • 训练误差和验证误差趋于平稳且相近,说明模型较为合适
    • 训练误差远低于验证误差,说明可能存在过拟合
    • 训练误差和验证误差都很高,说明可能存在欠拟合
  3. 尝试不同模型:

    • 先从简单的模型开始,逐步增加复杂度,找到最优的模型
    • 使用交叉验证来评估模型的泛化能力

http://www.ppmy.cn/news/1583179.html

相关文章

计算机网络基础:搭建 Web 服务器与 FTP 服务器

计算机网络基础:搭建 Web 服务器与 FTP 服务器 一、前言二、Web 服务器基础2.1 什么是 Web 服务器2.2 HTTP 协议2.2.1 HTTP 请求报文2.2.2 HTTP 响应报文2.3 常见 Web 服务器软件2.3.1 Apache2.3.2 Nginx三、搭建 Web 服务器实战3.1 环境准备3.2 安装与配置 Web 服务器软件(以…

笔记整理三

园区网 园区网络分类 根据网络规模(园区本身)进行区分: 根据企业用户需要进行划分; 园区网络发展的问题 三层架构—企业网络搭建的指导方案--有线网络 接入层---提供用户接入的接口 汇聚层--提供汇聚网关;运行路由协议实现不同业…

2.基于多线程的TCP服务器实现

在我们预想中,服务器端应该能够同时与多个客户端建立连接并进行网络通信。然而,在之前的代码中,服务器实现只支持单一连接,因为在处理连接时,主线程会被accept()、read()或write()等方法阻塞,导致无法响应新…

芋道 Spring Cloud Alibaba 消息队列 RocketMQ 入门

1. 概述 RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销…

Skynet 中 snlua 服务 init 细节

本篇作为 《Skynet 中 snlua 服务启动整体流程分析》的内容补充,主要是从 C 语言层面 一步步剖析,到 Lua 层面(loader.lua、服务启动脚本),最后再讲解如何将回调函数设为 skynet.dispatch_message。主要希望能更好地理…

31天Python入门——第10天:深入理解值传递·引用传递以及深浅拷贝问题

你好,我是安然无虞。 文章目录 1. 什么是对象2. 对象类型3. 引用传递3.1 基本概念3.2 不可变对象和可变对象的引用传递不可变对象可变对象 3.3 函数参数传递中的引用传递不可变对象作为参数可变对象作为参数 3.4 如何避免可变对象引用传递带来的问题3.5 总结: 值传…

蓝桥杯第十届 特别的数

题目描述 小明对数位中含有 2、0、1、9 的数字很感兴趣(不包括前导 0),在 1 到 40 中这样的数包括 1、2、9、10 至 32、39 和 40,共 28 个,他们的和是 574。 请问,在 1 到 n 中,所有这样的数的…

单纯形法之大M法

1. 问题背景与标准化 在求解某些线性规划问题时,往往难以直接找到初始的基本可行解。特别是当约束中存在等式或 “≥” 类型的不等式时,我们需要引入人工变量来构造一个初始可行解。 考虑如下标准形式问题(假设为最大化问题)&am…