原文来自 老饼玩转-BP神经网络
https://www.bbbdata.com/nn
目录
本文讲解matlab神经网络工具箱关掉ValidationChecks的三种方法。
一、Validation Checks是什么
在训练时,会出现遇到达到最大Validation Checks而退出训练的情况,所以经常有小伙伴问,这Validation Checks是个什么鬼?

matlab工具箱内部会将数据分成三部分(注意观看,上面还有个Data Division):training、validation、testing,其中,training用于训练,validation用于验证泛化能力。
即matlab是边训练边验证,当验证数据连续n次没能提升时,则退出训练。因为这样说明,网络的训练数据在越训练越好,但泛化能力却越来越差,即走在过拟合的路上,所以将会退出训练。
二、怎么关掉Validation Checks
正常是不关为好的,但如果需要关,那有三种方法:
1、将划分函数置空
net.dividefcn =''
2、不划分验证数据
net.divideParam.trainRatio=1
net.divideParam.valRatio=0
net.divideParam.testRatio=0
这里将验证数据比例置0,为了不浪费数据,同时也修改训练数据与检验数据比例。
3、将失败阈值调到极大
net.trainparam.max_fail =10000
这个不算关掉,只是让训练不因Validation Checks不通过而退出训练。
相关文章
本文介绍了在Matlab神经网络工具箱中遇到ValidationChecks导致训练中断的问题。ValidationChecks用于监控网络的泛化能力,当验证数据连续多次未提升时,训练将停止以防止过拟合。关闭ValidationChecks的方法包括:1) 置空划分函数net.dividefcn;2) 将验证数据比例设为0;3) 设置失败阈值net.trainparam.max_fail为极大值。建议通常保持ValidationChecks以确保模型泛化性能。
1万+

被折叠的 条评论
为什么被折叠?



