用matlab编BP神经网络预测程序 下载本文

年份 全国总人口 年份 全国总人口

模型四预测2011至2020年人口(单位:万人) 2011 2012 2013 2014 134668 135478 136325 137185 2016 2017 2018 2019 138862 139652 140402 141106 2015 138036 2020 141760

2.1 利用Matlab Script节点实现

在此以对一个非线性函数的逼近作为例子来说明 实现流程,其中输入矢量p=[-1∶0.05∶1];目标矢 量t=sin(2*pi*p)+0.1randn(size(p))。利用Mat-

lab Script节点实现BP算法的过程如下: (1)新建一个LabVIEW vi,在框图程序中添加 Matlab Script节点。

(2)在节点内添加Matlab的动量BP算法实现代 码,并分别在节点左右边框分别添加对应的输入/输出 参数,如图1所示。

(3)在vi的前面板添加相应的控件,设置输入参 数,连接输出控件。执行程序,结果如图2、图3所示。

下面的代码将重建我们以前的网络,然后用批处理最速下降法训练网络。(注意用批处 理方式训练的话所有的输入要设置为矩阵方式) net=newff([-1

2;

0

5],[3,1],{'tansig','purelin'},'traingd');

net.trainParam.show = 50; net.trainParam.lr = 0.05; net.trainParam.epochs = 300; net.trainParam.goal = 1e-5; p = [-1 -1 2 2;0 5 0 5]; t = [-1 -1 1 1]; net=train(net,p,t);

TRAINGD, Epoch 0/300, MSE 1.59423/1e-05, Gradient 2.76799/ 1e-10

TRAINGD, Epoch 50/300, MSE 0.00236382/1e-05, Gradient 0.0495292/1e-10

TRAINGD, Epoch 100/300, MSE 0.000435947/1e-05, Gradient 0.0161202/1e-10

TRAINGD, Epoch 150/300, MSE 8.68462e-05/1e-05, Gradient 0.00769588/1e-10

TRAINGD, Epoch 200/300, MSE 1.45042e-05/1e-05, Gradient 0.00325667/1e-10

TRAINGD, Epoch 211/300, MSE 9.64816e-06/1e-05, Gradient 0.00266775/1e-10

TRAINGD, Performance goal met. a = sim(net,p) a =

-1.0010 -0.9989 1.0018 0.9985

用nnd12sd1 来演示批处理最速下降法的性能。 带动量的批处理梯度下降法(TRAINGDM)

net=newff([-1 2; 0 5],[3,1],{'tansig','purelin'},'traingdm'); net.trainParam.show = 50;

net.trainParam.lr = 0.05; net.trainParam.mc = 0.9; net.trainParam.epochs = 300; net.trainParam.goal = 1e-5; p = [-1 -1 2 2;0 5 0 5]; t = [-1 -1 1 1]; net=train(net,p,t);

TRAINGDM, Epoch 0/300, MSE 3.6913/1e-05, Gradient 4.54729/ 1e-10

TRAINGDM, Epoch 50/300, MSE 0.00532188/1e-05, Gradient 0.213222/1e-10

TRAINGDM, Epoch 100/300, MSE 6.34868e-05/1e-05, Gradient 0.0409749/1e-10

TRAINGDM, Epoch 114/300, MSE 9.06235e-06/1e-05, Gradient 0.00908756/1e-10

TRAINGDM, Performance goal met. a = sim(net,p) a =

-1.0026 -1.0044 0.9969 0.9992

3.1 MATLAB 神经网络工具箱的 GUI(图形用户界面)工具

. 神经网络工具箱的 GUI 工具主要包括:1)神经网络 GUI 工具主窗口;2)神经网络的建立 窗口;3)网络训练对话框;4)自适应参数设置对话框;5)权值显示窗口. 通过神经网络工具箱的 GUI 工具按钮就能很方便地打开所建立的神经网络的结构图进行察看,也可以看到一个训练过程的 偏差曲线变化图. 3.2 神经网络工具箱解决问题的一般步骤

1)对待解决的问题进行分析,根据各种网络的特点选用合适的网络模型;2)建立网络;3) 对网络初始化;4)对网络进行训练;5)