术语表

交叉验证

了解交叉验证在机器学习中的强大作用,以提高模型准确性、防止过度拟合并确保性能稳定。

交叉验证是机器学习(ML)中一种强大的模型评估技术,用于评估统计分析结果在独立数据集上的通用性。它是一种重采样程序,用于评估有限数据样本上的 ML 模型。其主要目的是防止过拟合,即模型对训练数据的学习效果很好,但在新的未见数据上却表现不佳。通过模拟模型在真实世界中的表现,交叉验证可以对模型的性能进行更稳健、更可靠的评估。

交叉验证的工作原理

最常见的交叉验证方法是 K 折交叉验证。这一过程包括将单个数据集划分为多个部分:

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

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

交叉验证与简单验证拆分

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

  • 验证数据在训练阶段用于超参数调整和模型架构决策。
  • 测试数据仅在完成所有训练和调整后使用,以便对模型的泛化能力进行最终的、无偏见的评估。

如果验证集偶然包含了特别容易或特别困难的样本,那么简单的训练/验证分离有时会产生误导。交叉验证通过将数据集的每一部分都用于训练和验证,从而克服了这一问题,为模型的泛化能力提供了更可靠的衡量标准。这使得它在可用数据量有限的情况下特别有用。Scikit-learn 等流行框架提供了交叉验证技术的稳健实现

实际应用

交叉验证是在不同领域构建可靠的人工智能系统所不可或缺的:

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

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

加入 Ultralytics 社区

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

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