嵌套交叉验证与重复 k 折

机器算法验证 交叉验证
2022-03-23 04:06:24

我知道有很多主题(1、2、3 论文1、2、3 网站1 详细讨论了这个主题。然而,在过去的两天里,我正在阅读我能找到的关于这个主题的所有内容,似乎我在进展方面遇到了障碍。

因此,非常感谢您对该主题的另一种看法。

据我了解,当我们有多个模型时,我们使用嵌套交叉验证,每个模型都有一定数量的超参数需要调整。这是一个示例,据我所知,将使用嵌套交叉验证:

假设我们有一个由 100 个观察值组成的数据集,我们想看看以下哪个模型(括号中带有超参数)是最好的:

-神经网络(隐藏层数,每个隐藏层中的神经元数,激活函数)

-KNN(邻居数,距离度量)

-SVM(核函数类型,核函数参数)

由于观察的数量很少,我们无法将三个不相交的集合(训练、验证、测试)分开,因为我们最终可能会得到一个最差的模型,因为它的训练数据少于可用的数据。为了解决这个问题,我们将实施交叉验证策略。到目前为止这是正确的吗?

在嵌套交叉验证的内部循环中,我们将为每个模型选择最佳的超参数组合。之后,我们将使用来自内循环的组合数据训练每个模型,然后在外循环交叉验证中进行比较。具有较小误差度量的模型将被认为是最好的。然后,该模型将使用整个数据集进行训练,并用于未来的预测。

我的主要疑问是:为什么我不能重复交叉验证以获得相同的结果?例如,假设我使用了重复的 k 折。在这种情况下,我将训练训练集中的每个模型和超参数组合,并针对每个 k 折拆分评估其在测试集中的性能。然后我会选择在所有重复中给出较小平均误差的模型和超参数。最后,最好的模型被拟合到类似于嵌套交叉验证示例的整个数据。

据我了解,在重复的交叉验证示例中,估计的误差会有所偏差。发生这种情况是因为存在一些信息泄漏,因为我们使用相同的数据进行模型选择和超参数调整以及模型评估。但是,如果我只对选择最佳模型感兴趣,那么嵌套交叉验证真的有必要吗?

随意纠正任何错误的假设或不正确的术语使用,因为我对这个领域相当陌生,任何帮助将不胜感激。

2个回答

嵌套交叉验证和重复 k 折交叉验证具有不同的目标。嵌套交叉验证的目的是消除由于使用交叉验证来调整超参数而导致的性能估计偏差。由于“内部”交叉验证已直接优化以调整超参数,它将给出泛化性能的乐观偏差估计。另一方面,重复 k 折交叉验证的目的是减少性能估计的方差(以平均化将数据划分为折叠所引起的随机变化)。如果你想减少偏见方差,没有理由(除了计算费用)不将两者结合起来,这样重复的 k 折用于嵌套交叉验证估计的“外部”交叉验证。对“内部”折叠使用重复的 k 折叠交叉验证,也可能会改善超参数调整。

如果所有模型只有少量超参数(并且它们对超参数值不太敏感),那么您通常可以通过非嵌套交叉验证来选择模型,并且只需要如果您需要无偏的性能估计,请使用嵌套交叉验证,请参阅:

Jacques Wainer 和 Gavin Cawley,“选择分类器时的嵌套交叉验证对于大多数实际应用来说过于热心”,应用专家系统,第 182 卷,2021 年 ( doi , pdf )

另一方面,如果某些模型比其他模型具有更多的超参数,则模型选择将偏向于具有最多超参数的模型(这可能是一件坏事,因为它们最有可能经历过度-适合模型选择)。请参阅我的论文第 4.3 节(与 Mrs Marsupial 一起)中 RBF 内核与单个超参数和自动相关性确定 (ARD) 内核的比较,每个属性都有一个超参数:

GC Cawley 和 NLC Talbot,“关于模型选择中的过度拟合和性能评估中的后续选择偏差”,机器学习研究杂志 11,2079-2107,2010 ( pdf )

PRESS 统计量(即内部交叉验证)几乎总是选择 ARD 内核,尽管 RBF 内核在大多数情况下(13 个基准数据集中的 10 个)提供了更好的泛化性能。

据我了解,重复交叉验证示例中的估计误差会有所偏差......但是,如果我只对选择最佳模型感兴趣,那么嵌套交叉验证真的有必要吗?

简短回答:您的理解是正确的。不需要嵌套交叉验证来选择最佳模型(从所考虑的模型中)。但是,您确定这是您想要做的吗?

长答案:正如此处以类似术语讨论的那样,您可以通过将超参数选择和模型选择(即神经网络 (NN)、KNN 或 SVM)视为同一个问题来简化您的问题;也就是你可以考虑从大集合中选择一个模型

{NN1,....,NNpNN,KNN1,...,KNNpKNN,...SVM1,...,SVMpSVM}
(其中下标用于索引不同的超参数组合)。

这应该清楚为什么您只需要一个交叉验证循环来选择最佳模型。正如您所怀疑的,仅需要嵌套交叉验证才能获得对错误的无偏估计。

也就是说,我认为您不太可能在实践中这样做(除非作为一些更大的验证过程中的(嵌套)步骤),因为这会使您容易受到过度拟合的影响(特别是如果候选超参数的数量是相对于样本量大)。不管估计的误差如何,适合整个数据的最终模型在面对新数据时可能会表现得非常糟糕——你无法知道。