过度拟合的模型一定没有用吗?


25

假设一个模型对训练数据的准确性为100%,但对测试数据的准确性为70%。关于该模型,以下论点正确吗?

显然,这是一个过拟合模型。通过减少过度拟合可以提高测试精度。但是,此模型仍然可以是有用的模型,因为它对于测试数据具有可接受的准确性。


17
如果在特定应用中可以接受70%,那么我同意您的看法。
理查德·哈迪

6
我完全同意@RichardHardy。以一个随机森林为例:通常,通过构造,样本内性能(不是袋外性能)接近100%,因此严重过拟合。但是,仍然可以通过袋装或测试/验证集评估较低的性能,足以使其成为有用的模型。
Michael

1
@Metariat为什么不呢?此精度是在测试阶段未使用的测试集上获得的。
侯赛因

3
@Metariat,这样的论点会破坏大多数统计实践,例如,Normal线性模型中的OLS估计量,检验样本均值与假设值的均等性,以及不然。有趣的是,论点不取决于模型对训练样本的过度拟合。它也适用于欠拟合模型和任何一般模型。那不正确吗?t
理查德·哈迪

4
我不会称其为过拟合模型。建立了一个过拟合模型,将验证性能与测试性能进行了比较。即使这样,也只有在测试性能大大低于可接受的范围时(可能是灾难性的)。训练成绩没有任何意义。
Firebug

Answers:


32

我认为论点是正确的。如果在特定应用中可以接受70%的比例,则即使模型过度拟合(无论是否过度拟合),模型仍然有用。

在平衡过度拟合与欠拟合之间要考虑最优性(寻找最佳解决方案),而具有令人满意的性能则要足够(模型是否足以完成任务?)。模型可以是足够好的而不是最优的。

编辑:在OP下Firebug和Matthew Drury发表评论后,我将补充一点,即在不知道验证性能可能会出现问题的情况下,判断模型是否过拟合。Firebug建议将验证与测试性能进行比较,以衡量过度拟合的数量。但是,当模型在训练集上提供100%的准确性而在测试集上没有提供100%的准确性时,它指示可能过度拟合(尤其是在回归的情况下,但不一定在分类中)。


您要求一个示例:在stats.stackexchange.com/a/273930/2958上获取虹膜数据集上的神经网络代码,然后尝试使用像此处描述的现象这样的图示,反之亦然。也许最好说“ 可能过度拟合的指标”set.seed(100)set.seed(15)
亨利

一个模型是否有可能在训练和测试中都达到100%的准确性,并且没有过分强调呢?
丽卡

1
@Breeze,我想您可以在单独的线程上询问此问题(并在需要时链接到该上下文)。
理查德·哈迪

我只是在这里做链接
里卡

25

在我过去的“信用卡欺诈”检测项目中,我们有意让数据/硬编码过大以记住欺诈案件。(请注意,过度拟合一类并不是OP所讨论的一般过度拟合问题。)这种系统的误报率相对较低,可以满足我们的需求。

因此,我想说,过度拟合模型在某些情况下会很有用。


5
这个答案很有趣,因为它给出了一个用例。我认为使用“硬编码可记住” @ hxd1011意味着该模型可确保所报告的每个欺诈案件均导致“欺诈标记”,并且不会通过合适的函数对其进行平滑或插值。像这样吧
IcannotFixThis's

@IcannotFix这是。实际上,我们尝试了许多其他方法来控制误报。但是,以疯狂的方式尝试过分欺诈案件的做法效果很好。
海涛杜

3
在你的情况,你的评价函数增持TPR和FPR减持,如F_ 分数与β >> 1。(现在,我知道为什么我的借记卡公司如此烦人,他们会标记任何小东西,甚至是加油站的卡片扫描仪有故障)ββ
smci

3
这可能很烦人,但是比因为您的财务信息被某人恶意破坏而毁掉您的资金少了数千倍。
马修·德鲁里

12

也许:当心。当您说70%的准确度(无论如何衡量)对您来说足够好时,感觉就像您在假设错误是随机分布还是均匀分布。

但是,过拟合的一种方法是,当模型技术允许(并且鼓励其训练过程)过多地关注训练集中的怪癖时,就会发生这种情况。拥有这些怪癖的普通人群中的受试者可能会有高度不平衡的结果。

因此,也许您最终会得出一个模型,该模型说所有的红狗都患有癌症-由于训练数据中的特殊问题。或24至26岁的已婚人士几乎可以保证提出欺诈性的保险索赔。您的70%的准确性为模型的过拟合造成了很大的余地,使很多受检者会100%错误。

(不过度拟合并不能保证您不会有很多错误的预测。事实上,拟合不足的模型会有很多不良的预测,但是通过过度拟合,您会知道自己在训练数据中放大了怪癖的影响)


谢谢。您是否意味着有可能通过训练数据中的怪异而获得70%的准确性,而测试数据中也存在这种怪异?我们不能根据测试数据的准确性来判断吗?我认为应该在训练期间学习测试数据中可用的训练数据中的怪癖。
侯赛因

1
如果我了解您,那将是相反的情况:过度适应怪癖使您的培训准确性很高。您在测试中获得较低准确性的原因是,这些怪异不适用于您的整体数据集。但是,当然,即使您进行交叉验证,这也会有所帮助,但是您的培训和测试集可能与您的人群有关。在这种情况下,您的测试/验证结果将无法很好地预测您的实际表现。
韦恩

您认为测试集相对于总体而言可能是古怪的,但这并不是特定于过度拟合的模型。我们所有的评估都受此困扰,我们别无选择,只能依靠测试集代替真实人群。
侯赛因

的确,对于拟合过度的模型并非唯一,但在拟合过度的模型中会被放大。我想从定义上说该模型是过拟合的,因为它显然会过分强调怪癖。
韦恩

7

不,它们可能有用,但这取决于您的目的。我想到了几件事:

  1. Fββ1

  2. 这样的分类器在合奏中真的很有用。我们可以有一个权重正常的分类器,一个比TPR重的分类器,一个比FNR重的分类器。然后,即使是简单的三选一投票或平均,也将比任何单个最佳分类器提供更好的AUC。如果每个模型使用不同的超参数(或二次抽样训练集或模型体系结构),那么该集合就可以避免过度拟合。

  3. 同样,对于实时的反垃圾邮件,反欺诈或信用评分,使用分类器层次结构也是可以的。1级分类器的评估应该非常快(ms),并且FPR高也可以;他们所犯的任何错误都会被更准确,功能齐全,速度较慢的高级分类器或最终由人工审核者发现。明显的例子:防止Twitter帐户收购中的假新闻头条(例如2013年“白宫炸弹袭击杀死三人”)影响发布后毫秒内的数十亿美元交易。级别1分类器可以将其标记为垃圾邮件是可以的。让我们花一点时间(自动)确定耸人听闻但未经验证的新闻报道的真假。


2

我并不否认过度拟合的模型仍然有用。但是请记住,这70%可能是一种误导性信息。为了判断模型是否有用,您需要的是样本外误差而不是测试误差(样本外误差是未知的,因此我们必须使用盲测集来估计它),而70%几乎不是很好的近似值。

为了确保我们在@RichardHardy的注释后在术语的同一页上,让我们将测试误差定义为在盲测集上应用模型时获得的误差。样本外误差是将模型应用于整个总体时的误差。

样本外误差的近似值取决于两件事:模型本身和数据。

  • “最佳”模型的准确性(测试)几乎不依赖于数据,在这种情况下,这将是一个很好的近似值。“不管”数据如何,预测误差将是稳定的。

  • 但是,过拟合模型的准确性高度依赖于数据(如您在训练集上提到的100%,在另一组上提到的70%)。因此,当应用到另一个数据集时,准确性可能会低于70%(或更高),并且我们可能会感到意外。换句话说,有70%的人告诉您您相信的是什么,但事实并非如此。


1
由于在训练阶段未看到使用过的测试集可获得70%的准确性,因此这不是对样本外误差的良好估计吗?我认为训练误差(100%)和测试误差(70%)之间的差异不能很好地表明样本外误差和测试误差之间的差异。过度拟合的模型在现实世界中可能执行70%的准确度,而对于训练数据来说则是100%的准确度。我期望训练误差比测试误差低,因为训练数据用于生成模型,但是在训练过程中看不到测试数据。
侯赛因

5
我认为您可能混淆了验证集和测试集以及它们各自的错误。的测试误差外的样品误差。而验证错误是一个选择的模型的乐观测量,测试误差不。该测试误差是如何模型将在一个新的样本来自同一人群进行的无偏估计。我们可以估计测试误差的方差,因此只要测试集不是太小,我们只要知道测试误差就可以了。@侯赛因
理查德·哈迪

3
您能否详细说明样本外误差和测试误差之间的区别?根据我的理解,两者都是将模型应用于不用于训练模型的样本时发现的错误。我唯一可以看到的区别是使用时间序列数据时,样本外数据应该来自以后的时间点,但是这个问题没有提及。
核王

1
从我的角度来看,测试误差是将模型应用于盲目集时所获得的误差,它是样本外误差的近似值,即样本外误差是将模型应用于整个总体时所获得的误差。而且也不尽相同,有价值的信息就是样本外误差。当模型过度拟合时,测试误差将不稳定,其他数据集可能会发生意外的意外情况。
Metariat

4
@Metariat,您是对的,因为测试错误是一个估计,并且一个测试集与另一个测试集可能有所不同。但是,正如我之前提到的,没有理由期望测试错误会低估真实错误(平均而言不会)。因此,通过获取足够多的测试样本,我们可以在所需范围内以所需的置信度限制测试误差。现在更实际的是,也许您应该通过编辑答案来定义测试错误,以确保在将测试错误与样本外错误进行对比时,您不会误解您的意思。
理查德·哈迪
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.