过拟合验证集

机器算法验证 机器学习 自习 交叉验证
2022-03-31 00:48:00

我指的是在处理过度拟合的同时选择模型的训练/验证/测试集。

以下是论点的方式:-

  1. 我们在训练集上训练各种模型。(这个很简单)很明显,如果这个数据集中有任何噪音,当我们向不同的模型添加特征时,我们将过度拟合训练集中的噪音。这对我来说很清楚。

  2. 然后我们在验证集上选择最好的模型。这将过拟合验证集。这对我来说不是很清楚。

  3. 因为我们在验证集上过拟合了最佳模型,为了了解最佳模型造成的真实错误,我们应该评估测试集上的最佳模型。

我的查询是:当我们做(2)时,只有当验证集与训练集具有相同的噪声时,我们才可能过度拟合验证集。但是,我们随机打乱了这些点并将它们放入训练/验证/测试集中。训练集和验证集不太可能具有相同的噪声(我认为这种现象称为孪生)。这就是为什么我认为我们不会过度拟合验证集。

另一个验证集可能过拟合的例子是,如果我们有大量的高方差模型,那么当我们在验证集上选择最好的模型时,它将过度拟合验证集中的噪声。假设我只说 10 个模型,那么这也不太可能。

这就是为什么我认为我们不需要测试集。我想我误解了这个话题。有人可以澄清我错在哪里吗?

对于延迟回复,我深表歉意。我想澄清我的疑问。在使用验证集时,我们的目标可能是找到全局最优值,但是已经适合训练集的函数的轮廓不能自由地学习验证集中的噪声。这是我不相信的。你能给我一个例子,我们过拟合训练集然后过拟合验证集吗?我给你举一个例子。假设我们正在做 k-最近邻,并且训练/验证集中的每个项目恰好出现 2 次。然后我们将过拟合训练和验证集并得到 k=1。最近的邻居将完美地预测任何选定的点。然而,在这个例子中,我们有“孪生”。SAME 噪声存在于训练和验证集中。你能告诉我一个例子,我们过度拟合训练和验证集但没有孪生。

2个回答

没有被广泛理解的一件事是,过度拟合模型选择标准(例如验证集性能)可能导致模型过度拟合训练数据,或者可能导致模型欠拟合训练数据。

这个例子来自我的论文(有袋鼠夫人)

Gavin C. Cawley, Nicola LC Talbot,“论模型选择中的过度拟合和性能评估中的后续选择偏差”,机器学习研究杂志,11(70):2079−2107,2010。( www )

这是用于调整具有不同训练和验证样本的最小二乘支持向量机(或核岭回归模型)的超参数的模型选择标准的热图。256 个模式的训练集每次都是相同的,但每个验证集都使用 64 个模式的新样本。标准是验证集上的平滑错误率。您可以看到最佳超参数(黄色十字)中的拆分之间存在相当大的差异

在此处输入图像描述

这是相应的模型,您可以看到模型是否过度拟合数据存在很大差异。

在此处输入图像描述

如果您将超参数设置在 (d) 中所示的位置,您往往会为所有训练-测试拆分获得一个合理的模型,这表明问题在于过度拟合模型选择标准。在这种情况下,由于只有验证集发生了变化,我们知道这纯粹是由于模型选择期间验证集的过度拟合。

考虑一个分类任务,其中有 1000 个二进制特征和一个二进制响应变量,但它们都是通过掷硬币产生的。然后我们制作了 10 个模型,每个模型都被赋予了一组不相交的 100 个属性。我们形成了一个包含 10 个模式的训练集、一个包含 10 个模式的验证集和一个包含 1,000,000 个模式的测试集。请注意,验证集、测试集和训练集是完全独立的,因为所有数据都是随机生成的,没有底层结构。

  • 每个模型通过从它必须选择的 100 个属性中选择与训练集的响应变量最相似的属性来生成其输出。如果它使用 100 个相似的 10 个随机变量序列来预测 10 个随机二进制值的序列,那么它很有可能在训练集上具有大于 0.5 的准确度,这只是随机机会。但是我们知道真正的最佳错误率是 0.5,所以我们知道它过度拟合了训练集。

  • 然后我们使用验证集来选择最佳模型。我们将选择在验证集上具有最高准确度的模型。现在在这种情况下,最好的验证集准确度不太可能大于 0.5,但我仍然会说它过度拟合了验证集,因为您将纯粹根据随机性来选择模型对于验证数据的随机性,其中一个模型比其他模型更匹配。

  • 所以我们最终会得到一个明显过拟合训练数据的模型(选择属性的许多自由度,所以准确度 > 0.5),一个在准确度 > 0 的意义上可能过拟合验证数据的模型(更少的自由度,只有 10 个模型可供选择),但在选择受噪声支配的意义上绝对过拟合。但无论选择什么,测试集都会告诉我们最终模型只是猜测(这就是为什么你需要测试集或嵌套交叉验证)

基本点是,如果数据以任何方式用于优化模型,那么它将给出一个乐观的有偏差的性能估计。它的偏差程度取决于您尝试优化模型的努力程度(有多少特征选择,多少超参数,您在网格搜索中使用的网格有多精细等)以及数据集的特征。在某些情况下,它是相当良性的:

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

不幸的是,有时它可能与最先进的分类器和平均分类器之间的性能差异一样大(参见 Cawley 和 Talbot)。

选择最佳模型无异于超参数优化。我们使用训练集来学习参数和验证集来学习超参数。在 HPO 中,我们通常在候选配置上评估模型并选择最佳配置。在训练中,我们使用更高级的东西,如梯度下降、亚当优化器等。但它们的目标仍然是找到全局最优值。如果我们不使用任何这些更高级的算法,而只能够迭代可能参数的空间怎么办?它与我们对验证集所做的有什么不同?因此,在整个过程中,我们实际上查看了训练和验证集并调整了我们的模型/算法。对这些集合的任何评估都不是对测试性能的无偏估计。