TL,DR:看来,与经常重复的建议相反,采用留一法交叉验证(LOO-CV),即倍CV,其中(折数)等于(数训练观察值)-得出泛化误差的估计值,该估计值对于任何 K都是最小变量,而不是最大变量,假设模型/算法,数据集或两者都有一定的稳定性条件(我不确定哪个是正确的,因为我不太了解这种稳定性条件。
- 有人可以清楚地说明这个稳定条件到底是什么吗?
- 线性回归就是这样一种“稳定”算法,这是否真的意味着在这种情况下,就泛化误差估计的偏差和方差而言,LOO-CV严格来说是CV的最佳选择?
传统观点认为,在K倍CV中选择时要遵循偏差方差的折衷,这样较低的K值(逼近2)会导致对泛化误差的估计,这些偏差具有更悲观的偏差,但方差较小,而值较高(接近N)的K导致估计的偏差较小,但方差更大。关于这种随着K增大而增加的方差现象的常规解释可能在《统计学习的要素》(第7.10.1节)中最突出地给出:
在K = N的情况下,交叉验证估计器对于真实的(预期)预测误差几乎是无偏的,但是由于N个“训练集”彼此非常相似,因此交叉验证估计器可能具有较高的方差。
这意味着验证错误之间的相关性更高,因此它们的总和更具可变性。在本网站(例如,这里,这里,这里,这里,这里,这里和这里)以及各种博客等上的许多答案中都重复了这种推理方法。但是实际上,从来没有给出详细的分析,而是只是分析的直觉或简要草图。
但是,人们可以找到矛盾的陈述,通常是出于某种我不太了解的“稳定”条件。例如,这个矛盾的答案引用了2015年一篇论文的几段内容,其中包括:“对于不稳定性低的模型/建模程序,LOO通常具有最小的可变性”(强调后加)。本文(第5.2节)似乎同意,只要模型/算法“稳定” ,LOO就代表的最小变量选择。对此问题甚至采取另一种立场(推论2),该论文说:“ k倍交叉验证的方差不取决于k”,再次引用了某种“稳定性”条件。
关于为什么LOO可能是变化最大的折CV的解释很直观,但是有一个直觉。均方误差(MSE)的最终CV估算值是每一倍MSE估算值的平均值。因此,当K增加到N时,CV估计值是随机变量数量增加的平均值。而且我们知道,均值的方差会随着变量数量的平均化而减小。因此,为了使LOO成为变化最大的K倍CV,必须确实如此,由于MSE估计之间的相关性增加而导致的方差增加要大于因平均获得的折叠次数更多而导致的方差减少。。事实并非如此,这一点也不明显。
考虑到所有这些问题后,我变得非常困惑,我决定对线性回归案例进行一些模拟。我用 = 50和3个不相关的预测变量模拟了10,000个数据集,每次使用K = 2、5、10 或50 = N的K倍CV 估计泛化误差。R代码在这里。以下是所有10,000个数据集(以MSE单位)的CV估计值的均值和方差:
k = 2 k = 5 k = 10 k = n = 50
mean 1.187 1.108 1.094 1.087
variance 0.094 0.058 0.053 0.051
这些结果显示了预期的模式,即较高的值导致较小的悲观偏见,但似乎也证实了在LOO情况下CV估计的方差最低,而不是最高。
因此,线性回归似乎是上述论文中提到的“稳定”情况之一,其中增加与CV估计中的减少而不是增加的方差有关。但是我仍然不明白的是:
- “稳定”条件到底是什么?它在某种程度上适用于模型/算法,数据集,或两者都适用?
- 有没有一种直观的方式来考虑这种稳定性?
- 稳定和不稳定的模型/算法或数据集还有哪些其他示例?
- 假设大多数模型/算法或数据集“稳定”是否相对安全,因此通常应将选择为与计算可行的一样高?