matlab训练BP神经网络,nntool中如何设置,权值,激活函数的修改等问题

matlab训练BP神经网络,nntool中如何设置,权值,激活函数的修改等问题,第1张

net1=newff(minmax(pX),[16,1],{'tansig','purelin'},'trainlm');

 

这个是激活函数的语句,但是一般不需要修改。

BP神经网络是计算机自主学习的一个过程,程序员要做的就是确定隐含层神经元的数量以及训练精度,训练步数以及学习速率等参数。

隐含层神经元数量的公式:

 

   

地面沉降是多种自然和人为因素共同作用的结果。各种要素发生作用的时空序列、影响强度和方向以及它们之间的关系处于不断变化之中,同时各因素的变化及其影响并不是单方面的,各变量之间相互形成制约关系,这使得地面沉降过程极具复杂性。因此,要求预测模型能以在现有资料、信息基础,准确反映研究区的自然背景条件、地下水开采行为与地面沉降过程之间的复杂联系,并能识别和适应不同影响因素随时间发生的改变。BP神经网络作为一个非线性系统,可用于逼近非线性映射关系,也可用于逼近一个极为复杂的函数关系,是解释和模拟地面沉降等高度复杂的非线性动力学系统问题的一种较好的方法。

8411 训练样本的确定

根据第4章的分析,影响研究区域地面沉降过程的变量包含着复杂的自然和人为因素,超采深层地下水是造成研究区1986年以后地面沉降的主要原因,深层地下水的开采量和沉降监测点附近的各含水层组水位均与地面沉降有着很好的相关性。

本区第四系浅层地下水系统(第Ⅰ含水层组)除河漫滩地段,一般为TDS都高于2g/L的咸水,因此工农业用途较少,水位一般保持天然状态,在本次模型研究中不予考虑。由于区内各地面沉降监测点的地面高程每年测量一次,为了保持与地面沉降数据的一致性,使神经网络模型能准确识别地下水开采与地面沉降之间的关系,所有数据均整理成年平均的形式。

本章选择了控沉点处深层地下水系统的年均水位和区域地下水开采量作为模型的输入变量,考虑到水位和开采量的变化与沉降变形并不同步,有明显的滞后性存在,本章将前一年的开采量和年均水位也作为输入,故模型的输入变量为四个。以收集到的区内每个地面沉降监测点的年沉降量作为模型的输出变量,通过选择适合的隐含层数和隐层神经单元数构建BP模型,对地面沉降的趋势进行预测。

本次收集到的地面沉降监测点处并未有常观孔的水位数据,如果根据历年实测等水位线推算,会产生很大的误差,导致预测结果的不稳定性。基于已经建立好的Modflow数值模型,利用Processing Modflow软件里的水井子程序包,在控沉点处设置虚拟的水位观测井,通过软件模拟出的不同时期的水位,作为地面沉降神经网络模型的输入层,从而避免了以往的将各含水层组平均水位作为模型输入所带来的误差[55]。考虑到深层地下水系统各含水层组的水力联系较为密切,本次在每个地面沉降监测点处只设置一个水位观测井,来模拟深层地下水系统的水位。水井滤水管的起始位置与该点含水层的位置相对应,即滤水管的长度即为含水层的厚度。

观测井在模型中的位置如831所示,绿色的点即为虚拟水位观测井。从图中可以看出6个沉降点在研究区内分布均匀,处于不同的沉降区域,有一定的代表性,通过对这6个点的地面沉降进行预测,可以反映出不同区域的沉降趋势。数值模型模拟得到的各沉降点年均水位如图832所示。

图831 控沉点虚拟水井在Modflow数值模型中的分布示意图

图832 模拟得到的各沉降点处虚拟水井年均水位动态

8412 样本数据的预处理

由于BP网络的输入层物理量及数值相差甚远(不属于一个数量级),为了加快网络收敛的速度,在训练之前须将各输入物理量进行预处理。数据的预处理方法主要有标准化法、重新定标法、变换法和比例放缩法等等。本章所选用的是一种最常用的比例压缩法,公式为[56]

变环境条件下的水资源保护与可持续利用研究

式中:X为原始数据;Xmax、Xmin为原始数据的最大值和最小值;T为变换后的数据,也称之为目标数据;Tmax、Tmin为目标数据的最大值和最小值。

由于Sigmoid函数在值域[0,01]和[09,10]区域内曲线变化极为平坦,因此合适的数据处理是将各输入物理量归至[01,09]之间。本章用式(87)将每个样本输入层的4个物理量进行归一化处理

变环境条件下的水资源保护与可持续利用研究

处理后的数据见表814。

表814 BP神经网络模型数据归一化表

续表

8413 网络结构的确定

BP神经网络的建立,其重点在于网络结构的设计,只要隐层中有足够多的神经元,多层前向网络可以用来逼近几乎任何一个函数。一般地,网络结构(隐层数和隐层神经元数)和参数(权值和偏置值)共同决定着神经网络所能实现的函数的复杂程度的上限。结构简单的网络所能实现的函数类型是非常有限的,参数过多的网络可能会对数据拟合过度。本章将输入样本的个数定为4个,输出样本为1个。但是对于隐含层数及隐含层所含神经元个数的选择,到目前为止还没有明确的方法可以计算出实际需要多少层或多少神经元就可以满足预测精度的要求,在选择时通常是采用试算的方法[56,57]。

为了保证模型的预测精度和范化能力,根据收集到的资料的连续性,本次研究利用1988~2002年15组地面沉降历史观测数据和对应的当年及前一年的开采量、年均水位组织训练,以2003年和2004年的实测地面沉降数据校验模型的预测能力,尝试多种试验性网络结构,其他模型参数的选择采取保守方式,以牺牲训练速度换取模型稳定性。以2003年和2004年的平均相对误差均小于20%作为筛选标准,最终选择三层BP网络作为模型结构,隐层神经元的个数设置为3。网络结构如图833所示,参数见表815。

表815 BP网络模型参数一览表

图833 神经网络模型结构图

8414 网络的训练与预测

采用图833确定的网络结构对数据进行训练,各个沉降点的训练过程和拟合效果如图834、图835所示。

从图835可以看出,训练后的BP网络能很好地逼近给定的目标函数。说明该模型的泛化能力较好,模拟的结果比较可靠。通过该模型模拟了6个沉降点在2003和2004年的沉降量(表816),可以看出2003年和2004年模拟值和实际拟合较好,两年的平均相对误差均小于20%,说明BP神经网络可以用来预测地面沉降的趋势。

表816 监测点年沉降量模拟误差表

图834 各沉降点训练过程图

8415 模型物理意义探讨

虽然现今的BP神经网络还是一个黑箱模型,其参数没有水文物理意义[58]。但从结构上分析,本章认为地面沉降与ANN是同构的。对于每个控沉点来说,深层地下水系统的开采量和含水层组的水位变化,都会引起地层应力的响应,从而导致整体的地面标高发生变化,这一过程可以与BP神经网络结构进行类比。其中,深层地下水系统的3个含水层组相当于隐含层中的3个神经元,各含水层组对地面沉降的奉献值相当于隐含层中人工神经元的阈值,整体上来说,本次用来模拟地面沉降的BP神经网络结构已经灰箱化(表817)。

图835 各监测点年沉降量神经网络模型拟合图

表817 BP神经网络构件物理意义一览表

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/12177602.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存