我有一个二元分类模型,我已经训练了一个训练集。在验证集上,其准确度为85%。我设立了早停,这结束了训练时,验证损失增加。让我们把这个最后的模型称为modelA。
由于任务的性质,我可以生成任意数量的培训数据。我有一个庞大的数据集(例如,编辑评论),并正在产生积极和消极的例子,在某种程度上,有一个天文数字的组合。所以我并不担心这个模型是在“记忆”我的训练数据。
因此,我生成了另一个数据集,并对modelA进行了精调,直到触发了早期停止触发器。该模型modelB的验证精度为87%。
我再次重复了这个过程,对modelC的最终验证准确率为89%。
我的问题是,这是否会导致过度适应?这是一种常见的行业实践吗?
发布于 2021-08-06 07:50:06
的确,这可能存在一个过分恰当的问题。模型不应通过额外的训练而不断提高其准确性,这可能导致错误的泛化,即对新组合进行分类失败。
我不知道你的模型是否使用了神经网络,但如果是的话,有几个函数可以忘记/重置一小部分经过训练的神经元,这样就避免了在新的训练中过度适应。辍学函数是最常见的函数,但是在错误计算函数中可以有类似于亚当优化的类似函数。
如果您的模型中没有这样的函数,那么解决方案可以从头开始重新启动培训,包括新的数据。如果结果与模型A相似,则可以证实模型B和C过拟合。
最后,过度拟合的结果高度依赖于数据,模型C也可以是正确的,没有过度拟合,需要更多的细节来检验这一点。但一般来说,如果你在90%或更多,你是在一个过度适合的情况。
https://datascience.stackexchange.com/questions/99754
复制相似问题