APP下载

LM-BP神经网络在于桥水库水质预测中的应用

2010-11-20田建平曹东卫李海楠

水利信息化 2010年3期
关键词:梯度神经网络误差

田建平,曹东卫,李海楠

(河北省唐秦水文水资源勘测局,河北 唐山 063000)

0 引言

人工神经网络(Artificial Neural Networks,ANN)是一种模仿动物神经网络行为特征进行分布式并行信息处理的算法数学模型。BP 神经网络是人工神经网络中最为重要的网络之一,也是迄今为止,应用最为广泛的网络算法,实践证明这种基于误差反传递算法的 BP 网络有很强的映射能力,可以解决许多实际问题[1]。

水环境污染是多种因素影响的结果,具有非线性、不确定性和模糊性。本文通过 BP 神经网络模型对于桥水库高锰酸盐指数 、五日生化需氧量 、氨氮、溶解氧等污染指标进行了预测,为水质预测工作提供了新的思路。

1 BP 神经网络模型

1.1 BP 神经网络原理

BP 神经网络是一种反向传递并修正误差的多层前馈映射网络,其结构简单,可操作性强,在函数逼近、模式识别、分类、数据压缩等领域有着广泛的应用。对于1个3层(输入层、隐含层、输出层)的 BP 网络,只要其隐含层的神经元数足够,就可以任意精度逼近任何连续函数,实现任意Rn上[0,1]n到Rm的映射能力,具有自学习、自组织和适应能力。据统计,有近90% 的神经网络应用是采用 BP 网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分。网络的学习规则是使用最速下降法,学习过程包括正向传播和反向传播。在正向传播过程中,输入信息从输入层经隐含层加权处理传向输出层,经作用函数运算后得到的输出值和期望值进行比较,若有误差,则误差反向传播,沿原先的连接通路返回,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。如此循环直到输出满足要求为止[1]。

但是,传统 BP 神经网络存在如下3个缺陷,会影响其实际应用:

1)传统 BP 网络的隐含层节点采用的是 Sigmoid函数,采用误差梯度下降法,在有随机扰动的情况下往往不能保证全局收敛而陷入局部极小,不能达到最佳效果,致使学习过程失效。

2)学习算法的收敛速度很慢,尤其是在目标点附近。其中重要的原因是学习速率选择不当。学习速率选得太小,则收敛太慢,学习速率选得太大,则有可能修正过头,导致振荡甚至发散。

3)难以确定神经网络的优化结构,网络的输入节点、输出节点由问题而定,隐节点的选取根据经验, 缺乏理论指导,对初始权值、阈值等的选取敏感[2]。

1.2 BP 神经网络及 L-M 算法

1)传统的 BP 神经网络算法[3]

设输入的学习样本只有α个:ξ1,ξ2,…,ξα,对应的教师信号(即输出的期望值)为τ1,τ2,…,τα。用这α个样本对(ξπ,τπ),p= 1,2,…,α对网络进行训练。当第p个样本被输入到网络后,经网络各层计算,设网络的实际输出值为yιp,ι= 1,2,…,m(设输入向量为m维),将其与期望值相比较,可得在第p个输入模式下输出方差:

若输入所有α个样本经正向传递运算后,则网络的总误差为:

应用最速下降法,反向调整各层连接权值,使得误差达到最小。设ωυω为网络任意 2 个神经元之间的连接权,沿负梯度方向调整连接权ωυω的修正量为:

设n为迭代次数,应用梯度法可得网络第j层到i层的连接权的迭代关系式为:

等效误差按上述推导过程由输出层向输入层反向传播产生,经过多次调整网络最终收敛于目标。

2)L-M(Levenberg-Marquardt)算法

在实际应用中,传统的 BP 算法很难胜任,因此国内外出现了很多改进算法。例如 L-M 算法、牛顿 BP 算法(BFG)、弹性 BP 算法(RP)、自适应 BP 算法(GDX)、变步长 BP 算法(GDA)及加动量 BP 算法(GDM)等[2]。

L-M 全局优化算法比其它几种使用梯度下降法的 BP 算法要快得多,但对于复杂问题,这种方法需要相当大的存储空间。L-M 算法的基本思想是:在实际中,为了减轻非最优点的奇异问题,使目标函数在接近最优点时, 在极值点附近的特性近似2次性,以加快寻优收敛过程。一般是给搜索方向的系数矩阵n的主对角阵中的每个元素都加1个小的正数μ(由于起阻尼作用,故称阻尼因子)。即:

式(5)、(6)中:e为误差;P为前进方向;W是连接权;J是目标误差函数对连接权的一阶导数;α是自适应调节步长,通常取最优步长;μ是阻尼因子;为单位矩阵。

L-M 优化算法是梯度下降法与高斯牛顿法的结合,既有高斯牛顿算法的快速收敛特性又有梯度下降法的全局特性,可以有效地改善网络收敛性能。

L-M 优化方法的权值调整率选为:

式(7)中当μ很大时接近于梯度法,当μ很小时式(7)变成了 Gauss-Newton 法,在这种方法中,μ也是自适应调整的。

这里采用 L-M 学习规则和动量法分别作为神经网络的训练和学习函数。

2 LM-BP 神经网络模型在于桥水库水质预测中的应用

根据现有资料,把高锰酸盐指数 、五日生化需氧量 、氨氮、溶解氧等4项污染指标作为网络的输入样本。而网络的输出样本也采用这4个指标。以 1987~2006年的年平均数据作为样本集,对网络训练20000次,使目标误差达到 10-6mg/L,训练函数采用 trainlm。经验证,隐层单元结点选取最佳的结点个数为 12。训练结束后,用 sim 函数仿真输出,并且与目标输出进行比较,来检验网络的性能。隐含层和输出层分别采用 tansig 和 purelin 转换函数,当误差达到设置学习性能目标值(10-6mg/L)时,计算结束。

收敛效果如图1所示,所建网络经过163步以后,网络误差达到学习要求,学习速率比较理想。

图1 收敛效果图

由于网络的转换函数(sigmoid 函数)在[0,1]区间的变化梯度较大,一般网络训练时均把样本数据变换到这一区域,防止部分神经元达到过饱和状态,即对数据进行归一化处理,最后对输出结果进行反归一化处理。这里采用归一化公式为:

式中:xi,ximin,ximax分别为各组样本的任意值、最小值和最大值。

当神经网络处理结束后,再对网络输出数据做反归一化运算,使输出数据与原始数据在同一个区域之内。反归一化的公式为:

训练后得到的 BP 神经网络模型的权值和阈值为:

均方差 MSE =1.6491×10-4。

我们采用 Matlab 提供的神经网络训练工具箱对网络训练结果进一步分析。神经网络训练工具箱采用了线性回归的方法分析了网络输出与目标输出之间的关系,即网络的输出变化相对于目标输出的变化率,从而评估网络训练结果。计算值与实测值相关关系如图2所示,相对误差如图3所示。图2中R表示网络输出与目标输出的相关系数,R越接近1表示输出与目标输出越接近,网络性能越好。这里R=1,表明网络性能很好。

利用训练过的 BP 神经网络模型,对于桥水库2007和 2008年高锰酸盐指数 、五日生化需氧量、氨氮、溶解氧浓度值进行预测并验证。验证结果还是较为满意的。

根据此模型预测的于桥水库的各污染指标浓度值(年均值)如表1所示。

图2 计算值与实测值相关关系图

图3 计算值与实测值相对误差图

表1 BP 神经网络模型预测的于桥水库的各污染指标浓度值(年均值)

3 结论

BP 神经网络模型在于桥水库水质预测时取得了较为理想的的精度和可靠度。如果增加样本的容量,可以使预测结果更好。水质参数浓度的变化是随机的,与各种自然和人为因素有很大关系,对于这种因果关系的不确定性,BP 人工神经网络模型给出了较为满意的解决方法,使预测过程变得简单可行。由于影响水质参数浓度因素的复杂性与不确定性,具体运用时可根据需要充分考虑各因素的影响,适当增加学习样本容量,以提高预测精度。

[1] 苑希民,李洪雁.神经网络和遗传算法在水科学领域的应用[M].北京:中国水利水电出版社,2002.

[2] 林国玺,宣慧玉.遗传算法和 BP 人工神经网络在税收预测中的应用[J].系统工程理论方法应用,2005(4): 52-54.

[3] 许东,吴铮.基于 MATLAB 的系统分析与设计-神经网络[M].西安:西安交大出版社,2002.

猜你喜欢

梯度神经网络误差
一个改进的WYL型三项共轭梯度法
角接触球轴承接触角误差控制
Beidou, le système de navigation par satellite compatible et interopérable
一种自适应Dai-Liao共轭梯度法
神经网络抑制无线通信干扰探究
压力容器制造误差探究
一类扭积形式的梯度近Ricci孤立子
基于神经网络的拉矫机控制模型建立
九十亿分之一的“生死”误差
复数神经网络在基于WiFi的室内LBS应用