我训练了一个神经网络模型,一个MLP类型的网络,其中前几层是一维卷积,用于处理输入序列类型。
但是,培训过程如下所示,橙色线表示验证损失,蓝线表示培训损失。验证损失比训练损失大,训练损失在前几次迭代后也停止下降。是否有改进性能的通用指南?我有大约一百万的训练痕迹,网络参数的数量大约是140 K。

发布于 2018-05-14 09:54:04
当训练损失小于验证损失时,该模型被认为是对训练数据的过度拟合,即它从训练数据中学到的东西很多,只能对其进行很好的调整,不能推广到新的数据。这种现象被认为是模型的方差。模型的偏差是训练损失和你先前选择的最小损失之间的差别,或者是期望的损失。
然而,这一分析通常是在其他众所周知的指标上完成的,比如精确性和召回性。首先根据培训数据计算这些指标,然后根据评估数据计算这些指标。然后,考虑到同样的考虑,执行分析。
为了减少差异/过度拟合,有一些常见的技术:
如前所述,我将使用其他度量来执行分析,而不是使用损失。
发布于 2018-05-14 07:33:12
这显然是一个过度适应的情况,因为你的验证损失比你的培训损失高得多。我将继续执行辍学或重量衰减:它们都是正则化的。正则化技术的目的是使橙色线更接近蓝线。如果这是可行的,那么你必须问问自己:我的目标是蓝线吗?还是我想要一个更小的损失?如果您想要较小的损失,可以尝试使用另一个优化器、另一个学习速率或通过更多的时代进行培训(您的培训错误仍在减少)。但是,您的第一步应该是使用正则化技术。
https://datascience.stackexchange.com/questions/31610
复制相似问题