BP神經網絡的設計實例(MATLAB編程)
BP神經網絡的設計實例(MATLAB編程):例1 采用動量梯度下降算法訓練 BP 網絡。?
訓練樣本定義如下:?
輸入矢量為?????
?p =[-1 -2 3? 1??
???? -1? 1 5 -3]?
目標矢量為?? t = [-1 -1 1 1]?
解:本例的 MATLAB 程序如下:??
close all??
clear??
echo on??
clc??
% NEWFF——生成一個新的前向神經網絡??
% TRAIN——對 BP 神經網絡進行訓練??
% SIM——對 BP 神經網絡進行仿真??
pause?????????
%? 敲任意鍵開始??
clc??
%? 定義訓練樣本??
% P 為輸入矢量??
P=[-1,? -2,??? 3,??? 1;?????? -1,??? 1,??? 5,? -3];?
% T 為目標矢量??
T=[-1, -1, 1, 1];??
pause;??
clc??
%? 創建一個新的前向神經網絡??
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')?
%? 當前輸入層權值和閾值??
inputWeights=net.IW{1,1}??
inputbias=net.b{1}??
%? 當前網絡層權值和閾值??
layerWeights=net.LW{2,1}??
layerbias=net.b{2}??
pause??
clc??
%? 設置訓練參數??
net.trainParam.show = 50;??
net.trainParam.lr = 0.05;??
net.trainParam.mc = 0.9;??
net.trainParam.epochs = 1000;??
net.trainParam.goal = 1e-3;??
pause??
clc??
%? 調用 TRAINGDM 算法訓練 BP 網絡??
[net,tr]=train(net,P,T);??
pause??
clc??
%? 對 BP 網絡進行仿真??
A = sim(net,P)??
%? 計算仿真誤差??
E = T - A??
MSE=mse(E)??
pause??
非常好我支持^.^
(10) 100%
不好我反對
(0) 0%