建立BP神经网络地面沉降预测模型

基坑降水引起地面沉降的BP神经网络预测模型建模过程如下:(1)样本选择因基坑降水引起的地面沉降量和距离基坑的距离关系密切,因此建模选用“基坑降水引起沉降工程数据(第二类)”(见表4.1)中的相关数据作为样本进行学习训练和检验。

(2)BP神经网络结构设计对于BP网络,对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,因而一个三层BP网络就可以完成任意的n维到m维的映射。

根据网络结构简单化的原则,确定采用三层BP网络结构,即输入层为沉降点距基坑的距离L(m)、等效压缩模量E(MPa)、水位降深H(m)和支护刚度n四个参数,输出层为地面累积沉降量(mm),隐层层数为1层。

隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验来确定,因而不存在一个理想的解析式来表示。隐单元的数目与问题的要求,与输入、输出单元的数目有直接的关系。

隐单元数目太多会导致学习时间过长,误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。

研究通过一次编程比较了隐层神经元个数分别为5、10、15、20、25、30、40时训练速度及检验精度。

图4.2BP神经网络程序框图(3)网络训练及检验BP网络采用梯度下降法来降低网络的训练误差,考虑到基坑降水地面沉降范围内沉降量变化幅度较小的特点,训练时以训练目标取0.001为控制条件,考虑到网络的结构比较复杂,神经元个数比较多,需要适当增加训练次数和学习速率,因此初始训练次数设为10000次,学习速率取0.1,中间层的神经元传递函数采用S型正切函数tansig,传输函数采用logsig,训练函数采用trainlm,选用38组数据中的33组作为训练样本,5组作为检验样本。

(4)网络实现及检验效果使用MATLAB6.0编程建立基于BP神经网络的基坑降水地面沉降预测模型(程序代码见附件1),其训练误差及检验效果如下:图4.3训练误差曲线图4.4预测误差曲线由图4.3、图4.4可见:样本数据收敛,训练误差较小,中间层神经单元个数为10时预测精度较好,误差小于20%,误差满足工程需求。

谷歌人工智能写作项目:神经网络伪原创

伤寒、副伤寒流行预测模型(BP神经网络)的建立

由于目前研究的各种数学模型或多或少存在使用条件的局限性,或使用方法的复杂性等问题,预测效果均不十分理想,距离实际应用仍有较大差距写作猫

NNT是Matlab中较为重要的一个工具箱,在实际应用中,BP网络用的最广泛。

神经网络具有综合能力强,对数据的要求不高,适时学习等突出优点,其操作简便,节省时间,网络初学者即使不了解其算法的本质,也可以直接应用功能丰富的函数来实现自己的目的。

因此,易于被基层单位预防工作者掌握和应用。

以下几个问题是建立理想的因素与疾病之间的神经网络模型的关键:(1)资料选取应尽可能地选取所研究地区系统连续的因素与疾病资料,最好包括有疾病高发年和疾病低发年的数据。

在收集影响因素时,要抓住主要影响伤寒、副伤寒的发病因素。

(2)疾病发病率分级神经网络预测法是按发病率高低来进行预测,在定义发病率等级时,要结合专业知识及当地情况而定,并根据网络学习训练效果而适时调整,以使网络学习训练达到最佳效果。

(3)资料处理问题在实践中发现,资料的特征往往很大程度地影响网络学习和训练的稳定性,因此,数据的应用、纳入、排出问题有待于进一步研究。

6.3.1人工神经网络的基本原理人工神经网络(ANN)是近年来发展起来的十分热门的交叉学科,它涉及生物、电子、计算机、数学和物理等学科,有着广泛的应用领域。

人工神经网络是一种自适应的高度非线性动力系统,在网络计算的基础上,经过多次重复组合,能够完成多维空间的映射任务。

神经网络通过内部连接的自组织结构,具有对数据的高度自适应能力,由计算机直接从实例中学习获取知识,探求解决问题的方法,自动建立起复杂系统的控制规律及其认知模型。

人工神经网络就其结构而言,一般包括输入层、隐含层和输出层,不同的神经网络可以有不同的隐含层数,但他们都只有一层输入和一层输出。

神经网络的各层又由不同数目的神经元组成,各层神经元数目随解决问题的不同而有不同的神经元个数。

6.3.2BP神经网络模型BP网络是在1985年由PDP小组提出的反向传播算法的基础上发展起来的,是一种多层次反馈型网络(图6.17),它在输入和输出之间采用多层映射方式,网络按层排列,只有相邻层的节点直接相互连接,传递之间信息。

在正向传播中,输入信息从输入层经隐含层逐层处理,并传向输出层,每层神经元的状态只影响下一层神经元的状态。

如果输出层不能得到期望的输出结果,则转入反向传播,将误差信号沿原来的连同通路返回,通过修改各层神经元的权值,使误差信号最小。

BP网络的学习算法步骤如下(图6.18):图6.17BP神经网络示意图图6.18BP算法流程图第一步:设置初始参数ω和θ,(ω为初始权重,θ为临界值,均随机设为较小的数)。

第二步:将已知的样本加到网络上,利用下式可算出他们的输出值yi,其值为岩溶地区地下水与环境的特殊性研究式中:xi为该节点的输入;ωij为从I到j的联接权;θj为临界值;yj为实际算出的输出数据。

第三步:将已知输出数据与上面算出的输出数据之差(dj-yj)调整权系数ω,调整量为ΔWij=ηδjxj式中:η为比例系数;xj为在隐节点为网络输入,在输出点则为下层(隐)节点的输出(j=1,2…,n);dj为已知的输出数据(学习样本训练数据);δj为一个与输出偏差相关的值,对于输出节点来说有δj=ηj(1-yj)(dj-yj)对于隐节点来说,由于它的输出无法进行比较,所以经过反向逐层计算有岩溶地区地下水与环境的特殊性研究其中k指要把上层(输出层)节点取遍。

误差δj是从输出层反向逐层计算的。各神经元的权值调整后为ωij(t)=ωij(t-1)+Vωij式中:t为学习次数。

这个算法是一个迭代过程,每一轮将各W值调整一遍,这样一直迭代下去,知道输出误差小于某一允许值为止,这样一个好的网络就训练成功了,BP算法从本质上讲是把一组样本的输入输出问题变为一个非线性优化问题,它使用了优化技术中最普遍的一种梯度下降算法,用迭代运算求解权值相当于学习记忆问题。

6.3.3BP神经网络模型在伤寒、副伤寒流行与传播预测中的应用伤寒、副伤寒的传播与流行同环境之间有着一定的联系。

根据桂林市1990年以来乡镇为单位的伤寒、副伤寒疫情资料,伤寒、副伤寒疫源地资料,结合现有资源与环境背景资料(桂林市行政区划、土壤、气候等)和社会经济资料(经济、人口、生活习惯等统计资料)建立人工神经网络数学模型,来逼近这种规律。

6.3.3.1模型建立(1)神经网络的BP算法BP网络是一种前馈型网络,由1个输入层、若干隐含层和1个输出层构成。

如果输入层、隐含层和输出层的单元个数分别为n,q1,q2,m,则该三层网络网络可表示为BP(n,q1,q2,m),利用该网络可实现n维输入向量Xn=(X1,X2,…,Xn)T到m维输出向量Ym=(Y1,Y2,…,Ym)T的非线性映射。

输入层和输出层的单元数n,m根据具体问题确定。

(2)样本的选取将模型的输入变量设计为平均温度、平均降雨量、岩石性质、岩溶发育、地下水类型、饮用水类型、正规自来水供应比例、集中供水比例8个输入因子(表6.29),输出单元为伤寒副伤寒的发病率等级,共一个输出单元。

其中q1,q2的值根据训练结果进行选择。表6.29桂林市伤寒副伤寒影响因素量化表通过分析,选取在伤寒副伤寒有代表性的县镇在1994~2001年的环境参评因子作为样本进行训练。

利用聚类分析法对疫情进行聚类分级(Ⅰ、Ⅱ、Ⅲ、Ⅳ),伤寒副伤寒发病最高级为Ⅳ(BP网络中输出定为4),次之的为Ⅲ(BP网络中输出定为3),以此类推,最低为Ⅰ(BP网络中输出定为1)(3)数据的归一化处理为使网络在训练过程中易于收敛,我们对输入数据进行了归一化处理,并将输入的原始数据都化为0~1之间的数。

如将平均降雨量的数据乘以0.0001;将平均气温的数据乘以0.01;其他输入数据也按类似的方法进行归一化处理。

(4)模型的算法过程假设共有P个训练样本,输入的第p个(p=1,2,…,P)训练样本信息首先向前传播到隐含单元上。

经过激活函数f(u)的作用得到隐含层1的输出信息:岩溶地区地下水与环境的特殊性研究经过激活函数f(u)的作用得到隐含层2的输出信息:岩溶地区地下水与环境的特殊性研究激活函数f(u)我们这里采用Sigmoid型,即f(u)=1/[1+exp(-u)](6.5)隐含层的输出信息传到输出层,可得到最终输出结果为岩溶地区地下水与环境的特殊性研究以上过程为网络学习的信息正向传播过程。

另一个过程为误差反向传播过程。

如果网络输出与期望输出间存在误差,则将误差反向传播,利用下式来调节网络权重和阈值:岩溶地区地下水与环境的特殊性研究式中:Δω(t)为t次训练时权重和阈值的修正;η称为学习速率,0<η<1;E为误差平方和。

岩溶地区地下水与环境的特殊性研究反复运用以上两个过程,直至网络输出与期望输出间的误差满足一定的要求。该模型算法的缺点:1)需要较长的训练时间。

由于一些复杂的问题,BP算法可能要进行几小时甚至更长的时间的训练,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。2)完全不能训练。

主要表现在网络出现的麻痹现象上,在网络的训练过程中,当其权值调的过大,可能使得所有的或大部分神经元的加权总和n偏大,这使得激活函数的输入工作在S型转移函数的饱和区,从而导致其导数f′(n)非常小,从而使得对网络权值的调节过程几乎停顿下来。

3)局部极小值。BP算法可以使网络权值收敛到一个解,但它并不能保证所求为误差超平面的全局最小解,很可能是一个局部极小解。

这是因为BP算法采用的是梯度下降法,训练从某一起点沿误差函数的斜面逐渐达到误差的最小值。

考虑到以上算法的缺点,对模型进行了两方面的改进:(1)附加动量法为了避免陷入局部极小值,对模型进行了改进,应用了附加动量法。

附加动量法在使网络修正及其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响,其作用如同一个低通滤波器,它允许网络忽略网络上的微小变化特性。

在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用则有可能滑过这些极小值。

该方法是在反向传播法的基础上在每一个权值的变化上加上一项正比于前次权值变化量的值,并根据反向传播法来产生心的权值变化。

促使权值的调节向着误差曲面底部的平均方向变化,从而防止了如Δω(t)=0的出现,有助于使网络从误差曲面的局部极小值中跳出。

这种方法主要是把式(6.7)改进为岩溶地区地下水与环境的特殊性研究式中:A为训练次数;a为动量因子,一般取0.95左右。

训练中对采用动量法的判断条件为岩溶地区地下水与环境的特殊性研究(2)自适应学习速率对于一个特定的问题,要选择适当的学习速率不是一件容易的事情。

通常是凭经验或实验获取,但即使这样,对训练开始初期功效较好的学习速率,不见得对后来的训练合适。

所以,为了尽量缩短网络所需的训练时间,采用了学习速率随着训练变化的方法来找到相对于每一时刻来说较差的学习速率。

下式给出了一种自适应学习速率的调整公式:岩溶地区地下水与环境的特殊性研究通过以上两个方面的改进,训练了一个比较理想的网络,将动量法和自适应学习速率结合起来,效果要比单独使用要好得多。

6.3.3.2模型的求解与预测采用包含了2个隐含层的神经网络BP(4,q1,q2,1),隐含层单元数q1,q2与所研究的具体问题有关,目前尚无统一的确定方法,通常根据网络训练情况采用试错法确定。

在满足一定的精度要求下一般认小的数值,以改善网络的概括推论能力。

在训练中网络的收敛采用输出值Ykp与实测值tp的误差平方和进行控制:岩溶地区地下水与环境的特殊性研究1)将附加动量法和自适应学习速率结合应用,分析桂林市36个乡镇地质条件各因素对伤寒副伤寒发病等级的影响。

因此训练样本为36个,第一个隐含层有19个神经元,第二个隐含层有11个神经元,学习速率为0.001。A.程序(略)。B.网络训练。

在命令窗口执行运行命令,网络开始学习和训练,其学习和训练过程如下(图6.19)。图6.19神经网络训练过程图C.模型预测。

a.输入未参与训练的乡镇(洞井乡、两水乡、延东乡、四塘乡、严关镇、灵田乡)地质条件数据。b.预测。程序运行后网络输出预测值a3,与已知的实际值进行比较,其预测结果整理后见(表6.30)。

经计算,对6个乡镇伤寒副伤寒发病等级的预测符合率为83.3%。表6.30神经网络模型预测结果与实际结果比较c.地质条件改进方案。

在影响疾病发生的地质条件中,大部分地质条件是不会变化的,而改变发病地区的饮用水类型是可以人为地通过改良措施加以实施的一个因素。

因此,以灵田乡为例对发病率较高的乡镇进行分析,改变其饮用水类型,来看发病等级的变化情况。

表6.31显示,在其他地质条件因素不变的情况下,改变当地的地下水类型(从原来的岩溶水类型改变成基岩裂隙水)则将发病等级从原来的最高级4级,下降为较低的2级,效果是十分明显的。

因此,今后在进行伤寒副伤寒疾病防治的时候,可以通过改变高发区饮用水类型来客观上减少疫情的发生。

表6.31灵田乡改变饮用水类型前后的预测结果2)选取桂林地区1994~2000年月平均降雨量、月平均温度作为输入数据矩阵,进行样本训练,设定不同的隐含层单元数,对各月份的数据进行BP网络训练。

在隐含层单元数q1=13,q2=9,经过46383次数的训练,误差达到精度要求,学习速率0.02。A.附加动量法程序(略)。B.网络训练。

在命令窗口执行运行命令,网络开始学习和训练,其学习和训练过程如下(图6.20)。C.模型预测。a.输入桂林市2001年1~12月桂林市各月份的平均气温和平均降雨量。预测程度(略)。b.预测。

程序运行后网络输出预测值a2,与已知的实际值进行比较,其预测结果整理后见(表6.32)。经计算,对2001年1~12月伤寒副伤寒发病等级进行预测,12个预测结果中,有9个符合,符合率为75%。

图6.20神经网络训练过程图表6.32神经网络模型预测结果与实际值比较6.3.3.3模型的评价本研究采用BP神经网络对伤寒、副伤寒发病率等级进行定量预测,一方面引用数量化理论对不确定因素进行量化处理;另一方面利用神经网络优点,充分考虑各影响因素与发病率之间的非线性映射。

实际应用表明,神经网络定量预测伤寒、副伤寒发病率是理想的。其主要优点有:1)避免了模糊或不确定因素的分析工作和具体数学模型的建立工作。2)完成了输入和输出之间复杂的非线性映射关系。

3)采用自适应的信息处理方式,有效减少人为的主观臆断性。虽然如此,但仍存在以下缺点:1)学习算法的收敛速度慢,通常需要上千次或更多,训练时间长。2)从数学上看,BP算法有可能存在局部极小问题。

本模型具有广泛的应用范围,可以应用在很多领域。从上面的结果可以看出,实际和网络学习数据总体较为接近,演化趋势也基本一致。

说明选定的气象因子、地质条件因素为神经单元获得的伤寒、副伤寒发病等级与实际等级比较接近,从而证明伤寒、副伤寒流行与地理因素的确存在较密切的相关性。

1.如何用MATLAB神经网络工具箱创建BP神经网络模型?具体有哪些步骤?请高手举实例详细解释下? 2.如何把输

%人脸识别模型,脸部模型自己找吧。

functionmytest()clc;images=[];M_train=3;%表示人脸N_train=5;%表示方向sample=[];pixel_value=[];sample_number=0;forj=1:N_trainfori=1:M_trainstr=strcat('Images\',num2str(i),'_',num2str(j),'.bmp');%读取图像,连接字符串形成图像的文件名。

img=imread(str);[rowscols]=size(img);%获得图像的行和列值。

img_edge=edge(img,'Sobel');%由于在分割图片中我们可以看到这个人脸的眼睛部分也就是位于分割后的第二行中,位置变化比较大,而且眼睛边缘检测效果很好sub_rows=floor(rows/6);%最接近的最小整数,分成6行sub_cols=floor(cols/8);%最接近的最小整数,分成8列sample_num=M_train*N_train;%前5个是第一幅人脸的5个角度sample_number=sample_number+1;forsubblock_i=1:8%因为这还在i,j的循环中,所以不可以用iblock_num=subblock_i;pixel_value(sample_number,block_num)=0;forii=sub_rows:(2*sub_rows)forjj=(subblock_i-1)*sub_cols+1:subblock_i*sub_colspixel_value(sample_number,block_num)=pixel_value(sample_number,block_num)+img_edge(ii,jj);endendendendend%将特征值转换为小于1的值max_pixel_value=max(pixel_value);max_pixel_value_1=max(max_pixel_value);fori=1:3mid_value=10^i;if(((max_pixel_value_1/mid_value)>1)&&((max_pixel_value_1/mid_value)。

BP人工神经网络方法

(一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统。理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势。

人工神经元是神经网络的基本处理单元,其接收的信息为x1,x2,…,xn,而ωij表示第i个神经元到第j个神经元的连接强度或称权重。

神经元的输入是接收信息X=(x1,x2,…,xn)与权重W={ωij}的点积,将输入与设定的某一阈值作比较,再经过某种神经元激活函数f的作用,便得到该神经元的输出Oi。

常见的激活函数为Sigmoid型。

人工神经元的输入与输出的关系为地球物理勘探概论式中:xi为第i个输入元素,即n维输入矢量X的第i个分量;ωi为第i个输入与处理单元间的互联权重;θ为处理单元的内部阈值;y为处理单元的输出。

常用的人工神经网络是BP网络,它由输入层、隐含层和输出层三部分组成。BP算法是一种有监督的模式识别方法,包括学习和识别两部分,其中学习过程又可分为正向传播和反向传播两部分。

正向传播开始时,对所有的连接权值置随机数作为初值,选取模式集的任一模式作为输入,转向隐含层处理,并在输出层得到该模式对应的输出值。每一层神经元状态只影响下一层神经元状态。

此时,输出值一般与期望值存在较大的误差,需要通过误差反向传递过程,计算模式的各层神经元权值的变化量。这个过程不断重复,直至完成对该模式集所有模式的计算,产生这一轮训练值的变化量Δωij。

在修正网络中各种神经元的权值后,网络重新按照正向传播方式得到输出。实际输出值与期望值之间的误差可以导致新一轮的权值修正。正向传播与反向传播过程循环往复,直到网络收敛,得到网络收敛后的互联权值和阈值。

(二)BP神经网络计算步骤(1)初始化连接权值和阈值为一小的随机值,即W(0)=任意值,θ(0)=任意值。(2)输入一个样本X。

(3)正向传播,计算实际输出,即根据输入样本值、互联权值和阈值,计算样本的实际输出。

其中输入层的输出等于输入样本值,隐含层和输出层的输入为地球物理勘探概论输出为地球物理勘探概论式中:f为阈值逻辑函数,一般取Sigmoid函数,即地球物理勘探概论式中:θj表示阈值或偏置;θ0的作用是调节Sigmoid函数的形状。

较小的θ0将使Sigmoid函数逼近于阈值逻辑单元的特征,较大的θ0将导致Sigmoid函数变平缓,一般取θ0=1。

(4)计算实际输出与理想输出的误差地球物理勘探概论式中:tpk为理想输出;Opk为实际输出;p为样本号;k为输出节点号。

(5)误差反向传播,修改权值地球物理勘探概论式中:地球物理勘探概论地球物理勘探概论(6)判断收敛。若误差小于给定值,则结束,否则转向步骤(2)。

(三)塔北雅克拉地区BP神经网络预测实例以塔北雅克拉地区S4井为已知样本,取氧化还原电位,放射性元素Rn、Th、Tc、U、K和地震反射构造面等7个特征为识别的依据。

构造面反映了局部构造的起伏变化,其局部隆起部位应是油气运移和富集的有利部位,它可以作为判断含油气性的诸种因素之一。

在该地区投入了高精度重磁、土壤微磁、频谱激电等多种方法,一些参数未入选为判别的特征参数,是因为某些参数是相关的。

在使用神经网络方法判别之前,还采用K-L变换(Karhaem-Loeve)来分析和提取特征。S4井位于测区西南部5线25点,是区内唯一已知井。

该井在5390.6m的侏罗系地层获得40.6m厚的油气层,在5482m深的震旦系地层中获58m厚的油气层。

取S4井周围9个点,即4~6线的23~25点作为已知油气的训练样本;由于区内没有未见油的钻井,只好根据地质资料分析,选取14~16线的55~57点作为非油气的训练样本。

BP网络学习迭代17174次,总误差为0.0001,学习效果相当满意。以学习后的网络进行识别,得出结果如图6-2-4所示。

图6-2-4塔北雅克拉地区BP神经网络聚类结果(据刘天佑等,1997)由图6-2-4可见,由预测值大于0.9可得5个大封闭圈远景区,其中测区南部①号远景区对应着已知油井S4井;②、③号油气远景区位于地震勘探所查明的托库1、2号构造,该两个构造位于沙雅隆起的东段,其西段即为1984年钻遇高产油气流的Sch2井,应是含油气性好的远景区;④、⑤号远景区位于大涝坝构造,是yh油田的组成部分。

基于BP 神经网络的环境影响评价方法

基于BP神经网络的环境影响评价模型的建立过程如下:(1)样本选择根据表3.7、表3.8、表3.9提取建模所需的样本数据(表3.11)表3.118组基坑环境影响工程数据(2)BP神经网络结构设计对于BP网络,对于任何在闭区间内的一个连续函数都可以用单隐层的BP网络逼近,因而一个三层BP网络就可以完成任意的n维到m维的映射。

根据网络结构简单化的原则,确定采用三层BP网络结构,即输入层为支护刚度、岩土性质、降水方式、水文地质边界、基坑侧壁状态、边载分布、后续使用年限、基础型式和差异沉降δ九个参数,输出层为环境等影响级,隐层层数为1层。

隐层的神经元数目选择是一个十分复杂的问题,往往需要根据设计者的经验和多次实验来确定,因而不存在一个理想的解析式来表示。隐单元的数目与问题的要求,与输入、输出单元的数目有直接的关系。

隐单元数目太多会导致学习时间过长,误差不一定最佳,也会导致容错性差、不能识别以前没有看到的样本,因此一定存在一个最佳的隐单元数。

研究通过一次编程比较了隐层神经元个数分别为5、10、15、20、25、30、40时训练速度及检验精度。

(3)网络训练及检验BP网络采用梯度下降法来降低网络的训练误差,考虑到基坑降水地面沉降范围内沉降量变化幅度较小的特点,训练时以训练目标取0.001为控制条件,考虑到网络的结构比较复杂,神经元个数比较多,需要适当增加训练次数和学习速率,因此初始训练次数设为10000次,学习速率取0.1,中间层的神经元传递函数采用S型正切函数tansig,传输函数采用logsig,训练函数采用trainlm,分别抽取表3.11中的7组数据作为训练样本,剩余1组作为检验样本。

使用MATLAB6.0编程建立基于BP神经网络的基坑降水环境影响评价模型,考虑到样本量较小,预测结果不稳定,取预测20次评价结果的平均值作为最终评价结果。

经试算最终确定当隐层神经单元为10,结果如下:表3.12基坑降水环境影响评价模型检验结果结果表明基于BP神经网络的基坑降水环境影响评价结果大部分与实际监测结果相符,部分结果偏于危险。

极端气温、降雨-洪水模型(BP神经网络)的建立

极端气温、降雨与洪水之间有一定的联系。

根据1958~2007年广西西江流域极端气温、极端降雨和梧州水文站洪水数据,以第5章相关分析所确定的显著影响梧州水文站年最大流量的测站的相应极端气候因素(表4.22)为输入,建立人工神经网络模型。

4.5.1.1BP神经网络概述(1)基于BP算法的多层前馈网络模型采用BP算法的多层前馈网络是至今为止应用最广泛的神经网络,在多层的前馈网的应用中,如图4.20所示的三层前馈网的应用最为普遍,其包括了输入层、隐层和输出层。

图4.20典型的三层BP神经网络结构在正向传播中,输入信息从输入层经隐含层逐层处理,并传向输出层。

如果输出层不能得到期望的输出结果,则转入反向传播,将误差信号沿原来的连同通路返回,通过修改各层神经元的权值,使得误差最小。BP算法流程如图4.21所示。

图4.21BP算法流程图容易看出,BP学习算法中,各层权值调整均由3个因素决定,即学习率、本层输出的误差信号以及本层输入信号y(或x)。

其中,输出层误差信号同网络的期望输出与实际输出之差有关,直接反映了输出误差,而各隐层的误差信号与前面各层的误差信号都有关,是从输出层开始逐层反传过来的。

1988年,Cybenko指出两个隐含层就可表示输入图形的任意输出函数。

如果BP网络只有两个隐层,且输入层、第一隐含层、第二隐层和输出层的单元个数分别为n,p,q,m,则该网络可表示为BP(n,p,q,m)。

(2)研究区极端气温、极端降雨影响年最大流量过程概化极端气温、极端降雨影响年最大流量的过程极其复杂,从极端降雨到年最大流量,中间要经过蒸散发、分流、下渗等环节,受到地形、地貌、下垫面、土壤地质以及人类活动等多种因素的影响。

可将一个极端气候-年最大流量间复杂的水过程概化为小尺度的水系统,该水系统的主要影响因子可通过对年最大流量影响显著的站点的极端气温和极端降雨体现出来,而其中影响不明显的站点可忽略,从而使问题得以简化。

BP神经网络是一个非线形系统,可用于逼近非线形映射关系,也可用于逼近一个极为复杂的函数关系。极端气候-年最大流量水系统是一个非常复杂的映射关系,可将之概化为一个系统。

BP神经网络与研究流域的极端气候-年最大流量水系统的结构是相似的,利用BP神经网络,对之进行模拟逼近。

(3)隐含层单元数的确定隐含层单元数q与所研究的具体问题有关,目前尚无统一的确定方法,通常根据网络训练情况采用试错法确定。

在训练中网络的收敛采用输出值Ykp与实测值tp的误差平方和进行控制变环境条件下的水资源保护与可持续利用研究作者认为,虽然现今的BP神经网络还是一个黑箱模型,其参数没有水文物理意义,在本节的研究过程中,将尝试着利用极端气候空间分析的结果来指导隐含层神经元个数的选取。

(4)传递函数的选择BP神经网络模型算法存在需要较长的训练时间、完全不能训练、易陷入局部极小值等缺点,可通过对模型附加动量项或设置自适应学习速率来改良。

本节采用MATLAB工具箱中带有自适应学习速率进行反向传播训练的traingdm( )函数来实现。

(5)模型数据的归一化处理由于BP网络的输入层物理量及数值相差甚远,为了加快网络收敛的速度,使网络在训练过程中易于收敛,对输入数据进行归一化处理,即将输入的原始数据都化为0~1之间的数。

本节将年极端最高气温的数据乘以0.01;将极端最低气温的数据乘以0.1;年最大1d、3d、7d降雨量的数据乘以0.001;梧州水文站年最大流量的数据乘以0.00001,其他输入数据也按类似的方法进行归一化处理。

(6)年最大流量的修正梧州水文站以上的流域集水面积为32.70万km2,广西境内流域集水面积为20.24万km2,广西境内流域集水面积占梧州水文站以上的流域集水面积的61.91%。

因此,选取2003~2007年梧州水文站年最大流量和红水河的天峨水文站年最大流量,分别按式4.10计算每年的贡献率(表4.25),取其平均值作为广西西江流域极端降雨对梧州水文站年最大流量的平均贡献率,最后确定平均贡献率为76.88%。

变环境条件下的水资源保护与可持续利用研究表4.252003~2007年极端降雨对梧州水文站年最大流量的贡献率建立“年极端气温、降雨与梧州年最大流量模型”时,应把平均贡献率与梧州水文站年最大流量的乘积作为模型输入的修正年最大流量,而预测的年最大流量应该为输出的年最大流量除以平均贡献率76.88%,以克服极端气温和降雨研究范围与梧州水文站集水面积不一致的问题。

4.5.1.2年极端气温、年最大1d降雨与梧州年最大流量的BP神经网络模型(1)模型的建立以1958~1997年年极端最高气温、年极端最低气温、年最大1d降雨量与梧州水文站年最大流量作为学习样本拟合、建立“年极端气温、年最大1d降雨-梧州年最大流量BP神经网络模型”。

以梧州气象站的年极端最高气温,桂林、钦州气象站的年极端最低气温,榜圩、马陇、三门、黄冕、沙街、勾滩、天河、百寿、河池、贵港、金田、平南、大化、桂林、修仁、五将雨量站的年最大1d降雨量为输入,梧州水文站年最大流量为输出,隐含层层数取2,建立(19,p,q,1)BP神经网络模型,其中神经元数目p,q经试算分别取16和3,第一隐层、第二隐层的神经元采用tansig传递函数,输出层的神经元采用线性传递函数,训练函数选用traingdm,学习率取0.1,动量项取0.9,目标取0.0001,最大训练次数取200000。

BP网络模型参数见表4.26,结构如图4.22所示。

图4.22年极端气温、年最大1d降雨-梧州年最大流量BP模型结构图表4.26BP网络模型参数一览表从结构上分析,梧州水文站年最大流量产生过程中,年最高气温、年最低气温和各支流相应的流量都有其阈值,而极端气温和极端降雨是其输入,年最大流量是其输出,这类似于人工神经元模型中的阈值、激活值、输出等器件。

输入年最大1d降雨时选用的雨量站分布在14条支流上(表4.27),极端降雨发生后,流经14条支流汇入梧州,在这一过程中极端气温的变化影响极端降雨的蒸散发,选用的雨量站分布在年最大1d降雨四个自然分区的Ⅱ、Ⅲ、Ⅳ3个区。

该过程可与BP神经网络结构进行类比(表4.28),其中,14条支流相当于第一隐含层中的14个神经元,年最高气温和年最低气温相当于第一隐含层中的2个神经元,年最大1d降雨所在的3个分区相当于第二隐含层的3个神经元,年最高气温、年最低气温的影响值和各支流流量的奉献值相当于隐含层中人工神经元的阈值,从整体上来说,BP神经网络的结构已经灰箱化。

表4.27选用雨量站所在支流一览表表4.28BP神经网络构件物理意义一览表(2)训练效果分析训练样本为40个,经过113617次训练,达到精度要求。

在命令窗口执行运行命令,网络开始学习和训练,其训练过程如图4.23所示,训练结果见表4.29和图4.24。

表4.29年最大流量训练结果图4.23神经网络训练过程图图4.24年最大流量神经网络模型训练结果从图4.26可知,训练后的BP网络能较好地逼近给定的目标函数。

从训练样本检验结果(表4.5)可得:1958~1997年40年中年最大流量模拟值与实测值的相对误差小于10%和20%的分别为39年,40年,合格率为100%。

说明“年极端气温、年最大1d降雨-梧州年最大流量预测模型”的实际输出与实测结果误差很小,该模型的泛化能力较好,模拟结果较可靠。

(3)模型预测检验把1998~2007年梧州气象站的年极端最高气温,桂林、钦州气象站的年极端最低气温,榜圩、马陇、三门、黄冕、沙街、勾滩、天河、百寿、河池、贵港、金田、平南、大化、桂林、修仁、五将雨量站的年最大1d降雨量输入到“年极端气温、年最大1d降雨梧州年最大流量BP神经网络模型”。

程序运行后网络输出预测值与已知的实际值进行比较,其预测检验结果见图4.25,表4.30。

图4.25年最大流量神经网络模型预测检验结果表4.30神经网络模型预测结果与实际结果比较从预测检验结果可知:1998~2007年10年中年最大流量模拟值与实测值的相对误差小于20%的为9年,合格率为90%,效果较好。

4.5.1.3年极端气温、年最大7d降雨与梧州年最大流量的BP神经网络模型(1)模型的建立以1958~1997年年极端最高气温、年极端最低气温、年最大7d降雨量和梧州水文站年最大流量作为学习样本来拟合、建立“年极端气温、年最大7d降雨-梧州年最大流量BP神经网络模型”。

以梧州气象站的年极端最高气温,桂林、钦州气象站的年极端最低气温,凤山、都安、马陇、沙街、大湟江口、大安、大化、阳朔、五将雨量站的年最大7d降雨量为输入,梧州水文站年最大流量为输出,隐含层层数取2,建立(12,p,q,1)BP神经网络模型,其中,神经元数目p,q经试算分别取10和4,第一隐层、第二隐层的神经元采用tansig传递函数,输出层的神经元采用线性传递函数,训练函数选用traingdm,学习率取0.1,动量项取0.9,目标取0.0001,最大训练次数取200000。

BP网络模型参数见表4.31,结构如图4.26所示。

表4.31BP网络模型参数一览表图4.26年极端气温、年最大7d降雨-梧州年最大流量BP模型结构图本节输入年最大7d降雨时选用的雨量站分布在8条支流上(表4.32),在发生极端降雨后,流经8条支流汇入梧州,在这一过程中极端气温的变化影响极端降雨的蒸散发,且选用的雨量站分布在年最大7d降雨四个自然分区的Ⅰ、Ⅱ、Ⅲ、Ⅳ4个区中。

该过程可与BP神经网络结构进行类比(表4.33),其中,8条支流相当于第一隐含层中的8个神经元,年最高气温和年最低气温相当于第一隐含层中的2个神经元,年最大7d降雨所在的4个分区相当于第二隐含层的4个神经元,整体上来说,BP神经网络的结构已经灰箱化。

表4.32选用雨量站所在支流一览表表4.33BP神经网络构件物理意义一览表(2)训练效果分析训练样本为40个,经过160876次的训练,达到精度要求,在命令窗口执行运行命令,网络开始学习和训练,其训练过程如图4.27所示,训练结果见表4.34,图4.28。

图4.27神经网络训练过程图表4.34年最大流量训练结果图4.28年最大流量神经网络模型训练结果从图4.28可知,训练后的BP网络能较好地逼近给定的目标函数。

由训练样本检验结果(表4.34)可得:1958~1997年40年中年最大流量模拟值与实测值的相对误差小于10%和20%的,分别为38年、40年,合格率为100%。

说明“年极端气温、年最大7d降雨-梧州年最大流量BP神经网络模型”的泛化能力较好,模拟的结果较可靠。

(3)模型预测检验把1998~2007年梧州气象站的年极端最高气温,桂林、钦州气象站的年极端最低气温,凤山、都安、马陇、沙街、大湟江口、大安、大化、阳朔、五将雨量站的年最大7d降雨量输入到“年极端气温、年最大7d降雨-梧州年最大流量BP神经网络模型”。

程序运行后网络输出预测值与已知的实际值进行比较,其预测结果见图4.29和表4.35。

图4.29年最大流量神经网络模型预测检验结果表4.35神经网络模型预测结果与实际结果比较由预测检验结果可知:1998~2007年10年中年最大流量模拟值与实测值的相对误差小于20%的为7年,合格率为70%,效果较好。

4.5.1.4梧州年最大流量-年最高水位的BP神经网络模型(1)模型的建立以1941~1997年梧州水文站的年最大流量与年最高水位作为学习样本来拟合、建立梧州水文站的“年最大流量-年最高水位BP神经网络模型”。

以年最大流量为输入,年最高水位为输出,隐含层层数取1,建立(1,q,1)BP神经网络模型,其中,神经元数目q经试算取7,隐含层、输出层的神经元采用线性传递函数,训练函数选用traingdm,学习率取0.1,动量项取0.9,目标取0.00001,最大训练次数取200000。

BP网络模型参数见表4.36,结构如图4.30所示。

表4.36BP网络模型参数一览表图4.30梧州年最大流量—年最高水位BP模型结构图广西西江流域主要河流有南盘江、红水河、黔浔江、郁江、柳江、桂江、贺江。

7条主要河流相当于隐含层中的7个神经元(表4.37),整体上来说,BP神经网络的结构已经灰箱化。

表4.37BP神经网络构件物理意义一览表(2)训练效果分析训练样本为57个,经过3327次训练,误差下降梯度已达到最小值,但误差为3.00605×10-5,未达到精度要求。

在命令窗口执行运行命令,网络开始学习和训练,其训练过程如图4.31所示,训练结果见图4.32和表4.38。

表4.38年最高水位训练结果从图4.32和表4.19可看出,训练后的BP网络能较好地逼近给定的目标函数。

对于训练样本,从检验结果可知:1941~1997年57年中年最高水位模拟值与实测值的相对误差小于10%和20%的分别为56a,57a,合格率为100%。

说明“年最大流量-年最高水位BP神经网络模型”的实际输出与实测结果误差很小,该模型的泛化能力较好,模拟的结果比较可靠。

图4.31神经网络训练过程图图4.32年最高水位神经网络模型训练结果(3)模型预测检验把1998~2007年梧州水文站年最大流量输入到“年最大流量-年最高水位BP神经网络模型”。

程序运行后网络输出预测值与已知的实际值进行比较,其预测结果见图4.33,表4.39。

表4.39神经网络模型预测结果与实际结果比较从预测检验结果可知:1998~2007年10年中,年最高水位模拟值与实测值的相对误差小于20%的为10年,合格率为100%,效果较好。

图4.33年最高水位量神经网络模型预测检验结果。

用MATLAB建立bp神经网络模型,求高手,在线等

Matlab神经网络工具箱提供了一系列用于建立和训练bp神经网络模型的函数命令,很难一时讲全。下面仅以一个例子列举部分函数的部分用法。

更多的函数和用法请仔细查阅NeuralNetworkToolbox的帮助文档。例子:利用bp神经网络模型建立z=sin(x+y)的模型并检验效果%第1步。

随机生成200个采样点用于训练x=unifrnd(-5,5,1,200);y=unifrnd(-5,5,1,200);z=sin(x+y);%第2步。建立神经网络模型。

其中参数一是输入数据的范围,参数二是各层神经元数量,参数三是各层传递函数类型。

N=newff([-55;-55],[5,5,1],{'tansig','tansig','purelin'});%第3步。训练。这里用批训练函数train。也可用adapt函数进行增长训练。

N=train(N,[x;y],z);%第4步。检验训练成果。

[X,Y]=meshgrid(linspace(-5,5));Z=sim(N,[X(:),Y(:)]');figuremesh(X,Y,reshape(Z,100,100));holdon;plot3(x,y,z,'.')。

求一个bp神经网络预测模型的MATLAB程序

BP神经网络预测的步骤:1、输入和输出数据。2、创建网络。fitnet()3、划分训练,测试和验证数据的比例。

net.divideParam.trainRatio; net.divideParam.valRatio;net.divideParam.testRatio4、训练网络。

train()5、根据图表判断拟合好坏。ploterrcorr();parcorr();plotresponse()6、预测往后数据。net()7、画出预测图。

plot()执行下列命令BP_prediction得到结果:[2016,14749.呵呵6798210144042969][2017,15092.847215188667178153991699219][2018,15382.150005970150232315063476562][2019, 15398.85769711434841156005859375][2020,15491.935150090605020523071289062]。

BP人工神经网络

人工神经网络(artificialneuralnetwork,ANN)指由大量与自然神经系统相类似的神经元联结而成的网络,是用工程技术手段模拟生物网络结构特征和功能特征的一类人工系统。

神经网络不但具有处理数值数据的一般计算能力,而且还具有处理知识的思维、学习、记忆能力,它采用类似于“黑箱”的方法,通过学习和记忆,找出输入、输出变量之间的非线性关系(映射),在执行问题和求解时,将所获取的数据输入到已经训练好的网络,依据网络学到的知识进行网络推理,得出合理的答案与结果。

岩土工程中的许多问题是非线性问题,变量之间的关系十分复杂,很难用确切的数学、力学模型来描述。

工程现场实测数据的代表性与测点的位置、范围和手段有关,有时很难满足传统统计方法所要求的统计条件和规律,加之岩土工程信息的复杂性和不确定性,因而运用神经网络方法实现岩土工程问题的求解是合适的。

BP神经网络模型是误差反向传播(BackPagation)网络模型的简称。它由输入层、隐含层和输出层组成。

网络的学习过程就是对网络各层节点间连接权逐步修改的过程,这一过程由两部分组成:正向传播和反向传播。

正向传播是输入模式从输入层经隐含层处理传向输出层;反向传播是均方误差信息从输出层向输入层传播,将误差信号沿原来的连接通路返回,通过修改各层神经元的权值,使得误差信号最小。

BP神经网络模型在建立及应用过程中,主要存在的不足和建议有以下四个方面:(1)对于神经网络,数据愈多,网络的训练效果愈佳,也更能反映实际。

但在实际操作中,由于条件的限制很难选取大量的样本值进行训练,样本数量偏少。(2)BP网络模型其计算速度较慢、无法表达预测量与其相关参数之间亲疏关系。

(3)以定量数据为基础建立模型,若能收集到充分资料,以定性指标(如基坑降水方式、基坑支护模式、施工工况等)和一些易获取的定量指标作为输入层,以评价等级作为输出层,这样建立的BP网络模型将更准确全面。

(4)BP人工神经网络系统具有非线性、智能的特点。

较好地考虑了定性描述和定量计算、精确逻辑分析和非确定性推理等方面,但由于样本不同,影响要素的权重不同,以及在根据先验知识和前人的经验总结对定性参数进行量化处理,必然会影响评价的客观性和准确性。

因此,在实际评价中只有根据不同的基坑施工工况、不同的周边环境条件,应不同用户的需求,选择不同的分析指标,才能满足复杂工况条件下地质环境评价的要求,取得较好的应用效果。

bp神经网络的算法步骤,BP神经网络算法流程图相关推荐

  1. 标准K-means算法的缺陷、K-mean++初始化算法、初始化算法步骤、Kmeans++算法实现

    标准K-means算法的缺陷.K-mean++初始化算法.初始化算法步骤.Kmeans++算法实现 目录 标准K-means算法的缺陷.K-mean&

  2. 人工神经网络的训练步骤,人工神经网络建模步骤

    BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...

  3. 训练神经网络的详细步骤,人工神经网络训练过程

    BP人工神经网络方法 (一)方法原理人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统.理论和实践表明,在信息处理方面,神经网络方法比传统模式识别方法更具有优势. 人 ...

  4. 训练神经网络的详细步骤,提高神经网络训练速度

    Hopfield 神经网络有哪几种训练方法 人工神经网络模型主要考虑网络连接的拓扑结构.神经元的特征.学习规则等.目前,已有近40种神经网络模型,其中有反传网络.感知器.自组织映射.Hopfield网 ...

  5. 卷积神经网络的一般步骤,卷积神经网络采用卷积

    1.卷积神经网络cnn究竟是怎样一步一步工作的 用一个卷积核滑动图片来提取某种特征(比如某个方向的边),然后激活函数用ReLU来压制梯度弥散.对得到的结果用另一个卷积核继续提取+reLU,然后池化(保 ...

  6. 人工蜂群算法python_人工蜂群算法简介与程序分析

    目前人工蜂群算法主要分为基于婚配行为与基于釆蜜行为两大类,本文研究的是基于釆蜜行为的人工蜂群算法. 蜜蜂采蜜 自然界中的蜜蜂总能在任何环境下以极高的效率找到优质蜜源,且能适应环境的改变.蜜蜂群的采蜜系 ...

  7. 机器学习——人工神经网络之后向传播算法(BP算法)

    目录 一.后向传播算法的本质--梯度下降法求局部极值 1.w迭代公式的合理性 二.后向传播算法的推导(以二层神经网络为例) 1.问题描述(创建目标函数loss函数,求参数) 2.求解参数的流程(四步曲 ...

  8. 吴恩达|机器学习作业4.0神经网络反向传播(BP算法)

    4.0.神经网络学习 1)题目: 在本练习中,您将实现神经网络的反向传播算法,并将其应用于手写数字识别任务.在之前的练习中,已经实现了神经网络的前馈传播,并使用Andrew Ng他们提供的权值来预测手 ...

  9. BP学习算法-构建三层神经网络

    引: 人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),是一种模仿动物神经网络行为特征, ...

  10. 基于帝企鹅算法优化BP神经网络实现数据预测matlab代码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

最新文章

  1. mysql的条件替换_MySQLwhere条件替换疑问?
  2. matlab生成wav文件并用python验证
  3. [转]数据库开发21条军规
  4. Oracle-USERS表空间解读
  5. 跨进程访问(AIDL服务)
  6. faster rcnn源码解读(三)train_faster_rcnn_alt_opt.py
  7. 平板电脑有必要买吗_华为平板M6值得买吗
  8. FPGA(7)--有限状态机--交通灯
  9. 游戏接腾讯平台的一些锁事
  10. 5.20 考试 20 未完
  11. 对python生成的EXE文件 进行反编译
  12. 斐那契波黄金数列MATLAB,广义斐波那契数列的性质及推广
  13. Win11+RTX3060显卡 配置cuda和cudnn
  14. hive计算航班某型号个数_机型分配就是把航班集合按照机型分割成子集。( )...
  15. ukf(无迹卡尔曼滤波)算法的matlab程序.
  16. 年轻代和年老代分配过大 或 过小
  17. 哈密顿系统_Matlab
  18. 在gentoo上使用sway
  19. 每日新闻:腾讯内部架构大调整;首个网民网络安全感满意度调查报告发布-网民满意度总体中等偏上;马斯克将辞任特斯拉董事长...
  20. Centos各个版本下载地址

热门文章

  1. firefox硬件加速 linux,火狐浏览器硬件加速相关资料以及开启关闭火狐硬件加速方法...
  2. IP城域网域内组播功能测试
  3. Ubuntu系统安装搜狗(sougou for linux)输入法详细教程
  4. telnet登陆入门
  5. 现在谁还会LOL钻石网吧特权?
  6. Netbean6.1中svn配置
  7. php 微信 爬虫 源码,PHP实现微信开放平台扫码登录源码下载
  8. 初中计算机课件flash,初中数学flash课件(共100个)
  9. 【算法】格雷码(Gray Code)与8421二进制码之间的转换算法 (LeetCode89)
  10. Linux版本怎么设置指纹,Linux上使用Thinkpad指纹识别