Machine Learning-L3-训练集与测试集

简介: Machine Learning-L3-训练集与测试集

1. 过拟合与欠拟合


欠拟合(underfitting):模型未能拟合训练数据,高偏差(high bias)。

过拟合(overfitting) :模型未能拟合测试数据,高方差(high variance)。

过度拟合通常发生在特征过多的时候,模型总能很好的拟合训练数据,但泛化能力(模型能够应用到新样本的能力)差,无法应用到新的数据样本中。

image.png


为了防止数据的过拟合(Overfitting),一般将数据集分为两部分:


  • 训练集(Training set):用于训练模型
  • 测试集(Test set):用于测试模型。


有时在模型的训练过程,为调整参数辅助模型构建(如神经网络中选择隐藏单元数),又会另将训练数据划分为训练集与验证集(Validation Set)。

验证集可以在模型训练中重复使用,而测试集只用于模型检测中,评估模型的准确率,不允许用于模型训练。

实际应用中,一般只将数据集划分为训练集与测试集。


《Pattern Recognition and Neural Networks》(Ripley, B.D,1996)中对三个词的定义如下:


Training set: A set of examples used for learning, which is to fit the parameters [i.e., weights] of the classifier.

Validation set: A set of examples used to tune the parameters [i.e., architecture, not weights] of a classifier, for example to choose the number of hidden units in a neural network.

Test set: A set of examples used only to assess the performance [generalization] of a fully specified classifier.

2020041521534797.jpg


2. 训练集与测试集划分


2.1 保持(Holdout)方法


保持方法是划分训练集与测试集的常用方法,将给定数据随机划分成两个独立的集合,通常以75/25或80/20的比例分配到训练集与测试集。


2.2 交叉验证 (cross-validation)


k-折交叉验证(k-fold cross-validation)中,初始数据随机地划分成k个互不相交的子集(折), s1 , s2 , . . . ,  sk 。训练并检验k次,第i次迭代中,分区S i 作为测试集,其余分区用作训练模型。

即第1次迭代,子集s2 , . . . ,  sk作为训练集,得到第1个模型,并在 s1 上测试;第2次迭代,子集 s1 , s3 , . . . ,  sk 作为训练集,得到第2个模型,并在s2上测试;如此下去。每个样本用于训练的次数相同,并且仅用于1次测试。


20200415215553906.png


相关文章
|
11月前
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
496 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
11月前
|
数据采集 机器学习/深度学习 大数据
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
这篇文章详细介绍了C3D架构在行为检测领域的应用,包括训练和测试步骤,使用UCF101数据集进行演示。
340 1
行为检测代码(一):超详细介绍C3D架构训练+测试步骤
|
人工智能 安全 算法
基于Aidlux平台实现真章假章相似度对比训练推理测试
在互联网内容安全风控领域,AI技术的应用对于提高管理的自动化程度和准确性具有重要意义。
231 0
|
11月前
|
机器学习/深度学习 编解码 监控
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
这篇文章详细介绍了如何使用YOLOv8进行目标检测任务,包括环境搭建、数据准备、模型训练、验证测试以及模型转换等完整流程。
17982 59
目标检测实战(六): 使用YOLOv8完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
机器学习/深度学习
神经网络与深度学习---验证集(测试集)准确率高于训练集准确率的原因
本文分析了神经网络中验证集(测试集)准确率高于训练集准确率的四个可能原因,包括数据集大小和分布不均、模型正则化过度、批处理后准确率计算时机不同,以及训练集预处理过度导致分布变化。
|
11月前
|
PyTorch 算法框架/工具 计算机视觉
目标检测实战(二):YoloV4-Tiny训练、测试、评估完整步骤
本文介绍了使用YOLOv4-Tiny进行目标检测的完整流程,包括模型介绍、代码下载、数据集处理、网络训练、预测和评估。
656 2
目标检测实战(二):YoloV4-Tiny训练、测试、评估完整步骤
|
11月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
2745 1
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
11月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
786 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
11月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
2245 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
11月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
379 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)

热门文章

最新文章