K 折交叉验证后在完整数据集上预训练模型的实践

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

我最近为我的模型完成了 k 倍交叉验证过程,其中我在每个训练集上对模型进行了预训练,并在每个相应的验证集上对其进行了验证。这个过程帮助我确定了最适合我的模型的超参数集。

现在,我正处于一个阶段,我想利用整个数据集(结合 k 折 CV 中使用的训练集和验证集)来预训练我的模型。然而,我面临着一个困境,因为通过使用所有可用数据进行训练,我不再有单独的验证集来在最后的预训练阶段评估模型。

我正在寻求如何处理这种情况的建议:

  • 通过 k 折交叉验证确定最佳超参数后,在整个数据集上预训练模型的最佳实践是什么?
  • 人们通常如何处理最后的预训练步骤中缺少验证集的情况?是否有一个标准方法来确保模型的通用性而不损害评估的完整性?

我对平衡利用完整数据集进行训练的需求,同时仍然能够准确评估模型性能的策略特别感兴趣。

machine-learning data-science cross-validation pre-trained-model reproducible-research
1个回答
0
投票

首先,根据模型的复杂性、数据集的大小和计算资源,您应该考虑进行嵌套 k 折交叉验证。嵌套 CV 的目标不是找到最佳的超参数集,而是让您了解超参数搜索本身的泛化误差。我发现这个视频对于理解这个概念非常有帮助: https://www.youtube.com/watch?v=DuDtXtKNpZs 这里解释了围绕该主题可能出现的一些问题: https://stats.stackexchange.com/questions/65128/nested-cross-validation-for-model-selection?noredirect=1&lq=1

回到您的具体问题:

通过 k 折交叉验证确定最佳超参数后,在整个数据集上预训练模型的最佳实践是什么? 人们通常如何处理最后的预训练步骤中缺少验证集的情况?是否有一个标准方法来确保模型的通用性而不损害评估的完整性?

当您进行 k 折 CV 进行超参数搜索时,您首先将数据分为训练集和测试集。 超参数搜索中不使用测试集。 相反,您使用 k 折 CV 的训练集,这意味着您可以像处理整个数据集一样处理初始训练集。 找到超参数后,您将使用完整的训练集来训练您的模型,并使用您之前未使用过的测试集来评估您的最终模型。

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