原文来自 老饼玩转-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不通过而退出训练。
相关文章