我对机器学习很陌生,在阅读了偏差-方差权衡和过拟合/欠拟合之后,我想到了几个问题:
如果我有一个模型在训练集上有 15% 的错误,在验证集上有 14% 的错误,而另一个模型在训练集上有 5% 的错误,在验证集上有 13% 的错误,我知道选择第一个模型通常更好(请注意,13% 对 14% 很小但不可忽略)。这是为什么?第二个模型中的低训练误差是否表明它更过度拟合,因此可能会比第一个模型给出更糟糕的结果?
一方面,我阅读以避免过度拟合,例如,需要在调节参数中具有较低的树深度或较高的值。但另一方面,我读到为了避免过度拟合,需要优化验证集(而不是测试集)上的参数,并保持训练分数略高于测试分数(如我的第一个问题)。这两种方法有什么关系?他们指的是同一种类型的过拟合吗?它们如何帮助减少过度拟合?
在这张照片
(取自此处)中,解释了对于 eta=0.1(在这种情况下,eta 是 XGBOOST 中的学习率),模型是欠拟合的,而对于 eta=0.9,模型是过拟合的。我可以看到 eta=0.9 的模型是如何过度拟合的(随着测试误差的上升),但对我来说,似乎 eta=0.1 的模型也是过度拟合的——因为测试误差上升了一点,而训练误差下降了. 我错过了什么?
- 假设我有 2 个树模型。一个有
tree_depth=2
10% 的错误,另一个有tree_depth=7
9.7% 的错误(很明显,第一个模型的复杂性比后者低,但第二个模型好一点,但不是可以忽略不计)。我读到建议选择第一个模型而不是后者,但这是为什么呢?是因为第一个模型可能不太过拟合吗?如果是这样,那我为什么要关心复杂性是否会减少错误?是不是因为第一个模型的方差可能较小?
注意:即使是其中的一个问题也将受到高度赞赏
注 2:我没有统计学或数学背景,因此非常感谢(如果可能)简单的语言