?? bpnnet_163.m
字號:
% Title : L-M算法(BP改進算法,是建立在一種優化方法基礎上的訓練算法)應用實例
% Descript : 除了動量法(基于梯度下降的訓練算法)外,學習率自適應調整策略是BP算法改進的另一種途徑,它利用Levenberg-Marquardt優化方法,從而使得學習時間更短。其缺點是,對于復雜的問題,該方法需要很大的存儲空間。
clf reset
figure(gcf)
%setfsize(300,300);
echo on
clc
% INITFF -對前向網絡進行初始化
% SIMUFF -對前向網絡進行仿真
% TRAINLN -采用LM算法前向網絡進行訓練
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.0002 %誤差指標
tp=[df me eg];
[w1,b1,w2,b2,ep,tr]=trainlm(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 + -