训练误差 - 有什么意义?

5
训练误差在回归目标(即进行预测)中的总体作用是什么?
你可能会说,"嗯,你看,训练误差可以帮助你确定哪种复杂度的模型最好使用。"
对此,有些人会说:"不,你不能这么说。低训练误差可能只意味着您的模型符合您正在训练模型的任何数据,也就是所谓的过拟合。"
如果训练误差不是良好的预测性能的衡量标准,那计算训练误差的意义是什么?
特别是当我们说,训练误差无关紧要,只需使用验证误差时...
我们何时会使用训练误差?
低训练误差可能表明过拟合..这是它唯一的用途吗?

1
Stack Overflow可能不是这个问题的最佳解决之地。请查看此Meta Stack Exchange问题以获取更合适的建议。 - skrrgwasme
那是一个很好的建议。 - user2738183
1个回答

7
训练误差本身可能是您模型性能的一个非常糟糕的指标,正如您所正确指出的那样。然而,无论如何,您都需要训练您的模型以进行一些有意义的预测。
这就是为什么您需要训练、验证和测试阶段以及数据集。可以通过使用随机子采样的验证数据集在一定程度上缓解训练数据集中容易发生的过拟合,因为如果您已经过度拟合,您的模型将不具有泛化能力(您应该看到,随着模型复杂度的增加,您的训练误差单调下降,但您的验证误差在某个点上停滞,额外的模型复杂度实际上会增加验证误差)。但是,如果您不对模型进行任何训练,则没有模型可供验证!
模型需要被训练。这是不可避免的。然而,仅靠训练误差是没有用的。必须进行交叉验证以确保模型具有泛化能力。底线是,您用于评估模型性能的任何东西在训练阶段已经出现过,因此是无效的。它对于模型拟合很有用,但对于评估则不然。 无论OP在下面的讨论中声称什么,正确的方法是交叉验证。
您应该了解偏差-方差权衡的概念,因为这与您的问题直接相关,应该可以澄清您的疑虑。

所以基本上你的意思是训练误差除了帮助发现过拟合之外毫无用处。是这样吗? - user2738183
本身而言,它的价值很小。是的,它无法检测过度拟合。这一点由验证数据集完成。训练阶段可能会出现过度拟合,特别是对于复杂模型,这时交叉验证非常关键。你想太多了...训练误差只是训练阶段真实标签和预测标签之间的误差。这只是优化后剩余的残差。训练误差本身并没有什么特别之处。只是在训练阶段之后需要进行交叉验证,以确保您的模型具有普适性。 - Pankaj Daga
1
不不不..低的训练误差可以帮助发现过拟合。你漏掉了一个小词“帮助”;为什么它有帮助呢?因为如果你的训练误差很低,但测试误差很高,那么你就是在过拟合。验证集的目的是为了让你选择正确的调整参数..比如岭回归中的lambda star。我必须将其分成几个评论... - user2738183
你可以从其他方面发现过度拟合,例如系数数量非常大,岭回归有助于解决这个问题。 - user2738183
1
实际上,训练误差通常被定义为rss的平均值,或者您想使用的任何损失函数。其中rss是sum((actual -prediction)^2)。也许我在细节上太过技术化了。 - user2738183
显示剩余16条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接