一般来说,traingd和traingdm是普通训练函数,而traingda,traingdx,traingd,trainrp,traincgf,traincgb,trainscg,trainbgf等等都是快速训练函数.总体感觉就是训练时间的差别比较大,还带有精度的差异.
[x,t] = simplefit_dataset; % MATLAB自带数据,x、t均为1*94向量
net = feedforwardnet; % 创建前向网络feedforwardnet(5) 隐藏神经元个数 默认10
view(net)
net = train(net,x,t); % 训练,确定输入输出向量的维度
view(net)
y = net(x); %y = sim(net,x);
perf = perform(net,y,t) % 计算误差性能
plot(x,t,'o-'); % 绘图
hold on;
plot(x,y,'*-k');
legend('原始数据','feedforwardnet结果BP神经网络')
P = [0 1 2 3 4 5 6 7 8 9 10]; % 网络输入
T = [0 1 2 3 4 3 2 1 2 3 4]; % 期望输出
f1=feedforwardnet(4);
%f1=feedforwardnet([3,5]);
f2=cascadeforwardnet([3,5]);
f1 = train(f1,P,T);
f2 = train(f2,P,T);
Y1 = sim(f1,P);
Y2 = sim(f2,P);
plot(P,T,'o-'); % 绘图
hold on;
plot(P,Y1,'^m-');
plot(P,Y2,'*-k');
legend('原始数据','feedforwardnet结果BP神经网络','cascadeforwardnet结果级联前向网络',0)