您所说的 p 值校正在一定程度上是相关的,但是有一些细节使这两种情况非常不同。最重要的是,在参数选择中,您正在评估的参数或您正在评估它们的数据没有独立性。为了便于讨论,我将以在 K-Nearest-Neighbors 回归模型中选择k为例,但该概念也可以推广到其他模型。
假设我们有一个验证实例V,我们预测它会针对样本中的各种k值获得模型的准确性。为此,我们在训练集中找到k = 1,...,n最接近的值,我们将其定义为T 1 , ... ,T n。对于我们的第一个k = 1值,我们的预测P1 1将等于T 1,对于k=2,预测P 2将是(T 1 + T 2 )/2或P 1 /2 + T 2 /2,对于k=3将是(T 1 + T 2 + T 3 )/3或P 2 *2/3 + T 3 /3。事实上,对于任何值k,我们都可以定义预测P k = P k-1 (k-1)/k + T k /k。我们看到预测不是彼此独立的,因此预测的准确性也不会是。事实上,我们看到预测值正在接近样本的平均值。因此,在大多数情况下,测试k = 1:20的值将选择与测试k = 1:10,000相同的k值除非您可以从模型中获得的最佳拟合只是数据的平均值。
这就是为什么可以在数据上测试一堆不同的参数而不必过多担心多重假设检验的原因。由于参数对预测的影响不是随机的,因此您的预测准确度不太可能仅仅因为偶然性而得到很好的拟合。您仍然必须担心过度拟合,但这是与多重假设检验不同的问题。
为了阐明多重假设检验和过拟合之间的区别,这次我们将想象制作一个线性模型。如果我们反复重新采样数据以制作我们的线性模型(下面的多条线)并评估它,在测试数据(暗点)上,偶然其中一条线将成为一个好的模型(红线)。这并不是因为它实际上是一个很好的模型,而是因为如果你对数据进行了足够的采样,一些子集就会起作用。这里要注意的重要一点是,由于测试了所有模型,因此在保留的测试数据上的准确性看起来不错。事实上,由于我们是根据测试数据选择“最佳”模型,因此该模型实际上可能比训练数据更适合测试数据。
另一方面,过度拟合是当您构建单个模型时,但会扭曲参数以使模型能够拟合超出可推广范围的训练数据。在下面的示例中,模型(线)完美地拟合了训练数据(空心圆圈),但在对测试数据(实心圆圈)进行评估时,拟合度要差得多。