了解测试数据在人工智能中的重要性,以及它在评估模型性能、检测过度拟合和确保真实世界可靠性方面的作用。
测试数据是机器学习(ML)开发生命周期中的重要组成部分。它指的是独立于训练集和验证集的数据集,专门用于在训练和调整阶段完成后对模型性能进行最终评估。该数据集包含模型从未遇到过的数据点,可对模型在新的真实世界数据上的表现进行公正的评估。使用测试数据的主要目的是估算模型的泛化能力,即模型在未见输入时的准确表现能力。
衡量一个人工智能模型成功与否的真正标准,在于它处理未经过明确训练的数据的能力。测试数据是最后的检验点,可以对模型的性能进行客观评估。如果没有专门的测试集,就很有可能出现过拟合,即模型对训练数据的学习效果太好,包括其噪声和特定模式,但却无法泛化到新数据。使用测试数据有助于确保报告的性能指标反映模型在现实世界中的预期能力,从而在模型部署前建立信心。最后的评估步骤对于可靠地比较不同的模型或方法至关重要,例如比较YOLOv8 和 YOLOv9。
测试数据必须具备某些特征才能有效:
必须将测试数据与 ML 中使用的其他数据拆分区分开来:
要开发可靠的模型并准确评估其在现实世界中的能力,使用谨慎的数据拆分等策略适当分离这些数据集至关重要。
测试集上的性能通常使用与任务相关的指标来衡量,如准确率、平均精度 (mAP) 或YOLO 性能指标文档等指南中详细说明的其他指标。通常情况下,模型会根据COCO等已建立的基准数据集进行评估,以确保公平比较并提高可重复性。Ultralytics HUB 等平台有助于在整个项目生命周期内管理这些不同的数据集,帮助组织数据拆分并有效跟踪实验。