折交叉验证估计的方差为


37

TL,DR:看来,与经常重复的建议相反,采用留一法交叉验证(LOO-CV),即K倍CV,其中K(折数)等于N(数训练观察值)-得出泛化误差的估计值,该估计值对于任何 K都是最小变量,而不是最大变量,假设模型/算法,数据集或两者都有一定的稳定性条件(我不确定哪个是正确的,因为我不太了解这种稳定性条件。K

  • 有人可以清楚地说明这个稳定条件到底是什么吗?
  • 线性回归就是这样一种“稳定”算法,这是否真的意味着在这种情况下,就泛化误差估计的偏差和方差而言,LOO-CV严格来说是CV的最佳选择?

传统观点认为,在K倍CV中选择K时要遵循偏差方差的折衷,这样较低的K值(逼近2)会导致对泛化误差的估计,这些偏差具有更悲观的偏差,但方差较小,而值较高(接近N)的K导致估计的偏差较小,但方差更大。关于这种随着K增大而增加的方差现象的常规解释可能在《统计学习的要素》(第7.10.1节)中最突出地给出:KKKNK

在K = N的情况下,交叉验证估计器对于真实的(预期)预测误差几乎是无偏的,但是由于N个“训练集”彼此非常相似,因此交叉验证估计器可能具有较高的方差。

这意味着N验证错误之间的相关性更高,因此它们的总和更具可变性。在本网站(例如,这里这里这里这里这里这里这里)以及各种博客等上的许多答案中都重复了这种推理方法。但是实际上,从来没有给出详细的分析,而是只是分析的直觉或简要草图。

但是,人们可以找到矛盾的陈述,通常是出于某种我不太了解的“稳定”条件。例如,这个矛盾的答案引用了2015年一篇论文的几段内容,其中包括:“对于不稳定性低的模型/建模程序,LOO通常具有最小的可变性”(强调后加)。本文(第5.2节)似乎同意,只要模型/算法“稳定” ,LOO就代表的最小变量选择。对此问题甚至采取另一种立场(推论2),该论文说:“ k倍交叉验证的方差不取决于kKkk”,再次引用了某种“稳定性”条件。

关于为什么LOO可能是变化最大的折CV的解释很直观,但是有一个直觉。均方误差(MSE)的最终CV估算值是每一倍MSE估算值的平均值。因此,当K增加到N时,CV估计值是随机变量数量增加的平均值。而且我们知道,均值的方差会随着变量数量的平均化而减小。因此,为了使LOO成为变化最大的K倍CV,必须确实如此,由于MSE估计之间的相关性增加而导致的方差增加要大于因平均获得的折叠次数更多而导致的方差减少。KKNK。事实并非如此,这一点也不明显。

考虑到所有这些问题后,我变得非常困惑,我决定对线性回归案例进行一些模拟。我用 = 50和3个不相关的预测变量模拟了10,000个数据集,每次使用K = 2、5、10 或50 = N的K倍CV 估计泛化误差。R代码在这里。以下是所有10,000个数据集(以MSE单位)的CV估计值的均值和方差:NKKN

         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估计的方差最低,而不是最高。K

因此,线性回归似乎是上述论文中提到的“稳定”情况之一,其中增加与CV估计中的减少而不是增加的方差有关。但是我仍然不明白的是:K

  • “稳定”条件到底是什么?它在某种程度上适用于模型/算法,数据集,或两者都适用?
  • 有没有一种直观的方式来考虑这种稳定性?
  • 稳定和不稳定的模型/算法或数据集还有哪些其他示例?
  • 假设大多数模型/算法或数据集“稳定”是否相对安全,因此通常应将选择为与计算可行的一样高?K

1
+1。模拟结果中的“均值”到底是什么?泛化误差的平均CV估计值(平均10000个数据集)?但是,我们应该将其与之进行比较?显示偏差,即与真实泛化误差的均方根偏差,将更有意义。另外,在这种情况下,什么是“真正的泛化错误”?给定N = 100数据集上的估计值的真实泛化误差?还是真正的广义误差的期望值(所有N = 100个数据集的期望值)?或者是其他东西?
变形虫说恢复莫妮卡

3
+1。短暂浏览一下en.wikipedia.org/wiki/…看来,在这种情况下,稳定性意味着一种算法在具有N - 1个示例的训练集上产生相似的结果。当类似的手段差异WRT一些低数值界一些损失函数NN1
卢卡斯奇格勒

1
除此之外,我最近谈到其与@DikranMarsupial(谁可能是我们在这里CV交叉验证的主要专家之一),这里的评论 -他建议阅读Kohavi的1995年的论文。迪克兰也在谈论稳定性。不幸的是,从那时起我一直没有跟进。
变形虫说莫妮卡(Reonica)

2
我不这么认为,@ Jake。我写的内容使您的“直觉”无效,但主要的“直觉”(关于来自不同折痕的模型高度依赖)仍然可以保留。
变形虫说莫妮卡(

1
另一个支持您得出结论的结论是,方差随减小:stats.stackexchange.com/a/357749/28666K
变形虫说恢复莫妮卡

Answers:


15

该答案紧跟偏见和留一法与K折交叉验证中的方差的答案之后进行了讨论,讨论了为什么LOOCV 并不总是导致较高的方差。遵循类似的方法,我将着重介绍在存在异常值和“不稳定模型” 的情况下,LOOCV 确实导致较高方差的情况。

算法稳定性(学习理论)

算法稳定性的主题是最近的一个,在过去的20年中已经证明了一些经典的,有影响力的结果。这是一些经常被引用的论文

最好的了解页面当然是Wikipedia页面,该页面提供了一个大概是非常有知识的用户所写的出色摘要。

稳定性的直观定义

直观地讲,一种稳定的算法是当训练数据稍作修改时预测不会发生很大变化的算法。

正式而言,有六种版本的稳定性,它们通过技术条件和层次结构链接在一起,例如,请参见此处的以下图形:

在此处输入图片说明

然而,目标很简单,当算法满足稳定性标准时,我们希望对特定学习算法的泛化误差加以严格限制。正如人们所期望的那样,稳定性标准越严格,相应的界限就越严格。

符号

以下注释来自维基百科文章,该文章本身复制了Bousquet和Elisseef论文:

  • S={z1=(x1,y1),...,zm=(xm,ym)}
  • VfzV(f,z)
  • iS|i={z1,...,zi1,zi+1,...,zm}
  • iSi={z1,...,zi1,zi,zi+1,...,zm}

正式定义

有趣的学习算法可以遵循的最强的稳定性概念可能是均匀稳定性

βV

SZm  i{1,...,m},  sup|V(fs,z)V(fS|i,z)|  β

考虑到的函数,术语可以写为。我们说当随着减小时,该算法是稳定的。较弱的稳定性形式是:mβ β 1ββmβm1m

假设稳定性

i{1,...,m},  E[ |V(fs,z)V(fS|i,z)| ] β

如果删除了一个点,则通过平均平均损失绝对差(范数)来衡量学习算法结果的差。直观地说:样本中的微小变化只会使算法转向附近的假设。L1

这些形式的稳定性的优点在于,它们为稳定算法的偏差和方差提供了界限。特别是,Bousquet在2002年证明了均匀性和假设稳定性的这些界限。此后,人们进行了许多工作来尝试放松稳定性条件并推广界限,例如,在2011年,Kale,Kumar和Vassilvitskii提出均方稳定性 提供更好的方差定量方差减少范围。

稳定算法的一些例子

下列算法已被证明是稳定的,并且具有公认的推广范围:

  • 正则最小二乘回归(具有适当的先验)
  • 具有0-1损失功能的KNN分类器
  • 具有有限内核和大正则化常数的SVM
  • 软边距SVM
  • 最小相对熵分类算法
  • 套袋正则器的一个版本

实验模拟

重复上一个线程的实验(请参见此处),现在我们在数据集中引入一定比例的离群值。尤其是:

  • 97%的数据具有均匀噪声[.5,.5]
  • 3%的数据具有均匀噪声[20,20]

由于阶多项式模型没有转正,这将很大程度上受到一些局外的存在对小数据集的影响。对于较大的数据集,或存在更多异常值时,其影响较小,因为它们倾向于抵消。请参阅下面的两个模型,分别获得60和200个数据点。3

在此处输入图片说明

如前所述执行模拟并绘制所得的平均MSE和MSE的方差得出的结果与Bengio&Grandvalet 2004论文的实验2非常相似。

左侧:没有异常值。右侧:3%离群值。

在此处输入图片说明

在此处输入图片说明

(有关最后一个数字的说明,请参阅链接的论文)

说明

在另一线程上引用伊夫·格兰瓦莱特的答案

凭直觉,[在不稳定算法的情况下],留一留式CV可能看不到存在的不稳定性,但可能不会因更改训练数据中的单个点而被触发,这使其对于实现CV高度可变。训练集。

在实践中,很难模拟由于LOOCV而引起的方差增加。它需要不稳定性,一些异常值(但不是太多)和大量迭代的特定组合。由于线性回归已显示相当稳定,因此这可能是预期的。一个有趣的实验是对更高维度的数据和更不稳定的算法(例如决策树)重复此操作


+1,但我希望该线程最终可以作为链接的线程的副本被关闭(我将等到赏金期结束并且讨论进行下去,然后看看最终接受了什么答案)。我稍后再评论。
变形虫说恢复莫妮卡

我真的不相信这个问题是重复的。我的问题主要是使用LOO问题的差异作为框架主要问题的一种方式,这些主要问题是试图对“稳定性”的含义做出可理解的解释-请参阅操作手册顶部和底部的项目符号指出的问题。说到这,虽然这个答案是有用的(+1),但我看不到您试图回答稳定性问题...您确实使用过几次,但是您这样做的方式似乎假设读者已经知道这意味着什么。不知道我可以接受当前形式的答案。
Jake Westfall '18

1
@JakeWestfall当我写“我希望”这个线程最终可以作为一个副本关闭时,我的意思是希望该线程中的一个被接受的答案最终会足够好,以涵盖您所要求的内容:)看看实验2的Bengio&Grandvalet论文。他们表明,使用线性回归和高斯数据,它们对于LOOCV的方差最小(这也是您的结果),但是,如果数据包含一定程度的离群值,则LOOCV的方差大于10-折左右。我认为这暗示了相关的“稳定性”。
变形虫说恢复莫妮卡

3
我喜欢它@XavierBourretSicotte。感谢您在这个答案上做得如此出色。
杰克·韦斯特伦

1
是的,引用本文:pdfs.semanticscholar.org/bf83/…:“稳定的算法具有替换其学习集中的一个元素不会改变其结果的性质。因此,经验误差,如果认为是随机变量,应具有较小的方差,然后稳定的算法可以作为其经验误差接近其泛化误差的良好候选者
Xavier Bourret Sicotte

2

我将根据您引用的段落给出答案:

在K = N的情况下,交叉验证估计器对于真实的(预期)预测误差几乎是无偏的,但是由于N个“训练集”彼此非常相似,因此交叉验证估计器可能具有较高的方差。

真实(预期)预测误差的CV估计器基于训练集示例,因此在这里,当我正确理解时,期望超过训练集样本。

因此,本段中有关“高方差”的内容是,预期误差与CV估计的误差(此处为平均折叠倍数)之间存在“高”差异。

这是有道理的,因为该模型适合于特定的训练集,并且因为所有训练次数在留一法中是如此相似。但是,尽管在CV轮次中训练倍数非常相似,但是如果我们将训练样本交换为CV,则估计值可能相差很大。在k折CV中,由于我们使训练折数“多样化”,因此我们会产生一些平均影响,并且在k折中,估计值的变化较小。

换句话说,如果您不旋转折叠并将错误估计基于一个验证集,那么遗忘式CV估计器基本上就像一种保留方法。再次,在训练示例中,与k折的估算值相比,方差很大,在k折的估算值中,您已经在k折的回合中训练了一些不同的模型,从而得出了平均折数(换句话说,如果交换训练集,通过k折产生的误差可能不会有太大变化)。

编辑:

当我在交叉验证和互联网上阅读一些答案时,我认为对于我们所指的估算器似乎有些困惑。我认为有些人提到的模型具有较高的方差(对于损失而言,ML语言具有较大的方差成分)与k倍CV估计量的较高方差有关。并且,另一组答案将方差称为当有人说“ k折具有高方差”时有关倍数的样本方差。所以,我建议说具体一点,因为在两种情况下答案都是不同的。


在讨论方差时,我的假设是我们正在讨论训练集D上的CV估计量的方差,如此处定义:stats.stackexchange.com/questions/365224/…和此处:stats.stackexchange.com/questions/325123/…。Yves Grandvalet和Bengio在他们的2004年论文中指出,CV估计了预期的预测误差。您可以在这里看到他的回复:stats.stackexchange.com/a/358138/192854
Xavier Bourret Sicotte 18-10-13

如果您的答案基于不同的方差定义,那么我认为添加正式的定义和公式会有所帮助。也许我也应该在回答中也这样做。
Xavier Bourret Sicotte

是的,我需要复习一些文献,并在答案中添加一些公式。不过,对我而言,《统计学习的要素》中的话仍然很直观,即LOOCV的方差很大,因为模型的方差很高,因为它是折算的平均值。如果模型具有较高的偏差,则LOOCV和任何k倍估计量均应具有较低的方差(与偏差无关),因为预测不会有太大变化。但是该段的意思是概率。在大多数情况下,LOOCV与k折相比

事实

1

之前我们已经经历过-您对死马的认识太深了。见罗恩Kohavi的(斯坦福大学)的CV经典论文和偏置方差困境这里。阅读完此书后,您将不想执行LOOCV,并且可能会被10倍CV和/或bootstrap-bias CV所吸引。

您还必须考虑大型数据集,因为LOOCV的计算量太大。目前,LOOCV在大多数小组的工作流/管道中并不是真正的选择。

“稳定”条件到底是什么?它在某种程度上适用于模型/算法,数据集,或两者都适用?

在所有成本函数的范围以及所有功能集的范围中,我不认为存在总体的“稳定性”指标,因为它不是不允许的,并且在无限大的一组指标下太容易分解条件。从根本上讲,当df和/或#参数太大而需要更多训练数据时,是合适的。对于,偏差也将更大,因为使用了更多的数据,并且由于训练数据集彼此太相似,方差将人为地设为零。当时,您还将在数据中学习更多的噪声。 k = n k = nk=nk=nk=n

当数据是线性可分离的时,LREG作为分类器将起作用,但是由于许多数据集都不是线性可分离的,因此平均而言它的偏差会太大。

有没有一种直观的方式来考虑这种稳定性?

我不认为-因为没有关于稳定性的一般规则。

稳定和不稳定的模型/算法或数据集还有哪些其他示例?

这是开放式的,而且范围太广,因为可以设计出无数的响应,这将无济于事。

假设大多数模型/算法或数据集“稳定”是否相对安全,因此通常应将选择为与计算可行的一样高?K

不。不。仅依靠假设您相信数据。一个例子是随机森林,实际上没有。虽然大约37%的数据将用于测试(平均而言,替换抽样时未选择37%的对象),但例如有5,000个不同的数据集(引导程序),每个数据集均分为不同的训练/测试。您从论文中提取的示例假设使用的每个数据集都是数据的真实实现,这是一个错误的假设。 ķkk

给定自举,围绕的稳定性规则是可以接受的,因为用于涉及的直接CV方法的数据样本并不是从中获得样本的所有数据的真实实现。 ķkk


感谢您的评论,但这似乎无法回答问题。
杰克·韦斯特伦

请参阅附加给OP的答案。
JoleT

3
只是略读了这篇文章,但实际上他们似乎声称自己在极端不稳定的情况下达到最佳10倍。我不敢相信它有7k的引用。话虽如此,似乎有充分的理由相信超过10倍会带来很多好处。如果有机会,我会做更详尽的阅读。
悬崖AB
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.