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

交叉验证

探索机器学习中交叉验证的强大功能,以提高模型准确性、防止过度拟合并确保稳健的性能。

交叉验证是机器学习 (ML)中一种强大的模型评估技术,用于评估统计分析的结果将如何推广到独立数据集。它是一种重采样程序,用于评估有限数据样本上的 ML 模型。主要目标是防止过拟合,即模型过度学习训练数据,导致其在新数据上的表现不佳。通过模拟模型在现实世界中的表现,交叉验证提供了更强大、更可靠的模型性能估计。

交叉验证如何运作

交叉验证最常用的方法是 K 折交叉验证。此过程涉及将单个数据集划分为多个部分:

  1. 分割数据: 将整个训练数据集随机分成 'k' 个大小相等的子集,或称为“折叠”。
  2. 迭代训练和验证: 模型训练 'k' 次。在每次迭代中,其中一个 folds(折叠)被保留为验证集,并且模型在剩余的 k-1 个 folds 上进行训练。
  3. 性能评估: 在保留的折叠上评估模型的性能。记录每次迭代的关键指标,例如准确率平均精度均值 (mAP)
  4. 结果平均: 完成所有 'k' 次迭代后,性能指标会进行平均,从而生成对模型有效性的更稳定的单一估计。

这种方法确保每个数据点都恰好在验证集中出现一次,在训练集中出现 k-1 次。有关实施的详细指南,请参见Ultralytics K-Fold 交叉验证指南

交叉验证与简单验证集划分

在一个典型的ML项目中,数据被分为训练集、验证集和测试集。

  • 验证数据: 在训练阶段用于超参数调整并做出有关模型架构的决策。
  • 测试数据: 仅在所有训练和调整完成后使用,以提供对模型泛化能力的最终、公正的评估。

如果验证集偶然包含特别容易或困难的样本,则简单的训练/验证分割有时可能会产生误导。交叉验证通过将数据集的每个部分用于训练和验证来克服这个问题,从而提供更可靠的模型泛化能力衡量标准。当可用数据量有限时,这尤其有用。像Scikit-learn 这样的流行框架提供了交叉验证技术的强大实现

实际应用

交叉验证对于在各个领域构建可靠的 AI 系统是不可或缺的:

  1. 医学影像分析: 当开发用于医学影像分析卷积神经网络 (CNN)时,例如使用脑肿瘤数据集检测脑部扫描中的肿瘤,会使用交叉验证 (CV) 来严格评估模型的诊断准确性和跨不同患者数据的泛化能力。在考虑临床试验或寻求 FDA 等机构的监管批准之前,这种稳健的评估至关重要。
  2. 自动驾驶车辆: 对于 自动驾驶车辆中使用的 目标检测 模型(如 Ultralytics YOLO),计算机视觉有助于确保在各种环境条件下检测行人、骑自行车的人和其他车辆时具有可靠的性能。在模型部署到安全关键型系统(如汽车解决方案中的人工智能中的系统)之前,在 Argoverse 等复杂数据集上进行验证至关重要。

其他应用包括评估图像分割自然语言处理 (NLP)任务(如情感分析)以及金融建模中的风险评估的模型。诸如Ultralytics HUB之类的平台可以帮助管理在此类评估技术期间产生的实验和工件,从而简化开发生命周期。

加入 Ultralytics 社区

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

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