matlab建⽴BP神经⽹络中train函数的参数及学习算法参数1.神经⽹络主要训练参数 <=0.95; % 附加动量因⼦
(1) traingd:基本梯度下降法,收敛速度⽐较慢。
(2) traingda:⾃适应学习率的梯度下降法
(3) traingdm:带有动量项的梯度下降法, 通常要⽐traingd 速度快。
(4) traingdx: 带有动量项的⾃适应学习算法, 速度要⽐traingdm 快。
(5) trainrp: 弹性BP 算法, 具有收敛速度快和占⽤内存⼩的优点。
(6) traincgf: Fletcher-Reeves 共轭梯度法,为共轭梯度法中存储量要求最⼩的算法。 (7) traincgp: Polak-Ribiers共轭梯度算法, 存储量⽐traincgf稍⼤,但对某些问题收敛更快。
(8) traincgb: Powell-Beale共轭梯度算法,存储量⽐traincgp稍⼤,但⼀般收敛更快,以上三种共轭梯度法,都需要进⾏线性搜索。
(9) trainscg: 归⼀化共轭梯度法,是唯⼀⼀种不需要线性搜索的共轭梯度法。
(10) trainbfg: BFGS- 拟⽜顿法, 其需要的存储空间⽐共轭梯度法要⼤,每次迭代的时间也要多,但通常在其收敛时所需的迭代次数要⽐共轭梯度法少,⽐较适合⼩型⽹络。
(11) traino ss: ⼀步分割法,为共轭梯度法和拟⽜顿法的⼀种折衷⽅法。
(12) trainlm: Levenberg-Marquardt算法,对中等规模的⽹络来说, 是速度最快的⼀种训练算法, 其缺点
是占⽤内存较⼤。对于⼤型⽹络, 可以通过置参数mem-reduc 为1, 2, 3,…,将Jacobian 矩阵分为⼏个⼦矩阵。但这样也有弊端, 系统开销将与计算Jacobian的各⼦矩阵有很⼤关系。
(13) trainbr: 贝叶斯规则法,对Levenberg-Marquardt算法进⾏修改, 以使⽹络的泛化能⼒更好。同时降低了确定最优⽹络结构的难度。