模型选择引起的偏差

机器算法验证 机器学习 交叉验证 模型选择 偏见 选择偏差
2022-04-17 06:11:46

我试图理解下面的句子

交叉验证和信息标准对两次使用数据进行校正(在构建后验和模型评估中)并获得给定模型的预测性能的渐近无偏估计。然而,当这些方法用于选择模型选择时,由于选择过程,所选模型的预测性能估计会出现偏差。

他们是说因为样本可能不具有代表性,上述方法可能会高估/低估真实模型的性能,所以我们会倾向于选择那些在所选数据下表现更好的方法,而不是样本外的方法数据?

4个回答

我相信他们所说的是,如果您使用保留数据进行交叉验证来估计模型的泛化误差,那么您就会得到模型泛化误差的无偏估计。

但是,一旦您将该数据集用于模型的选择过程,我认为这是调整模型并最小化该特定数据集的误差,然后您从众多其他模型中选择一个模型,那么您得到的误差估计就不是无偏泛化误差估计。这是因为模型已经过优化,可以在用于交叉验证的数据集上表现良好,并且模型已经“看到”了数据。因此,您得到的估计值很有可能会低估真正的错误。

为了避免这种情况并获得无偏的泛化误差估计,必须在尚未用于训练或验证(模型选择)的“测试”集上评估模型。

以下是我对段落的理解(没有上下文):

开始:

交叉验证和信息标准对两次使用数据进行了修正(在构建后验和模型评估中)。

交叉验证有助于避免所谓的“双重”问题——当人们使用相同的数据来估计模型并检查它的表现时。

继续:

并获得给定模型的预测性能的渐近无偏估计。

当样本量增长到无穷大时,交叉验证将为预测性能生成无偏估计。对于小样本量,它会有更大的偏差,因为在每个交叉验证折叠中,我们不会使用所有的训练数据——而是只使用其中的一部分(比如 10 折叠 CV 中的 9/10)。

继续:

但是,当这些方法用于选择模型时

也就是说,交叉验证被多次使用,而不仅仅是一次。例如,当在多个模型之间进行选择时,我们可能会想通过交叉验证运行所有这些模型并选择最好的一个。

继续:

由于选择过程,所选模型的预测性能估计存在偏差。

那么最终的预测性能(我们在选择模型时使用的东西)就会有偏差。这是因为每个模型都有一些可变性或随机性。在对最终数据(通过交叉验证)进行估计时,性能估计并不能为我们提供这些模型在总体上的确切真实性能。相反,总是有一些与此性能度量相关的错误。

由于这个错误——我们最终会选择其错误(真实性能和估计的交叉验证性能之间的差异)是乐观偏差的模型。我们在交叉验证上尝试的模型越多,情况就会越糟糕。

底线:

使用一次时,交叉验证是无偏的(渐近的)。但它不是过度拟合的灵丹妙药,一旦我们开始在相同的交叉验证数据上比较不同的模型,它就会变得有偏见。

当您评估模型时,假设您的模型先验地获得了任何可见的数据。考虑到样本具有代表性,这样的模型评估很好。但是,当您根据数据选择模型时,模型拟合就变成了随机变量估计。评估相同数据的性能不再是公正的,通常比实际情况更乐观。因此,为了避免这种评估偏差,您需要新的数据。

[后期编辑]

在Cosma Rohilla Shalizi 的 Advanced Data Analysis from an Elementary Point of View中,我写得非常好,并参与了有关该主题的讨论 它是免费的,它是最好的书之一,无需深入了解这些复杂性。有关此讨论,请参见第 3.5.1 节选择后的推理。

关于您的评论,我不完全理解您所说的“相对”适合是什么意思。如果相对性能是指一个模型相对于另一个模型的评估性能,出于模型选择的目的并且您关心预测,我认为您可以不用额外的数据集。这就像选择你手头最好的,但不知道你的最佳模型的性能如何。

交叉验证(仅用于验证/验证目的)避免了在同一模型的训练集中和测试集中双重使用案例。然而,用于选择各种模型中表面上最好的性能估计实际上是模型训练的一部分因此,用于模型选择或优化的交叉验证是训练的一部分,然后需要使用整个训练过程(包括模型选择)未知的数据进行单独测试。

原因是交叉验证结果只是模型性能的估计(或测量):它们受偏差和方差的影响,即系统和随机误差。

由于样本可能不具有代表性,上述方法可能会高估/低估真实模型的性能,

这是另一种说法,除了可能的偏差之外,性能估计还存在差异。对于任何类型的性能测量(基于测试用例的估计)都是如此:测试样本(无论是通过交叉验证保留还是以任何其他方式获得)可能会意外地包含更简单的案例或更困难的案例。因此,在测试同一模型时,您将不得不期待一些差异使用不同的测试集。在重采样验证(包括交叉验证)中,您有一个额外的方差来源:您实际上是在测试假定与在整个数据(使用性能估计)上训练的模型足够相似的代理模型被认为是等效的出于实际目的。但是,如果您的训练过程不稳定,您会看到代理模型之间的差异,这也会增加交叉验证估计的差异。

所以我们最终得到了一个几乎没有偏见但有点嘈杂的性能估计......

所以我们会倾向于选择那些在所选数据下表现更好的人,

So yes, when picking the apparently best performing model, we'll "skim off the noise", ie models that accidentally look good with the cross validation split we did will be favored.

略读方差(= 过度拟合,选择错误模型)的风险随着

  • 越来越多的比较模型
  • 增加绩效估计的方差不确定性,以及
  • 降低所考虑模型之间的真实性能差异
    (尽管有人可能认为这不是一个问题,因为这里的错误只是从许多几乎同样好的模型中选择一个不完全完美的模型)

但不适用于样本外数据?

虽然样本外测试集可能会意外地包含比总体更简单的案例,但我们也不太可能(un*)幸运。

旁注:这当然可能发生。但是我们可以使用通常的工具来估计这种随机(坏)运气的可能性/程度,以估计我们点估计的不确定性。
然而,我的印象是,在实践中,由于抽样有偏差,模型的过度乐观评估更频繁地发生,例如排除无法获得标签的案例(可能是因为它们是硬/边界案例)。


* 如果模型看起来比实际更好,我认为这是不走运的,因为我不得不处理很多数据,而毫无根据的过度乐观可能会导致伤害。