术语表

验证数据

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

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

验证数据是机器学习(ML)模型开发生命周期中的重要组成部分。它是数据集的一个独立部分,有别于用于初始拟合模型的训练数据和用于最终评估的测试数据。验证数据的主要目的是对模型在训练数据集上的拟合情况进行无偏见的评估,同时调整模型的超参数并对模型架构本身做出决策。这一过程有助于选择最佳模型配置,然后再评估其在未见数据上的最终性能。

在模型开发中的作用

在训练阶段,ML 模型从训练数据中学习模式。然而,简单地根据模型所学到的相同数据对模型进行评估可能会产生误导,往往会因为过度拟合而导致对性能的估计过于乐观--在过度拟合中,模型对训练数据学习得太好,包括其噪声和特定的怪癖,从而阻碍了模型对新数据进行泛化的能力。验证数据是训练过程中未见数据的替代。通过定期评估模型在验证集上的性能(例如在每个历时之后),开发人员可以

  1. 调整超参数:调整学习率批量大小或模型复杂度(如神经网络的层数)等设置。探索超参数调整指南等技术。
  2. 选择模型:比较不同的算法或架构,看哪个在验证集上表现最好。
  3. 防止过度拟合:实施早期停止,即当验证集上的性能开始下降时,即使训练集上的性能仍在提高,也要停止训练。了解有关模型训练技巧的更多信息。

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

了解训练数据集、验证数据集和测试数据集之间的区别至关重要:

  • 训练数据数据集的最大部分,直接用于算法学习模式和调整内部参数(模型权重)。
  • 验证数据:在训练过程中反复使用的中等大小部分,用于调整超参数和做出模型选择决策。它根据当前的训练状态提供反馈,说明模型的泛化效果如何。
  • 测试数据较小的、完全独立的部分,一直保留到开发过程的最后阶段。它对所选模型在真正未见数据上的性能进行最终的、无偏见的评估。最重要的是,测试集不应影响任何训练或调整决策,以确保对模型的预期实际性能进行可靠的评估。

重要性和益处

使用专用验证集对于建立稳健可靠的 ML 模型至关重要。主要优势包括

  • 改进泛化:有助于确保模型不仅在其训练过的数据上,而且在新的、未见过的数据上表现良好。
  • 客观模型比较:为比较不同模型或超参数设置提供公平的基础。
  • 防止过拟合:作为一个预警系统,它可以检测模型何时开始记忆训练数据,而不是学习一般模式。有关模型评估和微调的详细指南可以提供更多信息。

真实案例

  1. 使用Ultralytics YOLO 进行物体检测当训练一个 Ultralytics YOLO模型来检测自动驾驶应用中的汽车和行人等物体时,训练数据由数千张标注图像组成。验证集包含具有类似物体的不同图像,在每个训练周期结束后使用验证集计算平均精度(mAP)等指标。这种验证 mAP 可以指导超参数(如学习率、数据增强强度)的调整,使用Ultralytics HUB等工具在最终测试前找到在验证集上产生最佳性能的配置。
  2. 医学图像分析假设您正在开发一种卷积神经网络(CNN),使用脑肿瘤数据集等数据集对脑部扫描中的肿瘤进行分类。验证集将用于比较不同的 CNN 架构(如ResNet与 VGG),或调整掉线率等参数。通过基于验证准确率F1 分数进行优化,研究人员可以选择最有前途的模型,而不会影响最终测试集评估的完整性,这对于受FDA 等机构监管的临床应用至关重要。

涉及验证数据的技术

有时,特别是在数据有限的情况下,单一的验证分割可能不具有代表性。交叉验证等技术就能解决这个问题。在K 折交叉验证中,训练数据被分成'k'个子集(折叠)。模型要训练'k'次,每次使用不同的折叠作为验证集,其余的 k-1 个折叠用于训练。k "个验证折叠的平均性能可以更可靠地估计模型的泛化能力。你可以在Scikit-learn 等库中找到实现方法。

验证数据对于指导开发有效的计算机视觉模型和其他人工智能模型是不可或缺的,可确保这些模型得到良好的调整,并能够泛化到训练数据集之外的新挑战中。

阅读全部