留一法交叉验证的高方差


15

我一遍又一遍地读到,由于训练折叠的大量重叠,“留一法”交叉验证具有很大的差异。但是,我不明白为什么这样:正是因为训练集几乎相同,交叉验证的性能不应该非常稳定(方差低)吗?还是我对“方差”的概念有完全错误的理解?

我也不太了解LOO如何保持公正,但差异很大?如果LOO估计值等于期望的真实估计值-那么它怎么会有高方差?

注意:我知道这里有一个类似的问题: 为什么关于误差的平均估计的留一法交叉验证(LOOCV)方差很高?但是,回答该问题的人稍后在评论中说,尽管提出了反对,但他已经意识到他的回答是错误的。


2
我就是那个人:-),但请注意,首先,我已经有一段时间更新了我的答案以消除混乱,其次,整个线程已作为另一个线程的副本关闭:stats.stackexchange.com/问题/ 61783。你看那里了吗?在我看来,您的Q也是该Q的副本。如果您对此处给出的答案不满意,请考虑更具体地提出问题。现在,我会投票接近,但随时编辑您的Q.
阿米巴恢复莫妮卡说,


3
好吧,这很简单:让参数的真实值为。一个估计器的产率0.49 0.51 0.49 0.51 ...是无偏的并且具有相对低的方差,但估计器即产率0.1 0.9 0.1 0.9 ...也是无偏但具有高得多的方差。0.50.49,0.51,0.49,0.51...0.1,0.9,0.1,0.9...
变形虫说恢复莫妮卡

5
关于您的第一段:您需要考虑整个数据集的不同实现之间的差异。对于给定的数据集,LOOCV的确会为每个分割生成非常相似的模型,因为训练集相交太多(如您所说),但是这些模型可能都与真实模型相去甚远。跨数据集,它们在不同方向上相距遥远,因此差异很大。这就是我定性的理解方式。
变形虫说恢复莫妮卡

2
@amoeba,为什么不将这些评论变成正式答案?
gung-恢复莫妮卡

Answers:


10

由于交叉验证中存在方差和偏差,这个问题可能最终会被关闭:为什么留一法的简历具有更高的方差?,但是在此之前,我想我会将自己的评论变成答案。

我也不太了解LOO如何保持公正,但差异很大?

考虑一个简单的例子。令参数的真实值为。一个估计器的产率0.49 0.51 0.49 0.51 ...是无偏的并且具有相对低的方差,但估计器即产率0.1 0.9 0.1 0.9 ...也是无偏但具有高得多的方差。0.50.49,0.51,0.49,0.51...0.1,0.9,0.1,0.9...

正是因为训练集几乎相同,交叉验证的性能不应该非常稳定(方差低)吗?

您需要考虑整个数据集的不同实现之间的差异。对于给定的数据集,留一法交叉验证的确会为每个拆分生成非常相似的模型,因为训练集相交了很多(如您所正确注意到的),但是这些模型可能都与真实模型相去甚远。跨数据集,它们在不同方向上相距遥远,因此差异很大。

至少我是这样理解的。请参阅链接的线程进行更多讨论,并参阅参考文件进行更多讨论。


2
因此,据我了解,由于训练集非常大-几乎与整个数据集相同(因为仅保留一个数据样本进行测试),因此给出了低偏差。因此,对于一个特定的数据集,我们可以期望得到一个很好的估计。但是,由于折叠的高度相关性(交叉验证几乎在其迭代中的相同数据上执行),因此此特定数据集的估算也非常具体,从而导致来自相同基础分布的不同数据集之间的性能差异很大。正确?
佩加

2
我认为这基本上是正确的,但是应该谨慎地说for one particular dataset we can expect a very good estimation。我猜人们可以将其解释为意味着对某些特定于数据集的参数进行估算会很好。但是一般来说,交叉验证应该用来估计总体参数:某种类型的模型可以对总体中的因变量进行预测的程度如何;由于您撰写的内容,我们无法期望LOOCV对它进行很好的估算(估算为very specific for this particular dataset)。
变形虫说恢复莫妮卡2015年

1
我需要说明的是,所有这些都是我目前的理解,但总的来说,我发现此主题非常棘手,并且我在交叉验证方面的经验有限。我不是专家。
变形虫说恢复莫妮卡

1
请问您为什么觉得棘手?我很好奇,因为这可能会教会我一些有关在简历方面应加倍小心或在哪里加深我的知识的知识
Pegah 2015年

2
给定该线程中可接受的答案,也许您不再需要在此答案中提及LOOCV的高方差,即,因此,高方差?尽管考虑了保罗在链接主题中的观点,LOOCV失败,但我已经考虑了这些问题一段时间,无法提出任何理论原因来说明连续(“连续”?)回归问题中LOOCV的高方差。如果您的样本包含每个点的重复项。
理查德·哈迪

1

这种高差异是针对训练集的空间。这就是LOOCV具有高方差的原因:在LOOCV中,我们使用除此观测值外的整个观测数据集,得出每个观测值(即观测值i)的预测误差。因此,i的预测值非常依赖于当前数据集。现在假设我们观察到另一个独立的数据集,并在此新数据集上拟合模型。如果我们使用这个新模型来获得观测值i的预测值,则该预测值可能与LOOCV评估的预测值有很大差异(尽管平均正确(无偏))。

这是LOOCV中错误预测的高方差背后的直觉。

但是,如果您使用LOOCV来比较具有不同超参数的模型的结果,那么我相信您可以放心地使用LOOCV来估计预测误差,只要预测误差的真实值与您无关,也就是说,您只想比较具有观察到的训练集的不同模型,您无需担心要估计的实际真实误差。

也就是说,根据经验,如果样本量较小,请使用LOOCV,否则,请使用k值较小的k倍CV。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.