?? bpnnet_156.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 + -