术语表

测试数据

了解测试数据在人工智能中的重要性,以及它在评估模型性能、检测过度拟合和确保真实世界可靠性方面的作用。

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

了解更多

测试数据是机器学习(ML)开发生命周期中的重要组成部分。它指的是独立于训练集和验证集的数据集,专门用于在训练和调整阶段完成后对模型性能进行最终评估。该数据集包含模型从未遇到过的数据点,可对模型在新的真实世界数据上的表现进行公正的评估。使用测试数据的主要目的是估算模型的泛化能力,即模型在未见输入时的准确表现能力。

测试数据的重要性

衡量一个人工智能模型成功与否的真正标准,在于它处理未经过明确训练的数据的能力。测试数据是最后的检验点,可以对模型的性能进行客观评估。如果没有专门的测试集,就很有可能出现过拟合,即模型对训练数据的学习效果太好,包括其噪声和特定模式,但却无法泛化到新数据。使用测试数据有助于确保报告的性能指标反映模型在现实世界中的预期能力,从而在模型部署前建立信心。最后的评估步骤对于可靠地比较不同的模型或方法至关重要,例如比较YOLOv8 和 YOLOv9

主要特点

测试数据必须具备某些特征才能有效:

  • 代表性:应准确反映模型部署后将遇到的真实世界数据的特征。这包括特征、类别和潜在变化的相似分布。良好的数据收集和注释实践至关重要。
  • 独立性:测试数据必须与训练集和验证集严格分开。测试数据绝不能用于训练模型或调整其超参数。任何重叠或泄漏都会导致过于乐观的性能估计。
  • 足够大:测试集必须足够大,以提供有统计意义的结果,并可靠地估计模型的性能。

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

必须将测试数据与 ML 中使用的其他数据拆分区分开来:

  • 训练数据这是数据集中最大的一部分,直接用于训练模型。模型通过监督学习等算法从这些数据中学习模式和关系。
  • 验证数据该独立数据集在训练阶段用于调整模型超参数(如架构选择或优化设置),并对训练过程做出决策(如提前停止训练)。它能反馈模型在训练过程中的泛化效果,指导模型评估和微调过程,而无需使用最终测试集。
  • 测试数据:在完成所有训练和验证后只使用一次,以便对模型在未见数据上的性能进行最终的、无偏见的评估。

要开发可靠的模型并准确评估其在现实世界中的能力,使用谨慎的数据拆分等策略适当分离这些数据集至关重要。

真实案例

  1. 自动驾驶:自动驾驶 Ultralytics YOLO自动驾驶汽车物体检测而训练的模型将在测试集上进行评估,测试集包含各种以前从未见过的驾驶场景(如夜间驾驶、大雨、不熟悉的十字路口)。这将确保模型在部署到实际车辆之前,能够可靠地检测到行人、骑车人和其他车辆(Waymo 的技术在很大程度上依赖于此类测试)。
  2. 医学诊断:医学图像分析中,使用脑肿瘤检测数据集等数据训练出的肿瘤检测模型必须在测试集上进行评估,测试集包括来自不同医院、机器和患者群体的扫描数据,这些数据不属于训练或验证的一部分。这可以确认模型在实际临床环境中的诊断准确性稳健性

评估和管理

测试集上的性能通常使用与任务相关的指标来衡量,如准确率平均精度 (mAP)YOLO 性能指标文档等指南中详细说明的其他指标。通常情况下,模型会根据COCO等已建立的基准数据集进行评估,以确保公平比较并提高可重复性Ultralytics HUB 等平台有助于在整个项目生命周期内管理这些不同的数据集,帮助组织数据拆分并有效跟踪实验。

阅读全部
OSZAR »