K-Fold交叉验证的应用与部署

问题描述 投票:0回答:2

K 折交叉验证是一种用于将数据分割成 K 折以进行测试和训练的技术。目标是估计机器学习模型的通用性。该模型经过 K 次训练,每个训练折叠训练一次,然后在相应的测试折叠上进行测试。

假设我想在某个具有 10 折的任意数据集上比较决策树和逻辑回归模型。假设在对 10 个折叠中的每个折叠训练每个模型并获得相应的测试精度后,逻辑回归在测试折叠中具有更高的平均精度,表明它是数据集更好的模型。

现在进行申请和部署。我是在所有数据上重新训练 Logistic 回归模型,还是从在 K-Folds 上训练的 10 个 Logistic 回归模型创建一个整体?

machine-learning cross-validation k-fold
2个回答
2
投票

CV 的主要目标是验证我们不是偶然得到这些数字的。所以,我相信您可以只使用单一模型进行部署。

如果您已经对超参数和模型性能感到满意,一种选择是对您拥有的所有数据进行训练并部署该模型。

而且,另一个选择是显而易见的,您可以部署其中一个 CV 模型。

关于集成选项,我认为它不会比在所有数据上训练的模型给出更好的结果;因为每个模型都使用相似的参数训练相同的时间,并且它们具有相似的架构;但火车数据略有不同。因此,他们不应该表现出不同的表现。根据我的经验,当模型的输出由于架构或输入数据(例如不同的图像大小)而不同时,集成会有所帮助。


1
投票

在 k 倍 CV 期间训练的模型不应重复使用。 CV 仅用于可靠地估计模型的性能。

因此,标准方法是在 CV 后在完整训练数据上重新训练最终模型。

请注意,评估不同模型类似于超参数调整,因此理论上应在新的测试集上重新评估所选最佳模型的性能。但仅测试了两个模型,我认为这对您的情况并不重要。

您可以在herethere找到有关k重交叉验证的更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.