电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

各种BP学习算法MATLAB仿真

各种BP学习算法MATLAB仿真_第1页
1/15
各种BP学习算法MATLAB仿真_第2页
2/15
各种BP学习算法MATLAB仿真_第3页
3/15
3.3.2 各种BP 学习算法MATLAB 仿真 根据上面一节对BP 神经网络的MATLAB 设计,可以得出下面的通用的MATLAB 程序段,由于各种BP 学习算法采用了不同的学习函数,所以只需要更改学习函数即可。 MATLAB 程序段如下: x=-4:0.01:4; y1=sin((1/2)*pi*x)+sin(pi*x); %trainlm 函数可以选择替换 net=newff(minmax(x),[1,15,1],{'tansig','tansig','purelin'},'trainlm'); net.trainparam.epochs=2000; net.trainparam.goal=0.00001; net=train(net,x,y1); y2=sim(net,x); err=y2-y1; res=norm(err); %暂停,按任意键继续 Pause %绘图,原图(蓝色光滑线)和仿真效果图(红色+号点线) plot(x,y1); hold on plot(x,y2,'r+'); 注意:由于各种不确定因素,可能对网络训练有不同程度的影响,产生不同的效果。如图 3-8。 标准 BP 算法(traingd) 图3-8 标准BP 算法的训练过程以及结果(原图蓝色线,仿真图+号线) 增加动量法(traingdm) 如图3-9。 图3-9 增加动量法的训练过程以及结果(原图蓝色线,仿真图+号线) 弹性 BP 算法(trainrp)如图3-10 图3-10 弹性 BP 算法的训练过程以及结果(原图蓝色线,仿真图+号线) 动量及自适应学习速率法(traingdx )如图3-11。 图3-11 动量及自适应学习速率法的训练过程以及结果(原图蓝色线,仿真图+号线) 共轭梯度法 (traincgf)如图3-12。 图3-12 共轭梯度法的训练过程以及结果(原图蓝色线,仿真图+号线) Lev enberg-Marqu ardt 算法(trainlm)如图3-13。 图3-13 Lev enberg-Marqu ardt 算法的训练过程以及结果(原图蓝色线,仿真图+号线) 3.3.3 各种算法仿真结果比较与分析 由上面的仿真结果可以得到下表的比较和下面的结论与分析:表 3-2 表 3-2 各种 BP 学习算法MATLAB 仿真结果比较 BP 算法 训练函数 训练次数 均方误差 标准 BP 算法 traingd 2000 0.134968 增加动量法 traingdm 2000 0.108883 弹性 BP 算法 trainrp 2000 0.0135652 动量及自适应学习速率法 trangdx 2000 0.0761264 共轭梯度法 traincgf 769 0.00499915 Lev enberg-Marqu ardt 法 trainlm 61 0.0000098727 结论与分析: 从仿真结果可以看出,标准 BP 算法、增加动量发、弹性 BP 算法、动量及自适应学习速率法的收敛速度都不如共轭梯度法和 Levenberg-Marquardt 法(L-M算法)收敛速度明显的快。从仿真结果和均方误...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

各种BP学习算法MATLAB仿真

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部