并非所有统计程序都拆分为训练/测试数据,也称为“交叉验证”(尽管整个程序涉及的内容不止于此)。
相反,这是一种专门用于估计样本外误差的技术;即,您的模型使用新数据集预测新结果的效果如何?例如,当您拥有相对于数据集中样本数量的大量预测变量时,这将成为一个非常重要的问题。在这种情况下,很容易构建一个样本内误差很大但样本外误差很严重(称为“过度拟合”)的模型。在您同时拥有大量预测变量和大量样本的情况下,交叉验证是帮助评估模型在预测新数据时表现如何的必要工具。在竞争预测模型之间进行选择时,它也是一个重要工具。
另一方面,交叉验证几乎总是只在尝试构建预测模型时使用。一般来说,当您尝试估计某些治疗的效果时,它对模型的帮助不是很大。例如,如果您要比较材料 A 和 B 之间的拉伸强度分布(“处理”是材料类型),则不需要交叉验证;虽然我们确实希望我们对治疗效果的估计能在样本外推广,但对于大多数问题,经典统计理论可以比交叉验证更准确地回答这个问题(即估计的“标准误差”)。不幸的是,经典的统计方法1在过度拟合的情况下,标准错误不成立。在这种情况下,交叉验证通常会做得更好。
另一方面,如果您试图根据 10,000 个测量变量来预测材料何时会破裂,这些测量变量是基于 100,000 个观察值投入到某个机器学习模型中的,那么在没有交叉验证的情况下构建一个出色的模型会遇到很多麻烦!
我猜在完成的很多物理实验中,您通常对效果估计感兴趣。在这些情况下,几乎不需要交叉验证。
1有人可能会争辩说,具有信息先验的贝叶斯方法是一种解决过拟合问题的经典统计方法。但这是另一个讨论。
旁注:虽然交叉验证首先出现在统计学文献中,并且肯定被自称为统计学家的人使用,但它已成为机器学习社区中必不可少的基本工具。许多统计模型在不使用交叉验证的情况下也能很好地工作,但是几乎所有被认为是“机器学习预测模型”的模型都需要交叉验证,因为它们通常需要选择调整参数,而这几乎是不可能做到的-验证。