交叉验证的含义

机器算法验证 交叉验证
2022-04-13 03:49:32

这是一个非常基本的问题,但我想确保我做对了。

K-fold 交叉验证只会帮助预测模型的准确性和其他指标,而不能真正改进模型。那是对的吗?

我正在尝试阅读和了解它,我发现这种方法主要是为了更好地估计模型性能,而不是将其应用于单个数据集。但是,CV 不能直接帮助改进模型,因为它不会给出更好的模型。您必须通过不同的算法再次调整模型,并再次通过 CV 运行它以比较性能。

我的理解正确吗?

2个回答

你是对的(对于 K-fold CV)

K-fold CV 是一种度量标准,它可以为您的模型提供比常规单一训练-测试分割更好的准确度度量。它不会做更多的事情。这对学习本身没有影响。

然而,交叉验证或(只是验证)以不同的方式与不同学习算法中的学习结合使用,这确实有助于通过防止过度拟合来更好地学习。这是一组单独的调用样本,称为验证集,与训练集和测试集不相交。

例如,在 ANN 中,验证集的准确性在每个 epoch 进行测量,以在过度拟合点停止训练。此过程称为提前停止

提前停止

类似地,验证集用于在允许过度拟合后修剪决策树。

在此处输入图像描述

正方形表示训练集的准确性,而三角形表示验证集的准确性。

不要混淆这两个术语,因为它们在不同的上下文中使用。

是的,你是对的。交叉验证将使您了解模型的样本外性能。它不会像这样修改模型。

通常,当您想要预测时,您会查看多个模型。(在进行推论统计时情况有所不同。)您将交叉验证每个模型并选择产生较低交叉验证错误的模型。通过这种方式,您可以检查添加、删除或转换预测变量的效果。

交叉验证是帮助您更好地理解模型的工具。您将需要自己修改模型 - 以交叉验证告诉您的内容为指导。