Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python keras使用restore_best_权重提前停止,仅使用save_best_和过度拟合的模型检查点_Python_Tensorflow_Keras - Fatal编程技术网

Python keras使用restore_best_权重提前停止,仅使用save_best_和过度拟合的模型检查点

Python keras使用restore_best_权重提前停止,仅使用save_best_和过度拟合的模型检查点,python,tensorflow,keras,Python,Tensorflow,Keras,这篇文章更多的是关于咨询而不是解决问题。我知道keras回调可以防止过度拟合的早期弯腰和模型检查点。当我使用早期弯腰和restore\u best\u weights=True时,我有时会耐心地错过最好的模型,当我使用检查点回调和save\u best\u only=True时,我需要做很多事情。因此,我认为我可能会以更大的耐心使用提前停止,但我的问题是,在一些时期之后,我的验证的损失是非常曲折的(即,意味着它越来越小,越来越大,没有任何特定的模式)。 当验证丢失以这种之字形方式执行时,我试图找

这篇文章更多的是关于咨询而不是解决问题。我知道keras回调可以防止过度拟合的早期弯腰和模型检查点。当我使用早期弯腰和
restore\u best\u weights=True
时,我有时会耐心地错过最好的模型,当我使用检查点回调和
save\u best\u only=True
时,我需要做很多事情。因此,我认为我可能会以更大的耐心使用提前停止,但我的问题是,在一些时期之后,我的验证的损失是非常曲折的(即,意味着它越来越小,越来越大,没有任何特定的模式)。 当验证丢失以这种之字形方式执行时,我试图找出最佳选项。

A“之字形”模式对于验证丢失来说并不罕见。重要的是,平均而言,损失会减少。这种变化可以通过使用可调学习率来减少。回调ReducelRonPlatforme提供了此功能。文件是。将其设置为监视验证丢失,然后指定factor参数(我通常使用.5)、patience参数(我通常使用1)和mode='min'。我不喜欢提前停止,因为它本质上是避免处理模型过度拟合的事实,这样您就不会继续实现最低的验证损失。
通过ReducelRon平台回调,您可以使用更大的初始学习速率,这将帮助您的模型在早期阶段更快地收敛,然后在后期阶段根据需要自动调整值。使用ModelCheckpoint监视验证丢失,并设置save_best_only=True。这将为验证损失最低的历元节省(权重或整个模型)。训练后,从保存的文件加载模型或权重,并使用它进行预测。如果您的培训损失减少,但在以后的时期,验证损失平均会增加,那么您的模型就过拟合了。与其避免这个问题,不如解决它。有几种方法可用。首先,模型越不复杂,越不容易过度拟合。因此,如果有很多密集层,那么从密度较低的层和较少的节点开始。监控培训损失。如果它继续下降,你的模型训练正确,将不太容易过度适合。如果训练不好,则添加更多节点或更密集的层,但在每个隐藏的密集层之后添加一个退出层。使用“dropout”的值调整过盈。如果这还不够,您可能需要向密集层添加正则化。文档很有用。

可能是您没有正确创建
验证
设置。它不应该是之字形的。@Abhilashawashi,我的集合是通过随机拆分我得到的一个大集合而创建的。我的意思是,在某个点开始曲折后,您可以使用
ModelCheckPoint
在每个
epoch
之后保存模型。然后最后使用最好的epoch模型。你也可以为你的训练和验证损失发布
。图中描述了之字形模式。在您的帖子中添加更多信息,如
code
以及您的培训方式,如
回调
等。