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

机器算法验证 模型 准确性 过拟合
2022-02-11 22:21:57

假设一个模型在训练数据上的准确率是 100%,而在测试数据上的准确率是 70%。以下关于该模型的论点是否正确?

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

4个回答

我认为这个论点是正确的。如果 70% 在特定应用中是可以接受的,那么即使模型过拟合(更一般地说,不管它是否过拟合),它也是有用的。

在平衡过拟合和欠拟合关注最优性(寻找最佳解决方案)时,具有令人满意的性能是关于充分性(模型对任务的性能是否足够好?)。一个模型可以足够好而不是最优的。

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

在我过去的信用卡欺诈检测项目中,我们有意过度拟合数据/硬编码以记住欺诈案例。(注意,过拟合一类并不完全是 OP 谈到的一般过拟合问题。)这样的系统误报率相对较低,可以满足我们的需求。

所以,我想说,过度拟合模型在某些情况下可能很有用。

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

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

所以也许你最终会得到一个模型,说所有的红狗都患有癌症——因为你的训练数据中有一个特殊的怪癖。或者,24 至 26 岁的已婚人士几乎肯定会提交欺诈性保险索赔。你 70% 的准确率给一些受试者留下了很大的空间,因为你的模型过拟合了,100% 错误。

(不过度拟合并不能保证你不会有错误的预测。事实上,欠拟合的模型会有大量错误的预测,但是通过过度拟合,你知道你正在放大训练数据中怪癖的影响.)

不,它们可能有用,但这取决于您的目的。有几件事浮现在脑海:

  1. 成本敏感分类:如果您的评估函数超过 TPR 而低于 FPR,我们使用得分和(如@hxd1011 对反欺诈的回答)Fββ1

  2. 这样的分类器在ensemble中非常有用我们可以有一个具有正常权重的分类器,一个超重 TPR,一个超重 FNR。然后,即使是简单的三规则投票或平均,也将提供比任何单个最佳分类器更好的 AUC。如果每个模型使用不同的超参数(或下采样的训练集或模型架构),则可以为整体购买一些过度拟合的免疫力。

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