本站原创文章,转载请说明来自《老饼讲解-BP神经网络》www.bbbdata.com
matlab神经网络工具箱为BP神经网络提供了各种各样的训练算法
本文介绍matlab神经网络工具箱中各种BP神经网络训练算法、训练函数的详细说明
本节介绍在matlab工具箱中,BP神经网络的训练算法有哪些
BP神经网络的训练方法有哪些
matlab神经网络工具箱提供的所有训练方法和参数名如下
训练参数名 | 训练方法 |
---|---|
traingd | 梯度下降法 |
traingdm | 有动量的梯度下降法 |
traingda | 自适应lr梯度下降法 |
traingdx | 自适应lr动量梯度下降法 |
trainrp | 弹性梯度下降法 |
traincgf | Fletcher-Reeves共轭梯度法 |
traincgp | Ploak-Ribiere共轭梯度法 |
traincgb | Powell-Beale共轭梯度法 |
trainscg | 量化共轭梯度法 |
trainbfg | 拟牛顿算法 |
trainoss | 一步正割算法 |
trainlm | Levenberg-Marquardt法 |
BP神经网络的关键训练算法说明
BP神经网络比较经典、关键的训练方法如下
👉traingd :梯度下降法
👉trainlm:Levenberg-Marquardt法
👉trainscg:量化共轭梯度法
关于traingd训练算法
traingd是梯度下降法,也是最base的算法,
虽然效果并不是很好,随便一个都能吊打它,
但它却是一个最Base的方法,在理论上有不可替代的地位与意义,
很多算法都是在它的基础上进行改进,这也是为什么其它方法能吊打它
关于trainlm训练算法
trainlm是matlab神经网络工具箱的默认方法,
也是matlab最为推荐的方法,
它同时利用了一阶导信息和二阶导信息,训练速度比梯度法快得多
并且利用误差函数为均方差的特性,巧妙避开了Hession矩阵
它的缺点是随着变量个数的增长,所使用的内存也快速增长
因此,较为消耗内存,在变量极多时,不可用
关于trainscg训练算法
trainscg是量化共轭梯度法,
它是matlab神经网络工具箱的推荐的在trainlm无法使用时的备选方法
好了,以上就是matlab-BP神经网络的各种训练算法的说明了~
End