matlab建立BP神经网络中train函数的参数及学习算法参数

1.神经网络主要训练参数

net.trainParam.goal=0.1                 % 训练目标最小误差,这里设置为0.1

net.trainParam.epochs=300;             % 训练次数,这里设置为300

net.trainParam.show=20;               % 显示频率,这里设置为没训练20次显示一次

net.trainParam.mc=0.95;               % 附加动量因子

net.trainParam.lr=0.05;                % 学习速率,这里设置为0.05

net.trainParam.min_grad=1e-6;         %最小性能梯度

net.trainParam.min_fail=5;             % 最大确认失败次数


2.newff函数中训练函数

1) traingd:基本梯度下降法,收敛速度比较慢。

(2) traingdm:带有动量项的梯度下降法, 通常要比traingd 速度快。

(3) traingdx: 带有动量项的自适应学习算法, 速度要比traingdm 快。

(4) trainrp: 弹性BP 算法, 具有收敛速度快和占用内存小的优点。

(5) traincgf: Fletcher-Reeves 共轭梯度法,为共轭梯度法中存储量要求最小的算法。

(6) traincgp: Polak-Ribiers共轭梯度算法, 存储量比traincgf稍大,但对某些问题收敛更快。

(7) traincgb: Powell-Beale共轭梯度算法,存储量比traincgp稍大,但一般收敛更快,以上三种共轭梯度法,都需要进行线性搜索。

(8) trainscg: 归一化共轭梯度法,是唯一一种不需要线性搜索的共轭梯度法。

(9) trainbfg: BFGS- 拟牛顿法, 其需要的存储空间比共轭梯度法要大,每次迭代的时间也要多,但通常在其收敛时所需的迭代次数要比共轭梯度法少,比较适合小型网络。

(10) traino ss: 一步分割法,为共轭梯度法和拟牛顿法的一种折衷方法。

(11) trainlm: Levenberg-Marquardt算法,对中等规模的网络来说, 是速度最快的一种训练算法, 其缺点是占用内存较大。对于大型网络, 可以通过置参数mem-reduc 为1, 2, 3,⋯,将Jacobian 矩阵分为几个子矩阵。但这样也有弊端, 系统开销将与计算Jacobian的各子矩阵有很大关系。

(12) trainbr: 贝叶斯规则法,对Levenberg-Marquardt算法进行修改, 以使网络的泛化能力更好。同时降低了确定最优网络结构的难度。


  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值