2024年4月19日发(作者:)
BP神经网络
(一) 定义
误差反向传播的BP算法简称BP算法,其基本思想是梯度下降法。
它采用梯度搜索技术,以期使网络的实际输出值与期望输出值的误差
均方值为最小。
(二) BP网络特点
1) 是一种多层网络,包括输入层、隐含层和输出层;
2) 层与层之间采用全互连方式,同一层神经元之间不连接;
3) 权值通过δ学习算法进行调节;
4) 神经元激发函数为S函数;
5) 学习算法由正向传播和反向传播组成;
6) 层与层的连接是单向的,信息的传播是双向的。
(三) BP主要应用
回归预测(可以进行拟合,数据处理分析,事物预测,控制等)、 分
类识别(进行类型划分,模式识别等),但无论那种网络,什么方法,
解决问题的精确度都无法打到100%的,但并不影响其使用,因为现
实中很多复杂的问题,精确的解释是毫无意义的,有意义的解析必定
会损失精度。
(四) BP网络各种算法的应用范围
1) Traingd:批梯度下降训练函数,沿网络性能参数的负梯度方向调
整网络的权值和阈值;
2) Traingdm:动量批梯度下降函数,也是一种批处理的前馈神经网络
训练方法,不但具有更快的收敛速度,而且引入了一个动量项,有效避
免了局部最小问题在网络训练中出现;
3) Trainrp:有弹回的BP算法,用于消除梯度模值对网络训练带来的
影响,提高训练的速度(主要通过delt_inc和delt_dec来实现权值的
改变);
4) Trainlm:Levenberg-Marquardt算法,对于中等规模的BP神经网
络有最快的收敛速度,是系统默认的算法.由于其避免了直接计算赫
赛矩阵,从而减少了训练中的计算量,但需要较大内存量.;
5) traincgb:Plwell-Beale算法:通过判断前后梯度的正交性来决
定权值和阈值的调整方向是否回到负梯度方向上来;
6) trainscg:比例共轭梯度算法:将模值信赖域算法与共轭梯度算法
结合起来,减少用于调整方向时搜索网络的时间。
一般来说,traingd和traingdm是普通训练函数,而
traingda,traingdx,traingd,trainrp,traincgf,traincgb,trainsc
g,trainbgf等等都是快速训练函数.总体感觉就是训练时间的差别比
较大,还带有精度的差异。
(五) 实例及其仿真分析(BP网络底层代码的实现)
1) 程序
%% 读入数据
xlsfile='';
[data,label]=getdata(xlsfile);
发布评论