从概念上讲,您在哪里划定过拟合模型和充分拟合模型之间的界限?
很明显,如果你的模型在训练集上的表现比测试集好几个百分点,那么你就是过拟合了。但是理论上来说,我在训练集上训练了一个模型,然后在测试集上进行了验证,发现我的训练集的准确率比我的测试集高 0.2%。这是不是太过拟合了?
从概念上讲,您在哪里划定过拟合模型和充分拟合模型之间的界限?
很明显,如果你的模型在训练集上的表现比测试集好几个百分点,那么你就是过拟合了。但是理论上来说,我在训练集上训练了一个模型,然后在测试集上进行了验证,发现我的训练集的准确率比我的测试集高 0.2%。这是不是太过拟合了?
很明显,如果你的模型在训练集上的表现比测试集好几个百分点,那么你就是过拟合了。
这不是真的。您的模型是基于训练学习的,并且在测试集之前没有“见过”,因此显然它应该在训练集上表现更好。它在测试集上表现(有点)差的事实并不意味着模型过度拟合——“明显”的差异可以表明这一点。
检查来自Wikipedia的定义和描述:
当统计模型描述随机误差或噪声而不是潜在关系时,就会发生过度拟合。过度拟合通常发生在模型过于复杂的情况下,例如相对于观察次数而言参数过多。过度拟合的模型通常具有较差的预测性能,因为它会夸大数据中的微小波动。
存在过拟合的可能性,因为用于训练模型的标准与用于判断模型功效的标准不同。特别是,模型通常通过在某些训练数据集上最大化其性能来训练。然而,它的功效并不取决于它在训练数据上的表现,而是取决于它在看不见的数据上表现良好的能力。当模型开始“记忆”训练数据而不是“学习”从趋势中概括时,就会发生过拟合。
在极端情况下,过拟合模型对训练数据的拟合度很好,而对测试数据的拟合度很差。然而,在大多数现实生活的例子中,这要微妙得多,判断过度拟合可能要困难得多。最后,您的训练集和测试集的数据可能相似,因此模型似乎在两个集上都表现良好,但是当您在一些新数据集上使用它时,由于过度拟合,它表现不佳,就像在谷歌流感趋势中一样例子。
想象一下,您有关于某个及其时间趋势的数据(如下图所示)。你有关于它的数据从 0 到 30,并决定使用 0-20 部分数据作为训练集,21-30 作为保留样本。它在两个样本上的表现都非常好,存在明显的线性趋势,但是当您对高于 30 倍的新的未见数据进行预测时,良好的拟合似乎是虚幻的。
这是一个抽象的例子,但想象一个现实生活中的例子:你有一个模型可以预测某些产品的销售情况,它在夏季表现非常好,但到了秋天,表现就下降了。你的模型对夏季数据过度拟合——也许它只适用于夏季数据,也许它只对今年的夏季数据表现良好,也许今年秋天是一个异常值,模型很好......