【问题标题】:Training Error -- what's the point?训练错误——有什么意义?
【发布时间】:2016-12-14 09:21:27
【问题描述】:

回归目标(即做出预测)中训练误差的总体意义是什么?

您可能会这样说,“嗯,您知道,训练错误可以帮助您确定哪种复杂模型最适合使用。”

对此,有些人会说,“不,你不能。低训练误差可能只是意味着你的模型符合你训练模型所用的任何数据,A.K.A 过拟合”

如果不能很好地预测性能,那么计算训练误差有什么意义?

特别是当我们说,训练错误见鬼去吧,只需使用验证错误..

我们什么时候会使用训练误差?

低训练误差可能表明过度拟合。这是它的唯一用途吗?

【问题讨论】:

标签: machine-learning regression training-data


【解决方案1】:

正如您正确指出的那样,训练错误本身可能是衡量模型性能的一个非常糟糕的指标。但是,您需要训练您的模型以做出一些有意义的预测,这一事实是无可避免的。

这就是您需要训练、验证以及测试阶段和数据集的原因。通过使用随机子采样验证数据集可以在一定程度上缓解训练数据集中容易发生的过度拟合,因为如果你过度拟合,你的模型将不会泛化(你应该看到你的训练误差随着模型单调下降复杂性会增加,但您的验证错误会在某个时候达到稳定状态,并且额外的模型复杂性实际上会增加验证错误)。但是,如果您没有对模型进行任何训练,则您没有要验证的模型!

模型需要训练。没有办法解决这个问题。然而,训练错误本身是没有用的。需要执行交叉验证以确保模型是泛化。最重要的是,您在训练阶段使用模型评估其性能的任何东西都是无效的。它对模型拟合很有用,但对评估没有用。 这样做的正确方法是交叉验证,无论 OP 在下面的讨论中声称什么。

您应该研究 bias-variance tradeoff 的概念,因为这与您的问题直接相关并且应该澄清您的疑问。

【讨论】:

  • 所以基本上你是说训练错误除了帮助发现过度拟合外是没有用的。对吗?
  • 就其本身而言,它没有什么价值,是的。它无法发现过拟合。该位由验证数据集完成。训练阶段可能会过度拟合,尤其是对于复杂模型,此时交叉验证非常关键。你想多了……训练误差只是训练阶段真实标签和预测标签之间的误差。它只是优化后留下的残留物。训练误差本身并没有什么特别之处。只是你需要在训练阶段之后进行交叉验证,以确保你的模型具有泛化性。
  • 不不不.. 低训练误差可以帮助发现过度拟合。 '帮助'是你在那里错过的一个小词;)。为什么有帮助?这很有帮助,因为如果你的训练错误率低但测试错误率高,那么你就过拟合了。验证集的重点是让您可以选择正确的调整参数.. 例如岭回归中的 lamda star。我必须把它分成几个 cmets...
  • 您可以通过其他方式发现过度拟合,例如岭回归有助于处理的非常大的系数。
  • 实际上,训练误差通常定义为 rss 的平均值,或者您想使用的任何损失函数。 Rss 是 sum((actual -prediction)^2) 也许我对细节过于技术性了..
猜你喜欢
  • 1970-01-01
  • 2020-03-25
  • 2018-10-16
  • 2021-04-06
  • 2019-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-27
相关资源
最近更新 更多