敬请关注 YOLO Vision 2025!
2025年9月25日
英国夏令时 10:00 - 18:00
混合活动
Yolo Vision 2024
词汇表

验证数据

使用验证数据优化机器学习模型,以防止过拟合,调整超参数,并确保稳健的实际性能。

验证数据是从训练过程中保留的一部分数据样本,用于在调整模型超参数时,对模型的拟合度进行公正的评估。验证集的主要作用是通过频繁、独立地评估机器学习模型的性能,来指导模型的开发。这种反馈循环对于构建不仅在已见过的数据上表现良好,而且还能有效地泛化到新的、未见过的数据的模型至关重要,这是创建稳健的人工智能系统的核心概念。

验证数据的作用

验证数据的主要目的是防止过度拟合。当模型过于精细地学习训练数据时,就会发生过度拟合,从而捕获不适用于新数据的噪声和细节,从而损害其性能。通过定期(例如,在每个 epoch 之后)针对验证集测试模型,开发人员可以监控其 泛化误差。如果训练数据的性能持续提高,而验证数据的性能停滞或下降,则明显表明存在过度拟合。

此评估过程对于超参数调整至关重要。超参数是模型外部的配置设置,例如学习率批量大小,这些设置不是从数据中学习的。验证集允许试验不同的超参数组合,以找到产生最佳性能的集合。此迭代过程是模型选择和优化的核心部分。

验证数据与训练数据和测试数据

在一个典型的 ML 项目中,数据集被分成三个子集,理解它们的不同作用至关重要。一种常见的数据分割方法是分配 70% 用于训练,15% 用于验证,15% 用于测试。

  • 训练数据: 这是数据中最大的部分,用于训练模型。模型通过调整其内部模型权重,从该数据集中迭代地学习模式、特征和关系。
  • 验证数据: 这个独立的子集用于在训练过程中提供公正的评估。它有助于调整超参数并做出关键决策,例如何时实施提前停止以防止过拟合。在 Ultralytics 生态系统中,此评估在验证模式下处理。
  • 测试数据: 此数据集会被保留,直到模型完全训练和调整完毕。它仅用于对模型的性能进行最终、公正的评估。测试集的性能指标代表了模型在真实部署场景中的预期表现。

保持严格的分离,尤其是在验证集和测试集之间,对于准确评估模型的能力和避免偏差-方差权衡至关重要。

真实世界的例子

  1. 计算机视觉 目标检测: 当训练 Ultralytics YOLO 模型以检测图像中的目标时(例如,使用 VisDrone 数据集),一部分带标签的图像会被留作验证数据。 在训练期间,模型在每个 epoch 之后都会在此验证集上计算 mAP(平均精度均值)。 此验证 mAP 有助于确定何时停止训练,或者哪一组数据增强技术效果最佳,然后再对测试集进行最终性能检查。 有效的模型评估策略在很大程度上依赖于这种拆分。
  2. 自然语言处理文本分类: 在开发将客户评论分类为正面或负面的模型(情感分析)时,使用验证集来选择最佳架构(例如,LSTMTransformer)或调整超参数,如dropout rates。将选择在验证集上实现最高 F1-score 或准确度的模型进行最终测试。Hugging Face Datasets 等资源通常会为此目的提供预先拆分的数据集。

交叉验证

当可用数据量有限时,通常采用一种称为交叉验证(特别是 K 折交叉验证)的技术。 在这里,训练数据被分成“K”个子集(折叠)。 模型训练 K 次,每次使用 K-1 个折叠进行训练,并将剩余的折叠作为验证集。 然后对所有 K 次运行的性能进行平均。 这提供了对模型性能的更可靠的估计,并更好地利用了有限的数据,如scikit-learn 文档Ultralytics K 折交叉验证指南等资源中所述。

总而言之,验证数据是使用 PyTorchTensorFlow 等框架构建可靠且高性能 AI 模型的基石。它可以有效地进行超参数调整、模型选择和过拟合预防,从而确保模型能够很好地泛化到训练数据之外。诸如 Ultralytics HUB 之类的平台提供了用于有效管理这些数据集的集成工具。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、协作和共同成长

立即加入
链接已复制到剪贴板