一般来说,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)