本文部分图文来自《老饼讲解-BP神经网络》bp.bbbdata.com
本文列兴趣MATLAB神经网络工具箱中,训练参数trainParam的各个参数与意义
以方便在使用matlab工具箱时,用于查阅
一、matlab神经网络工具箱trainParam的参数列表
trainParam中的各个具体参数如下:
参数名称 | 解释 | 适用方法 |
---|---|---|
net.trainParam.epochs | 最大训练次数(缺省为10) | 全部 |
net.trainParam.goal | 训练要求精度(缺省为0) | 全部 |
net.trainParam.lr | 学习率(缺省为0.01) | 全部 |
net.trainParam.max_fail | 最大失败次数(缺省为5) | 全部 |
net.trainParam.min_grad | 最小梯度要求(缺省为1e-10) | 全部 |
net.trainParam.show | 显示训练迭代过程(NaN表示不显示,缺省为25) | 全部 |
net.trainParam.time | 最大训练时间(缺省为inf) | 全部 |
net.trainParam.mc | 动量因子(缺省0.9) | traingdm、traingdx |
net.trainParam.lr_inc | 学习率lr增长比(缺省为1.05) | traingda、traingdx |
net.trainParam.lr_dec | 学习率lr下降比(缺省为0.7) | traingda、traingdx |
net.trainParam.max_perf_inc | 表现函数增加最大比(缺省为1.04) | traingda、traingdx |
net.trainParam.delt_inc | 权值变化增加量(缺省为1.2) | trainrp |
net.trainParam.delt_dec | 权值变化减小量(缺省为0.5) | trainrp |
net.trainParam.delt0 | 初始权值变化(缺省为0.07) | trainrp |
net.trainParam.deltamax | 权值变化最大值(缺省为50.0) | trainrp |
net.trainParam.searchFcn | 一维线性搜索方法(缺省为srchcha) | traincgf、traincgp、traincgb、trainbfg、trainoss |
net.trainParam.sigma | 因为二次求导对权值调整的影响参数(缺省值5.0e-5) | trainscg |
net.trainParam.lambda | Hessian矩阵不确定性调节参数(缺省为5.0e-7) | trainscg |
net.trainParam.men_reduc | 控制计算机内存/速度的参量, 内存较大设为1,否则设为2(缺省为1) | trainlm |
net.trainParam.mu | u的初始值(缺省为0.001) | trainlm |
net.trainParam.mu_dec | u的减小率(缺省为0.1) | trainlm |
net.trainParam.mu_inc | u的增长率(缺省为10) | trainlm |
net.trainParam.mu_max | u的最大值(缺省为1e10) | trainlm |
✍️PASS:trainParam参数是相对训练算法而言的,因此有些参数只针对部分训练算法哦
二、在使用trainParam时的注意事项
1.需要注意的是,有些参数只有某些方法才有效
例如mu、mu_dec等参数只有使用的trainlm方法,所以必须在了解相关算法的基础上,再进行设置。如果细心,会注意到不同训练算法的训练面板上的参数是有所不同的,如下
trainlm的训练面板
traingd的训练面板:
2.每个参数在不同训练方法上默认值有所不同
例如使用trainbr方法时,验证数据集的划分为0,同时,net.trainParam.max_fail也是为0的,如下
x = 1:100;
y = sin(x);
net = newff(x,y,3,{'tansig','purelin'},'trainbr');
max_fail = net.trainParam.max_fail
运行结果如下:
更多文章
1-LVQ的学习目录:老饼|BP神经网络-竞争神经网络
2-径向基神经网络学习目录:老饼|BP神经网络-感知机与SVM
3-BP的学习目录:老饼|BP神经网络-BP入门