推广 热搜: 电机  PLC  变频器  服务机器人  培训  变送器  危化品安全,爆炸  西门子PLC  触摸屏  阀门 

基于地下水位测量的前向神经网络数据处理方法

   日期:2013-03-23     来源:工控之家网    作者:工控之家    浏览:17    评论:0    
摘 要:非线性系统广泛存在于自然界,人工神经网络有表示任意非线性关系和自学习等能力,为此类问题提供了解决方法。本文在已提供的一系列地下水位测量数据的前提下,分别利用径向基函数神经网络,BP神经网络对地下水位数据进行训练样本集与检测样本集的构建,并分别对仿真结果进行了比较评价。
关 键 词:前向神经网络;非线性;RBF神经网络;BP神经网络
中图分类号:TP118               文献标志码:A
Data processing method for feedward neural network based on measure 
of groundwater level
ZOU Jing, YU Yang, CHEN Liang
(School of Information science &Engineering, Shenyang Ligong University, Shenyang, 
Liaoning 110168, China)

Abstract: Nonlinear system exist extensively in nature, artificial neural network have the ability that can express arbitrarily nonlinear relation and self study, and offer a method that solve these problems. Under the premise of the groundwater level’s data which had already provided, this paper use RBFNN and BPNN respectively to train and test the sample gather of these data, and set up corresponding network. In the last, this paper compare and critique the corresponding simulation result.
Keywords: feedforward neural network; nonlinear; RBF neural network; BP neural network

    前向神经网络结构是阶层型的,信息值可以从输入层单元传播到它上一层的单元。第一层的单元与第二层所有的单元相连,第二层又与其上一层单元相连,同一层中各单元之间没有连接[1] 。前向网络中神经元的输入输出关系,可采用线性阈值硬变换或单元上升的非线性变换,均采用监督学习方式[2],其中的RBF神经网络和BP神经网络在逼近任意的非线性映射中都是很好的解决方法[3]。

   本文把一系列地下水位测量数据作为样本,并把所有的数据样本分为训练样本和检测样本对其进行神经网络的构建,分别用两种前向型神经网络训练样本和检测样本,分析比较两种网络的逼近误差,并由此给出评价结论。

1. 前期准备
    地下水位主要受河道流量、气温、饱和差、降水量和蒸发量等重要因子影响,由此归纳出24组数据,如表1.1所示。选定其中的1—19组作为训练样本,20—24组作为测试样本。(数据已做过归一化处理)

表1.1 地下水位及其影响因子监测数据表

2. RBF网络的创建、训练和测试
    径向基函数(RBF)神经网络由三层组成。输入层节点只传递输入信号到隐层,隐层节点由像高斯函数那样的辐射状作用函数构成,而输出层节点通常是简单的线性函数[4]。隐层节点中的作用函数(基函数)对输入信号将在局部产生响应,也即当输入信号靠近基函数的中央范围时,隐层节点将产生较大的输出,由此可以看出这种网络具有局部逼近能力,所以径向基函数网络也称为局部感知场网络[5]。

    由上表,得到输入向量p与目标向量t。(训练样本)
    输入测试样本p_test,目标测试样本t_test。(测试样本)
    采用精确设计函数newrbe创建一个0误差的RBF神经网络,自动选择隐含层的数目。
    SPREAD=1.5;
    Net=newrbe(p,t,SPREAD);
    SPREAD为径向基函数的分布密度,越大函数越平滑。由于网络的建立过程就是训练过程,因此,此时得到的网络net已经是训练好了的。如图2.1的RBF神经网络模型。


图2.1 RBF神经网络模型

    然后对网络进行仿真,验证其预测误差如图2.2所示。
    y=sim(net,p_test)
    运行结果y=0.6455 1.0844 0.3816 0.0064 0.1837
    plot(1:5,y-t_test);%得出预测误差如图2.2,由图可见,对于地下水位的预报来说,网络的预报误差并不大。
    此外,SPREAD值的大小影响网络的预测精度。接下来,分别在SPREAD=2,3,4,5的情况下计算网络的预报精度,代码为:
    y=rands(4,5);
    for i=1:4
        net=newrbe(p,t,i+1);
        y(i,:)=sim(net,p_test);
    end
    plot(1:5,y(1,:)-t_test,’r’);
    hold on;
    plot(1:5,y(2,:)-t_test,’b’);
    hold on;
    plot(1:5,y(3,:)-t_test,’g’);
    hold on;
    plot(1:5,y(4,:)-t_test,’.’);
    hold on;

    
图2.2 RBF网络训练误差曲线
    

图2.3 SPREAD取不同值时的预报误差

  由图可以看出,当SPREAD=2或3时,网络的预报误差最小,可得到理想的结果。

3. BP网络的创建、训练和测试

   利用BP网络对地下水位进行重新预报,选择的BP网络为5*11*1的结构。隐层神经元个数由5*2+1得。训练函数为trainlm。设训练次数为1000.

    创建一个二层网络,其网络模型如图3.1所示。

 
图3.1 BP网络结构模型

    net=newff([0 0.6814;0 0.9697;0 1.0000;0 0.6129;0 1.0000],[11 1],{‘tansig’,’logsig’}, ‘trainlm’);
    net.trainParam.epochs=1000;
    net=tran(net,p,t);
    训练次数图如图3.2
 


图3.2 BP网络训练误差

    %测试样本仿真
    y=sim(net,p_test);
    令y_bp=y-t_test
    plot(1:5,y_bp,’*’);
    hold off;
    则误差图在图2.3中体现出来。

4. 比较评析
    从图2.3中可以看出,对于预报精度来说,BP网络明显不如RBF网络,而且BP网络的训练时间明显大于RBF网络,其训练速度比较慢。RBF神经网络由于其输出层是对中间层的线性加权,使得避免了像BP网络那样繁琐冗长的计算,具有较高的运算速度和外推能力,同时使得网络有较强的非线性映射功能。与BP神经网络相比,由于需要调整的参数比较少,只有一个光滑因子,因此可以更快地找到合适的预测网络,具有较大的计算优势。

5. 结语
    从理论上而言,RBF网络和BP网络一样可近似任何的连续非线性函数。两者的主要差别在于各使用不同的作用函数,BP网络中的隐层节点使用的是sigmoid函数,其函数值在输入空间中无限大的范围内为非零值,而RBF网络的作用函数则是局部的。

参考文献
[1]张铃,张拔。人工神经网络理论及应用[M]。浙江:浙江科学技术出版社,1997
[2]沈清,胡德文,时春。神经网络应用技术[M]。长沙:国防科技大学出版社,1993
[3]闻新等。MATLAB神经网络仿真与应用[M]。科学出版社,2003.7
[4]黄加亮。RBF神经网络在船用低速柴油机故障诊断中的应用研究[硕士学位论文]。大连海事大学,2000.3
[5]丛爽。面向MATLAB工具箱的神经网络理论与应用。合肥:中国科技大学出版社,1998

 
打赏
 
更多>同类环保知识
0相关评论

推荐图文
推荐环保知识
点击排行
网站首页  |  免责声明  |  联系我们  |  关于我们  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  RSS订阅  |  违规举报  |  鲁ICP备12015736号-1
Powered By DESTOON