交叉验证是机器学习和人工智能中使用的一种统计技术,通过在训练过程中未使用的数据子集上进行测试来评估模型的性能。它能确保模型能很好地泛化到新的、未见过的数据中,并有助于防止过度拟合。通过将数据集划分为多个部分或 "褶皱",交叉验证可在数据的不同部分对模型进行系统测试,从而为模型的有效性提供可靠的衡量标准。
交叉验证的核心理念是将数据集多次划分为训练子集和测试子集。模型在一个子集上训练,在另一个子集上测试,在数据集上轮换,以确保每个数据点都至少用于训练和验证一次。最常用的技术是 K 倍交叉验证,其中数据集分为 K
大小相等的褶皱:
K-1
褶皱,并对剩余的褶皱进行测试。K
次,每次使用不同的折叠作为测试集。其他变体包括 "留一弃一 "交叉验证(LOOCV)和 "分层 K 折交叉验证"。"留一弃一 " 交叉验证是将每个数据点作为测试集使用一次,而 "分层 K 折交叉验证"则是在各折中保持类别分布,因此非常适合不平衡数据集。
交叉验证在模型评估中具有多种优势:
在 "过度拟合 "词汇表页面了解更多有关防止机器学习中过度拟合和泛化的信息。
交叉验证被广泛应用于各种人工智能和 ML 应用中,以确保模型的稳健性和可靠性:
交叉验证在通过网格搜索或随机搜索等技术优化超参数方面发挥着至关重要的作用。通过评估不同折叠上的多个参数组合,实践者可以确定最佳配置。了解更多有关超参数调整以提高模型性能的信息。
在选择支持向量机 (SVM) 或随机森林等不同算法时,交叉验证可在相同条件下评估每个模型,从而进行公平比较。了解有关随机森林和支持向量机 (SVM) 的更多信息。
交叉验证涉及数据集的动态划分,而验证数据指的是在训练过程中为性能评估而保留的固定子集。在验证数据术语表页面了解更多信息。
测试数据用于模型训练和验证后的最终评估,而交叉验证则是将训练数据分成多个子集进行中间评估。更多详情,请访问测试数据词汇表页面。
交叉验证是识别和减少过拟合的关键策略。虽然剔除层或正则化等技术也有帮助,但交叉验证提供了模型性能的经验证据。在正则化术语表页面了解更多信息。
交叉验证是机器学习中不可或缺的工具,它能确保模型的准确性和通用性。通过在未见过的数据上进行严格测试并求取平均结果,交叉验证可提供可靠的性能指标,为模型选择和调整提供指导。关于交叉验证在物体检测中的实际应用,请访问Ultralytics HUB,探索使用Ultralytics YOLO 进行物体检测的 K 折交叉验证。
要开始人工智能项目或模型训练,请访问Ultralytics HUB,获取直观的工具和资源。