神经网络的设计实?/p>
(MATLAB
编程
)
?/p>
1
采用动量梯度下降算法训练
BP
网络?/p>
训练样本定义如下?/p>
输入矢量?/p>
p =[-1 -2 3 1
-1 1 5 -3]
目标矢量?/p>
t = [-1 -1 1 1]
解:本例?/p>
MATLAB
程序如下?/p>
close all
clear
echo on
clc
% NEWFF
—?/p>
生成一个新的前向神经网?/p>
% TRAIN
—?/p>
?/p>
BP
神经网络进行训练
% SIM
—?/p>
?/p>
BP
神经网络进行仿真
pause
%
敲任意键开?/p>
clc
%
定义训练样本
P=[-1, -2, 3, 1; -1, 1, 5, -3]; % P
为输入矢?/p>
T=[-1, -1, 1, 1]; % T
为目标矢?/p>
pause;
clc
%
创建一个新的前向神经网?/p>
net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')
%
当前输入层权值和阈?/p>
inputWeights=net.IW{1,1}
inputbias=net.b{1}
%
当前网络层权值和阈?/p>
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);