zoukankan      html  css  js  c++  java
  • 早停!? earlystopping for keras

      为了获得性能良好的神经网络,网络定型过程中需要进行许多关于所用设置(超参数)的决策。超参数之一是定型周期(epoch)的数量:亦即应当完整遍历数据集多少次(一次为一个epoch)?如果epoch数量太少,网络有可能发生欠拟合(即对于定型数据的学习不够充分);如果epoch数量太多,则有可能发生过拟合(即网络对定型数据中的“噪声”而非信号拟合)。

    早停法旨在解决epoch数量需要手动设置的问题。它也可以被视为一种能够避免网络发生过拟合的正则化方法(与L1/L2权重衰减和丢弃法类似)。

    目的还是解决过拟合!

    早停法背后的原理其实不难理解:

    • 将数据分为定型集和测试集
    • 每个epoch结束后(或每N个epoch后):
      • 用测试集评估网络性能
      • 如果网络性能表现优于此前最好的模型:保存当前这一epoch的网络副本
    • 将测试性能最优的模型作为最终网络模型

    keras.callbacks.EarlyStopping(monitor='val_loss', patience=0, verbose=0, mode='auto')

    当监测值不再改善时,该回调函数将中止训练

    参数

    • monitor:需要监视的量

    • patience:当early stop被激活(如发现loss相比上一个epoch训练没有下降),则经过patience个epoch后停止训练。

    • verbose:信息展示模式

    • mode:‘auto’,‘min’,‘max’之一,在min模式下,如果检测值停止下降则中止训练。在max模式下,当检测值不再上升则停止训练。

  • 相关阅读:
    python生成四位随机数
    解决mysql远程连接失败的问题
    python中的sort、sorted排序
    rest_framework之status HTTP状态码
    vim的卸载以及环境的配置小记
    vue项目如何引用jquery
    VSCode 安装Vue 插件
    Element-UI tree 组件 点击后高亮显示的样式修改(背景色)
    webstorm安装vue插件及安装过程出现的问题
    Vue el-date-picker 日期组件的使用
  • 原文地址:https://www.cnblogs.com/cupleo/p/10239458.html
Copyright © 2011-2022 走看看