1701011510
1701011511
1701011512
1701011513
Step 5:用希望输出模式、网络实际输出,计算输出层的各单元的一般化误差。
1701011514
1701011515
1701011516
1701011517
1701011518
1701011519
Step 6:用连接权值、输出层的一般化误差、中间层的输出计算中间层各单元的一般化误差。
1701011520
1701011521
1701011522
1701011523
1701011524
1701011525
Step 7:用输出层各单元的一般化误差、中间层各单元的输出修正连接权值和阈值。
1701011526
1701011527
1701011528
1701011529
1701011530
1701011531
Step 8:用中间层各单元的一般化误差、输入层各单元的输入修正连接权值和阈值。
1701011532
1701011533
Step 9:随机选取下一个学习模式对提供给网络,返回到Step 3,直至全部m个模式对训练完毕。
1701011534
1701011535
Step 10:重新从m个学习模式对中随机选取一个模式对,返回Step 3,直至网络全局误差函数E小于预先设定的一个极小值,即网络收敛或学习回数大于预先设定的值,即网络无法收敛。
1701011536
1701011537
Step 11:学习结束。
1701011538
1701011539
采用计算机进行神经网络模拟,相应的MATLAB程序如下:
1701011540
1701011541
clc,clear,close all %清屏和清除变量 warning off %消除警告 load(‘x.mat’) %加载数据 x=x’; %矩阵转置 y=[1:14]; %y值 x=mapminmax(x); %x归一化 y=mapminmax(y); %y归一化 net=newff(minmax(x),[80,1],{‘tansig’,‘purelin’},‘traingdm’); %新建BP网格 %当前输入层权值和阈值 inputWeights=net.IW{1,1}; inputbias=net.b{1}; %当前网络层权值和阈值 layerWeights=net.LW{2,1}; layerbias=net.b{2}; %设置训练参数 net.trainParam.show = 50; net.trainParam.lr = 0.01; net.trainParam.mc = 0.9; net.trainParam.epochs = 400; net.trainParam.goal = 1e-3; %调用 TRAINGDM 算法训练 BP 网络 [net, tr]=train(net, x, y); %对 BP 网络进行仿真 A_train = sim(net,x); %计算仿真误差 E = y - A_train; %均方误差 disp ‘网络训练均方误差’ MSE = mse(E) figure(1) plot(y,‘ro—’,‘linewidth’,2) hold on plot(A_train,‘bs—’,‘linewidth’,2) legend(‘实际值’,‘输出值’)
1701011542
1701011543
运行程序输出结果如下:
1701011544
1701011545
网络训练均方误差 MSE = 0.0111
1701011546
1701011547
运行程序输出图形如图10-8所示。
1701011548
1701011549
1701011550
1701011551
1701011552
图10-8 期望值与预测值比较
1701011553
1701011554
从图10-8可看出,期望值与实际输出值非常的逼近,均方根误差为0.0105,因此图10-8较好的表征了BP网络性能,采用BP神经网络模型能够较精确的评估网络性能,BP神经网络可以实现非线性函数的映射功能。
1701011555
1701011556
神经网络在很多领域已得到了很好的应用,但其需要研究的方面还很多。其中,具有分布存储、并行处理、自学习、自组织及非线性映射等优点的神经网络与其他技术的结合以及由此而来的混合方法和混合系统,已经成为一大研究热点。
1701011557
1701011558
人工神经网络的研究受到了各个发达国家的重视,美国国会通过决议将1990年1月5日开始的十年定为“脑的十年”,国际研究组织号召它的成员国将“脑的十年”变为全球行为。在日本的“真实世界计算(RWC)”项目中,人工智能的研究成了一个重要的组成部分。
1701011559
[
上一页 ]
[ :1.70101151e+09 ]
[
下一页 ]