3、经网络。前向神经网络分为单层前向神经网络和多层前向神经网络。区分前向神经网络和反馈神经网络主要是看输出层是否有反馈回到了输入层,有则为反馈神经网络,否则为前向神经网络。区分单层前向神经网络和多层前向神经网络主要是看是否有隐藏层,有则为多层前向神经网络,否则为单层前向神经网络。单层前向神经网络、多层前向神经网络以及反馈神经网络网络模型分别如图1-1、1-2、1-3所示。图1-1单层前向神经网络图1-2多层前向神经网络图1-3反馈神经网络二、神经网络工具箱通用函数sim函数,用于神经网络的仿真。其调用格式如下。
4、[y,pf,af,e,perf]=sim(net,p,pi,ai,t)[y,pf,af]=sim(net,{qts},pi,ai)其中,y:网络输出;pf:最终输出延迟;af:最终的层延迟;e:网络误差;perf:网络性能;net:待仿真的神经网络;p:网络输入;pi:初始输入延迟,默认为0;ai:初始层延迟,默认为0;t:网络目标。神经网络仿真示例程序如下:clearall;p=[0123456789];%输入向量t=[00.340.560.55-0.33-0.78-0.580.970.480.87];%
5、目标向量net=feedforwardnet(10);net=configure(net,p,t);y1=sim(net,p)%对所创建网络进行仿真plot(p,t,'o',p,y1,'x')legend('原始数据','仿真后数据');程序输出:y1=3.68814.15823.75422.52041.81171.58080.7953-0.4858-1.7422-2.7742网络仿真效果图如图2-1所示。图2-1网络仿真效果图Train函数,用于实现神经网络的训练,其调用格式如下:[net,tr,y,e,
6、pf,af]=train(net,p,t,pi,ai)其中,net:待训练的神经网络;p:网络的输入信号;t:网络的目标,默认为0;pi:初始的输入延迟,默认为0;ai:初始的层延迟,默认为0;net:训练后的神经网络;tr:训练记录;y:神经网络的输出信号;e:神经网络的误差;pf:最终输入延迟;af:最终层延迟。神经网络训练网络示例程序如下:clearall;p=[0123456789];%输入向量t=[00.340.560.55-0.33-0.78-0.580.970.480.87];%目标向量net
7、=feedforwardnet(10);net=configure(net,p,t);net.trainparam.epochs=50;net.trainparam.goal=0.01;net=train(net,p,t);y1=sim(net,p)plot(p,t,'o',p,y1,'x');legend('训练前数据','训练后数据');网络训练过程如图2-2所示。图2-2网络训练过程网络训练效果图如图2-3所示。图2-3网络训练效果图将上面两个例子整合对比,可得如下程序:clearall;p=[012
8、3456789];%输入向量t=[00.340.560.55-0.33-0.78-0.580.970.480.87];%目标向量net=feedforwardnet(10);net=configure(net,p,t);net=train(net,p,t);y1=sim(net,p)net=feedforwardnet(10);net=configure(net,p,t);net.trainparam.epoch