机器学习之keras EarlyStopping()函数详解

EarlyStopping()
1.函数简介
使用该函数的目的是为了防止过拟合,由于在咱们训练模型的过程当中,颇有可能出现过拟合的状况。这个时候训练集表现很好,可是验证集表现就会降低。这时候咱们须要提早结束训练,获得“最佳”(只能判断是在全局范围内最佳)的结果。

2.参数详解
如下给出样例web

EarlyStopping(monitor=‘val_loss’, min_delta=0, patience=10, verbose=2, mode=‘auto’, restore_best_weights=True)
对于参数的解释svg

monitor: 监控的变量,例如val_acc,val_loss。若是要保存最高的精度,则应将检查点设置为monitor =’val_acc’,它将自动以最高的精度保存.最低的损耗不必定与最高的精度相对应
min_delta: monitor的最小变化,若是绝对值小于min_delta,则能够看做对于结果没有improvement,默认为0。
patience: 没有改善的epoch数。好比例子中为10次内都没有改变。
verbose:日志显示函数

verbose = 0 为不在标准输出流输出日志信息
verbose = 1 为输出进度条记录
verbose = 2 为每一个epoch输出一行记录
mode: auto, min, max三者之一. 在最小模式下,当监控量中止降低时,培训将中止; 在最大模式下,当监控量中止增长时,它将中止; 在自动模式下,从监控数量的名称自动推断方向。
restore_best_weights: 若为True,将会取整个训练过程当中最佳监控值的epoch训练结果做为最终模型权值,不然将以最后一次epoch的结果做为最终模型权值。spa

3.优缺点
虽然早停法简单易懂,也很好操做,可是也存在很大的缺陷。好比当模型剧烈波动的时候可能会停的太早,以致于不能获得想要的“好结果”。另外因为原理过于简单,对于复杂的问题每每统一用一种方式进行评判,也不能很好的获得恰当的结论。
除了使用早停法防止过拟合,还有一种方法为正则化方法

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值