⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bpnnet_156.m

📁 开发环境:Matlab 简要说明:动量-自适应学习调整算法。在实际应用中
💻 M
字号:
% Title : 动量-自适应学习调整算法(BP改进算法)应用实例
% Descript : 在实际应用中,原始的BP算法很难胜任,因此出现了很多的改进算法。BP算法的改进主要有两种途径,一种是采用启发式学习方法,另一种则是采用更有效的优化算法。本例采用动量BP算法,来实现对网络的训练过程,动量法降低了网络对于误差曲面局部细节的敏感性,有效地抑制网络陷于局部极小。
clf reset
figure(gcf)
%setfsize(300,300);
echo on
clc

% INITFF -对前向网络进行初始化
% SIMUFF -对前向网络进行仿真
% TRAINBPX -采用改进BP算法对前向网络进行训练
pause  
clc
% P 为输入向量
P=-1:.1:1;
% T 为目标向量
T = [-0.9602 -0.5770 -0.0729 0.3771 0.6405 0.6600 0.4609...
     0.1336 -0.2013 -0.4344 -0.5000 -0.3930 -0.1647 0.0988...
     0.3072 0.3960 0.3449 0.1816 -0.0312 -0.2189 -0.3201];
pause 
clc

plot(P,T,'+');
title('训练向量');
xlabel('输入向量 P');
ylabel('目标向量 T');

pause
clc

S1=5;
[w1,b1,w2,b2]=initff(P,S1,'tansig',T,'purelin');
echo off
k=pickic;
if k==2
    w1=[3.5000;3.5000;3.5000;3.5000;3.5000];
    b1=[-2.8562;1.0774;-0.5880;1.4083;2.8722];
    w2=[0.2622 -0.2375 -0.4525 0.2361 -0.1718];
    b2=[0.1326];
end
echo on
df=10;   %学习过程显示频率
me=8000; %最大训练步数
eg=0.02  %误差指标
lr=0.01  %学习率
tp=[df me eg lr];
[w1,b1,w2,b2,ep,tr]=trainbpx(w1,b1,'tansig',w2,b2,'purelin',P,T,tp);
pause
clc
ploterr(tr,eg);
pause
clc
p=0.5;
a=simuff(p,w1,b1,'tansig',w2,b2,'purelin')
echo off

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -