BP神经网络的mu参数是学习率么?训练结果val fail中的validation check=6什么意思

trainlm训练函数中的“mu”是不是学习率?相当于traingdx函数中的“lr”valfail啥意思,网络训练每次都是因为validationcheck达到“6”,... trainlm训练函数中的“mu”是不是学习率?相当于traingdx函数中的“lr”
val fail啥意思,网络训练每次都是因为validation check达到“6”,就结束了,这是什么原因,如下图

如何解决?训练的performance和gradient都还没达到精度要求
展开
 我来答
meng2235
推荐于2017-12-16 · TA获得超过1.4万个赞
知道大有可为答主
回答量:4585
采纳率:74%
帮助的人:3159万
展开全部
神经网络的样本若输入网络,默认情况下会将样本随即分为3类:训练样本,确认样本和测试样本。确认检查值默认是6,它的意思是指随着网络利用训练样本进行训练的过程中,确认样本的误差曲线连续6次迭代不在下降。这时训练终止(这只是训练终止条件之一,满足任一终止条件,训练过程都将终止)深层含义你可以这样理解,如果随着网络的训练,确认样本的误差已经基本不在减小,甚至增大,那么就没有必要再去训练网络了,因为继续训练下去的话,在利用测试样本进行测试网络的话,测试样本的误差将同样不会有所改善,甚至会出现过度拟合的现象。validation checks已经达到设置的值了,所以停止训练了,如果网络在连续max_fail epochs后不能提高网络性能,就停止训练。
有三种方法解决这个问题:
1 提高validation checks的数值,比如设置net.trainParam.max_fail = 200;其实这等于自己糊弄自己严重不推荐,出现停止训练,就是因为被训练的网络已经过拟合,停下来是应该的。但6的确有点小,建议改成10到20之间的数
2 修改被训练的网络,比如说再加一个隐藏层试试
3 如果是数据太相近的问题,试试选择用divideind
更多追问追答
追问
你这是论坛上拷贝过来的吧,有没有具体点的方法,还有这种因为validation checkd达到预设值而停止的训练结果能用么
追答
你要明白它为什么要停止。连续6次误差不断增大,说明网络性能越训练越差。这可能是两方面原因:1.过拟合。网络学习得太好了,反而泛化能力下降。2.网络规模不够大,信息存储能力不够强,原先学习的知识又被新样本抹去了,导致网络性能无法提升。
要解决这个问题:一、如果要改变validation的验证次数,可以用这个语句net.trainParam.max_fail = 20; 二、或者是增多隐节点或隐层数。
提前停止的网络虽然陷入局部极小,但不一定就不能用,看实际效果吧。
匿名用户
2019-12-02
展开全部
大概意思是给神经网络的权重再加一个调制,这样能避免神经网络收敛到局部最小值,MU的范围通常是0到1.
Mu stands for momentum constant or momentum parameter which is included in weight update expression to avoid the problem of local minimum. Sometimes network may get stuck to local minimum and convergence does not occur. Range of mu is between 0 and 1.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式