首页 理论教育 BP神经网络简介,深入探究水资源保护理论与实践

BP神经网络简介,深入探究水资源保护理论与实践

时间:2023-11-19 理论教育 版权反馈
【摘要】:图7.9BP神经网络结构7.2.1.2基于MATLAB7.0的BP神经网络设计1.BP神经网络的生成和初始化newff函数可以用来生成一个BP神经网络,该函数的常用格式为:式中PR——R×2维矩阵,表示输入层R个神经元的取值范围;[S1 S2…

BP神经网络简介,深入探究水资源保护理论与实践

1986年,D.E.Rumelhart和J.L.McCelland领导的科学家小组在《Parallel Distributed Processing》一书中,对具有非线性连续转移函数的多层前馈网络的误差反向传播(Error Back Propagation,简称BP)算法进行了详尽的分析,实现了Minsky关于多层网络的设想。由于多层前馈网络的训练经常采用误差反向传播算法,人们也常把将多层前馈网络直接称为BP网络(韩力群,2002)。BP神经网络可以实现输入和输出间的任意非线性映射,能较好地模拟在各种不确定因素影响下因果变量之间的内在关系,这使得它广泛应用于自动控制、图像识别水文预报和水质评价等领域中(刘国东等,1997)。

7.2.1.1 BP神经网络结构

BP神经网络通常采用基于BP神经元的多层前向神经网络的结构形式。一个典型的BP神经网络由一个输入层(input layer)、一个或多个隐层(hidden layer)、一个输出层(output layer)构成(孙涛等,2004),如图7.9所示。隐层一般采用双曲正切函数(tansig)作为传递函数,输出层一般采用线性函数(purelin)作为传递函数。信息流动为正向传播过程,即x→y→O,样本信号由输入层输入,经网络的权值、阈值和神经元的转移函数作用后,从输出层输出。

图7.9 BP神经网络结构

7.2.1.2 基于MATLAB7.0的BP神经网络设计

1.BP神经网络的生成和初始化

newff函数可以用来生成一个BP神经网络,该函数的常用格式为(许东等,2002;付强,2005):

式中 PR——R×2维矩阵,表示输入层R个神经元的取值范围;

[S1 S2…SN]——N层神经网络中各层神经元(节点)的数量;

{TF1 TF2…TFN}——各层神经元所采用的传递函数;

BTF——神经网络训练时所选定的训练函数;

BLF——选定的学习规则函数;

PF——误差函数。

2.BP神经网络的学习规则(www.xing528.com)

BP神经网络的学习规则(即权值和阈值的调节规则)采用的是误差反向传播算法(BP算法)。BP算法实际上是Widrow-Hoff算法在多层前向神经网络中的推广(许东等,2002)。如果输出值与期望值之间的误差大于规定量,则需进行修正,进入误差反向传播阶段,即误差通过隐层向输入层逐层反传,并将误差按“梯度下降”原则(吕孙云等,2005)分摊给各层神经元,从而获得各层神经元的误差信号,作为修改权值和阈值的依据。

3.BP神经网络的训练及仿真

在BP神经网络生成和初始化以后,即可利用现有的“输入—目标”样本矢量数据对网络进行训练。对BP神经网络进行训练,首先要适当设置网络的训练参数net.train.Param.(训练步数、训练目标误差、训练最小允许梯度值等),然后调用train函数对BP网络进行训练。train函数的常用格式为(许东等,2002):

式中 等号右侧的net——前面生成的神经网络对象;

P——网络输入样本矢量集;

T——对应的目标样本矢量集;

tr——存储训练过程中的步数信息和误差信息。

BP神经网络训练完毕后,可以采用sim函数对其进行仿真,即

式中 net——前面生成并经过训练的神经网络;

P同上。

7.2.1.3 BP神经网络的改进

BP神经网络可以实现任意线性或非线性的函数映射。但是,人们在使用BP网络过程中发现它存在容易陷入局部极小值、学习过程收敛速度慢、网络的结构难以确定(包括隐层数及各隐层节点数的确定)以及学习样本的数量和质量影响学习效果(主要是泛化能力)和学习速度等不足(陈玉芳,2004)。

目前,BP算法的改进途径主要是采用动量—自适应学习速率调整算法(杨旭等,2003)。当在权值修改公式中增加动量项时,BP算法可以找到更优的解,当学习率随总误差的变化作自适应调整时,BP算法可以缩短训练时间,提高学习速度,从而增加了BP算法的可靠性。另外,还可以采用Levenberg-Marquardt法、模拟退火算法(邱林等,2005)、遗传算法(储诚山等,2006)、改进的Powell法(吴蓉等,2002)等全局优化算法。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈