k折CV之后的下一步是什么?

数据挖掘 机器学习 交叉验证 训练
2022-02-12 14:10:45

我看到了这个关于 k 折交叉验证 (CV) 的视频讲座https://www.youtube.com/watch?v=wjILv3-UGM8 。视频讲座中给出的算法如下所示:

对于 k = 1:5

训练除了 k

获取模型Mk~

计算精度k作为Ak

结尾

计算最终的交叉验证准确度:A=>15k=15Ak

这对我来说很清楚。这里 M我猜只是一种单一类型的 ML 算法。然而,在时间戳 6:35,演示者提出了一个问题,即我们如何处理所有 5 种不同的模型?据他说,我们要么结合所有模型并根据它做出决定,要么从 5 个模型中选出最好的模型这个说法是真的吗?

在包括此处在内的许多站点中(https://stats.stackexchange.com/questions/310953/doubt-about-k-fold-crossvalidation?noredirect=1&lq=1https://stats.stackexchange.com/questions/11602/ training-on-the-full-dataset-after-cross-validationhttps://stats.stackexchange.com/questions/11602/training-on-the-full-dataset-after-cross-validation)和研究论文 I已经明白:

-- 为了使用 k 折 CV 进行模型训练,我们在 CV 循环结束后重新训练整个数据集,这就是最终模型。

-- 如果进行 CV 训练的想法是检查 ML 算法在整个数据集上的准确性,我们不会从 CV 循环内部选择任何模型。

-- 但是,如果我们在 CV 循环中有多个 ML 算法,比如随机森林、神经网络、SVM,那么我们会选择精度最高的算法。

-- 另一种技术,嵌套交叉验证用于超参数调整。

我的理解正确吗?

2个回答

我没有观看链接的视频,但根据您的解释:是的,您的理解是正确的。

一个常见的混淆是假设交叉验证类似于常规训练阶段,因此会产生一个模型。这个假设是错误的:CV 包括为了评估方法/参数而重复的训练/测试。从这个理解可以得出:

为了使用 k 折 CV 进行模型训练,我们在 CV 循环结束后重新训练整个数据集,这就是最终模型。

是的,因为我们希望获得尽可能准确的最终模型,所以我们应该使用所有数据。在这种情况下,CV 已用于计算对性能的良好估计。

如果进行 CV 训练的想法是检查 ML 算法在整个数据集上的准确性,我们不会从 CV 循环内部选择任何模型。

正确,否则使用简历毫无意义。

但是,如果我们在 CV 循环中有多个 ML 算法,比如随机森林、神经网络、SVM,那么我们会选择精度最高的算法。

评估多个方法和/或参数的任何情况都比单个方法的常规情况复杂一些:评估多个系统本身就是额外的训练层,因为我们选择了一些参数(通常是最好的模型)基于数据。这意味着选择本身是基于 CV 阶段使用的全部数据,因此最佳模型的 CV 性能类似于在训练集上获得的性能。这就是为什么需要另一个测试集(或嵌套 CV)才能获得模型的最终性能。理解这一点的一种直观方法是想象用 CV 评估数百万个模型:了解最佳性能是否是偶然的唯一方法是在一些新的测试集上评估相应的模型。

注意:组合所有模型的输出的情况是另一回事,因为这归结为单个元模型。

我相信在视频
中,当视频中说你有 5 个模型在 5 个不同的数据集上训练时,这有点不正确。
你有一个在 5 个数据集上训练的模型。因此,您有 5 个训练有素的模型。

然后它建议根据投票等选择一个模型。这就是集成模型的工作方式,但交叉验证不适用于集成模型的过程

为什么 K-Fold CV K-Fold CV
的关键目标是提供可靠的估计使用可用的火车数据测试错误

在一个简单的拆分方法中,我们可能很幸运,验证集包含更多简单的示例,从而导致对模型的过度乐观评估
或者,当验证集包含更多困难的示例并且模型的性能被低估 时,我们可能会很不走运。
它不仅仅依赖于模型误差的一个估计,而是依赖于一个估计数(K)。

要记住的最重要的一点是,您仍在处理您的火车数据集。
使用这种方法,您可以更好地确保在检查测试数据之前训练的得分是最好的(可靠性)。
因此,您可以更加信任模型配置(超参数)
,因为这仍然是训练数据,您应该在整个数据集上使用已识别的超参数训练模型。

但是,如果我们在 CV 循环中有多个 ML 算法,比如随机森林、神经网络、SVM,那么我们会选择精度最高的算法

我不认为我们可以在一个 K-Fold 中拥有多个模型。如果我们的意思是在一个简单的循环中对多个模型重复 k 折。如果“分数”是唯一的评估标准,那么我们可能会选择得分最高的模型。