BP(Back Propagation)网络是1986年由Rumelhart和McCelland为首的科学家小组提出,是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。
BP网络能学习和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。
BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。人工神经网络就是模拟人思维的第二种方式。
这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
人工神经网络首先要以一定的学习准则进行学习,然后才能工作。现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。
所以网络学习的准则应该是:如果网络作出错误的的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。
首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图象模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。
在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能作出正确的判断。
如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。
如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。
这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够作出迅速、准确的判断和识别。
一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。如图所示拓扑结构的单隐层前馈网络,一般称为三层前馈网或三层感知器,即:输入层、中间层(也称隐层)和输出层。
它的特点是:各层神经元仅与相邻层神经元之间相互全连接,同层内神经元之间无连接,各层神经元之间无反馈连接,构成具有层次结构的前馈型神经网络系统。
单计算层前馈神经网络只能求解线性可分问题,能够求解非线性问题的网络必须是具有隐层的多层神经网络。神经网络的研究内容相当广泛,反映了多学科交叉技术领域的特点。
主要的研究工作集中在以下几个方面:(1)生物原型研究。从生理学、心理学、解剖学、脑科学、病理学等生物科学方面研究神经细胞、神经网络、神经系统的生物原型结构及其功能机理。(2)建立理论模型。
根据生物原型的研究,建立神经元、神经网络的理论模型。其中包括概念模型、知识模型、物理化学模型、数学模型等。(3)网络模型与算法研究。
在理论模型研究的基础上构作具体的神经网络模型,以实现计算机模拟或准备制作硬件,包括网络学习算法的研究。这方面的工作也称为技术模型研究。(4)人工神经网络应用系统。
在网络模型与算法研究的基础上,利用人工神经网络组成实际的应用系统,例如,完成某种信号处理或模式识别的功能、构作专家系统、制成机器人等等。
纵观当代新兴科学技术的发展历史,人类在征服宇宙空间、基本粒子,生命起源等科学技术领域的进程中历经了崎岖不平的道路。我们也会看到,探索人脑功能和神经网络的研究将伴随着重重困难的克服而日新月异。
神经网络可以用作分类、聚类、预测等。神经网络需要有一定量的历史数据,通过历史数据的训练,网络可以学习到数据中隐含的知识。
在你的问题中,首先要找到某些问题的一些特征,以及对应的评价数据,用这些数据来训练神经网络。虽然BP网络得到了广泛的应用,但自身也存在一些缺陷和不足,主要包括以下几个方面的问题。
首先,由于学习速率是固定的,因此网络的收敛速度慢,需要较长的训练时间。
对于一些复杂问题,BP算法需要的训练时间可能非常长,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。
其次,BP算法可以使权值收敛到某个值,但并不保证其为误差平面的全局最小值,这是因为采用梯度下降法可能产生一个局部最小值。对于这个问题,可以采用附加动量法来解决。
再次,网络隐含层的层数和单元数的选择尚无理论上的指导,一般是根据经验或者通过反复实验确定。因此,网络往往存在很大的冗余性,在一定程度上也增加了网络学习的负担。最后,网络的学习和记忆具有不稳定性。
也就是说,如果增加了学习样本,训练好的网络就需要从头开始训练,对于以前的权值和阈值是没有记忆的。但是可以将预测、分类或聚类做的比较好的权值保存。
谷歌人工智能写作项目:神经网络伪原创
下面是几个仿真实验,用了不同的训练函数:1.创建BP网络的学习函数,训练函数和性能函数都采用default值,分别为learngdm,trainlm和mse时的逼近结果:由此可见,进过200次训练后,虽然网络的性能还没有为0,但是输出均方误差已经很小了,MSE=6.72804e-0.06,显示的结果也证明P和T之间非线性映射关系的拟合是非常精确的;2.建立一个学习函数为learnd,训练函数为traingd,和性能函数为msereg的BP网络,来完成拟合任务:可见,经过200次训练后,网络的输出误差比较大,而且网络误差的收敛速度非常慢写作猫。
这是由于训练函数traingd为单纯的梯度下降训练函数,训练速度比较慢,而且容易陷入局部最小的情况。结果显示网络精度确实比较差。
3.将训练函数修改为traingdx,该i函数也是梯度下降法训练函数,但是在训练过程中,他的学习速率是可变的在200次训练后,以msereg函数评价的网络性能为1.04725,已经不是很大,结果显示P和T之间非线性关系的拟合情况不错,网络的性能不错。
一、BP模型概述误差逆传播(Error Back-Propagation)神经网络模型简称为BP(Back-Propagation)网络模型。
Pall Werbas博士于1974年在他的博士论文中提出了误差逆传播学习算法。完整提出并被广泛接受误差逆传播学习算法的是以Rumelhart和McCelland为首的科学家小组。
他们在1986年出版“Parallel Distributed Processing,Explorations in the Microstructure of Cognition”(《并行分布信息处理》)一书中,对误差逆传播学习算法进行了详尽的分析与介绍,并对这一算法的潜在能力进行了深入探讨。
BP网络是一种具有3层或3层以上的阶层型神经网络。上、下层之间各神经元实现全连接,即下层的每一个神经元与上层的每一个神经元都实现权连接,而每一层各神经元之间无连接。
网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,神经元的激活值从输入层经各隐含层向输出层传播,在输出层的各神经元获得网络的输入响应。
在这之后,按减小期望输出与实际输出的误差的方向,从输入层经各隐含层逐层修正各连接权,最后回到输入层,故得名“误差逆传播学习算法”。
随着这种误差逆传播修正的不断进行,网络对输入模式响应的正确率也不断提高。
BP网络主要应用于以下几个方面:1)函数逼近:用输入模式与相应的期望输出模式学习一个网络逼近一个函数;2)模式识别:用一个特定的期望输出模式将它与输入模式联系起来;3)分类:把输入模式以所定义的合适方式进行分类;4)数据压缩:减少输出矢量的维数以便于传输或存储。
在人工神经网络的实际应用中,80%~90%的人工神经网络模型采用BP网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分。
二、BP模型原理下面以三层BP网络为例,说明学习和应用的原理。
1.数据定义P对学习模式(xp,dp),p=1,2,…,P;输入模式矩阵X[N][P]=(x1,x2,…,xP);目标模式矩阵d[M][P]=(d1,d2,…,dP)。
三层BP网络结构输入层神经元节点数S0=N,i=1,2,…,S0;隐含层神经元节点数S1,j=1,2,…,S1;神经元激活函数f1[S1];权值矩阵W1[S1][S0];偏差向量b1[S1]。
输出层神经元节点数S2=M,k=1,2,…,S2;神经元激活函数f2[S2];权值矩阵W2[S2][S1];偏差向量b2[S2]。
学习参数目标误差ϵ;初始权更新值Δ0;最大权更新值Δmax;权更新值增大倍数η+;权更新值减小倍数η-。
2.误差函数定义对第p个输入模式的误差的计算公式为中国矿产资源评价新技术与评价新模型y2kp为BP网的计算输出。
3.BP网络学习公式推导BP网络学习公式推导的指导思想是,对网络的权值W、偏差b修正,使误差函数沿负梯度方向下降,直到网络输出误差精度达到目标精度要求,学习结束。
各层输出计算公式输入层y0i=xi,i=1,2,…,S0;隐含层中国矿产资源评价新技术与评价新模型y1j=f1(z1j),j=1,2,…,S1;输出层中国矿产资源评价新技术与评价新模型y2k=f2(z2k),k=1,2,…,S2。
输出节点的误差公式中国矿产资源评价新技术与评价新模型对输出层节点的梯度公式推导中国矿产资源评价新技术与评价新模型E是多个y2m的函数,但只有一个y2k与wkj有关,各y2m间相互独立。
其中中国矿产资源评价新技术与评价新模型则中国矿产资源评价新技术与评价新模型设输出层节点误差为δ2k=(dk-y2k)·f2′(z2k),则中国矿产资源评价新技术与评价新模型同理可得中国矿产资源评价新技术与评价新模型对隐含层节点的梯度公式推导中国矿产资源评价新技术与评价新模型E是多个y2k的函数,针对某一个w1ji,对应一个y1j,它与所有的y2k有关。
因此,上式只存在对k的求和,其中中国矿产资源评价新技术与评价新模型则中国矿产资源评价新技术与评价新模型设隐含层节点误差为中国矿产资源评价新技术与评价新模型则中国矿产资源评价新技术与评价新模型同理可得中国矿产资源评价新技术与评价新模型4.采用弹性BP算法(RPROP)计算权值W、偏差b的修正值ΔW,Δb1993年德国 Martin Riedmiller和Heinrich Braun 在他们的论文“A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm”中,提出Resilient Backpropagation算法——弹性BP算法(RPROP)。
这种方法试图消除梯度的大小对权步的有害影响,因此,只有梯度的符号被认为表示权更新的方向。
权改变的大小仅仅由权专门的“更新值” 确定中国矿产资源评价新技术与评价新模型其中 表示在模式集的所有模式(批学习)上求和的梯度信息,(t)表示t时刻或第t次学习。
权更新遵循规则:如果导数是正(增加误差),这个权由它的更新值减少。如果导数是负,更新值增加。中国矿产资源评价新技术与评价新模型RPROP算法是根据局部梯度信息实现权步的直接修改。
对于每个权,我们引入它的各自的更新值 ,它独自确定权更新值的大小。
这是基于符号相关的自适应过程,它基于在误差函数E上的局部梯度信息,按照以下的学习规则更新中国矿产资源评价新技术与评价新模型其中0<η-<1<η+。
在每个时刻,如果目标函数的梯度改变它的符号,它表示最后的更新太大,更新值 应由权更新值减小倍数因子η-得到减少;如果目标函数的梯度保持它的符号,更新值应由权更新值增大倍数因子η+得到增大。
为了减少自由地可调参数的数目,增大倍数因子η+和减小倍数因子η–被设置到固定值η+=1.2,η-=0.5,这两个值在大量的实践中得到了很好的效果。
RPROP算法采用了两个参数:初始权更新值Δ0和最大权更新值Δmax当学习开始时,所有的更新值被设置为初始值Δ0,因为它直接确定了前面权步的大小,它应该按照权自身的初值进行选择,例如,Δ0=0.1(默认设置)。
为了使权不至于变得太大,设置最大权更新值限制Δmax,默认上界设置为Δmax=50.0。在很多实验中,发现通过设置最大权更新值Δmax到相当小的值,例如Δmax=1.0。
我们可能达到误差减小的平滑性能。5.计算修正权值W、偏差b第t次学习,权值W、偏差b的的修正公式W(t)=W(t-1)+ΔW(t),b(t)=b(t-1)+Δb(t),其中,t为学习次数。
6.BP网络学习成功结束条件每次学习累积误差平方和中国矿产资源评价新技术与评价新模型每次学习平均误差中国矿产资源评价新技术与评价新模型当平均误差MSE<ε,BP网络学习成功结束。
7.BP网络应用预测在应用BP网络时,提供网络输入给输入层,应用给定的BP网络及BP网络学习得到的权值W、偏差b,网络输入经过从输入层经各隐含层向输出层的“顺传播”过程,计算出BP网的预测输出。
8.神经元激活函数f线性函数f(x)=x,f′(x)=1,f(x)的输入范围(-∞,+∞),输出范围(-∞,+∞)。一般用于输出层,可使网络输出任何值。
S型函数S(x)中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围(0,1)。f′(x)=f(x)[1-f(x)],f′(x)的输入范围(-∞,+∞),输出范围(0, ]。
一般用于隐含层,可使范围(-∞,+∞)的输入,变成(0,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。
在用于模式识别时,可用于输出层,产生逼近于0或1的二值输出。双曲正切S型函数中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围(-1,1)。
f′(x)=1-f(x)·f(x),f′(x)的输入范围(-∞,+∞),输出范围(0,1]。
一般用于隐含层,可使范围(-∞,+∞)的输入,变成(-1,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。
阶梯函数类型1中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围{0,1}。f′(x)=0。
类型2中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围{-1,1}。f′(x)=0。
斜坡函数类型1中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围[0,1]。中国矿产资源评价新技术与评价新模型f′(x)的输入范围(-∞,+∞),输出范围{0,1}。
类型2中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围[-1,1]。中国矿产资源评价新技术与评价新模型f′(x)的输入范围(-∞,+∞),输出范围{0,1}。
三、总体算法1.三层BP网络(含输入层,隐含层,输出层)权值W、偏差b初始化总体算法(1)输入参数X[N][P],S0,S1,f1[S1],S2,f2[S2];(2)计算输入模式X[N][P]各个变量的最大值,最小值矩阵 Xmax[N],Xmin[N];(3)隐含层的权值W1,偏差b1初始化。
情形1:隐含层激活函数f( )都是双曲正切S型函数1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];2)计算输入模式X的每个变量的范围均值向量Xmid[N];3)计算W,b的幅度因子Wmag;4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];6)计算W[S1][S0],b[S1];7)计算隐含层的初始化权值W1[S1][S0];8)计算隐含层的初始化偏差b1[S1];9))输出W1[S1][S0],b1[S1]。
情形2:隐含层激活函数f( )都是S型函数1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];2)计算输入模式X的每个变量的范围均值向量Xmid[N];3)计算W,b的幅度因子Wmag;4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];6)计算W[S1][S0],b[S1];7)计算隐含层的初始化权值W1[S1][S0];8)计算隐含层的初始化偏差b1[S1];9)输出W1[S1][S0],b1[S1]。
情形3:隐含层激活函数f( )为其他函数的情形1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];2)计算输入模式X的每个变量的范围均值向量Xmid[N];3)计算W,b的幅度因子Wmag;4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];6)计算W[S1][S0],b[S1];7)计算隐含层的初始化权值W1[S1][S0];8)计算隐含层的初始化偏差b1[S1];9)输出W1[S1][S0],b1[S1]。
(4)输出层的权值W2,偏差b2初始化1)产生[-1,1]之间均匀分布的S2×S1维随机数矩阵W2[S2][S1];2)产生[-1,1]之间均匀分布的S2×1维随机数矩阵b2[S2];3)输出W2[S2][S1],b2[S2]。
2.应用弹性BP算法(RPROP)学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b总体算法函数:Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)(1)输入参数P对模式(xp,dp),p=1,2,…,P;三层BP网络结构;学习参数。
(2)学习初始化1) ;2)各层W,b的梯度值 , 初始化为零矩阵。
(3)由输入模式X求第一次学习各层输出y0,y1,y2及第一次学习平均误差MSE(4)进入学习循环epoch=1(5)判断每次学习误差是否达到目标误差要求如果MSE<ϵ,则,跳出epoch循环,转到(12)。
(6)保存第epoch-1次学习产生的各层W,b的梯度值 , (7)求第epoch次学习各层W,b的梯度值 , 1)求各层误差反向传播值δ;2)求第p次各层W,b的梯度值 , ;3)求p=1,2,…,P次模式产生的W,b的梯度值 , 的累加。
(8)如果epoch=1,则将第epoch-1次学习的各层W,b的梯度值 , 设为第epoch次学习产生的各层W,b的梯度值 , 。
(9)求各层W,b的更新1)求权更新值Δij更新;2)求W,b的权更新值 , ;3)求第epoch次学习修正后的各层W,b。
(10)用修正后各层W、b,由X求第epoch次学习各层输出y0,y1,y2及第epoch次学习误差MSE(11)epoch=epoch+1,如果epoch≤MAX_EPOCH,转到(5);否则,转到(12)。
(12)输出处理1)如果MSE<ε,则学习达到目标误差要求,输出W1,b1,W2,b2。2)如果MSE≥ε,则学习没有达到目标误差要求,再次学习。
(13)结束3.三层BP网络(含输入层,隐含层,输出层)预测总体算法首先应用Train3lBP_RPROP( )学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b,然后应用三层BP网络(含输入层,隐含层,输出层)预测。
函数:Simu3lBP( )。1)输入参数:P个需预测的输入数据向量xp,p=1,2,…,P;三层BP网络结构;学习得到的各层权值W、偏差b。
2)计算P个需预测的输入数据向量xp(p=1,2,…,P)的网络输出 y2[S2][P],输出预测结果y2[S2][P]。四、总体算法流程图BP网络总体算法流程图见附图2。
五、数据流图BP网数据流图见附图1。
六、实例实例一 全国铜矿化探异常数据BP 模型分类1.全国铜矿化探异常数据准备在全国铜矿化探数据上用稳健统计学方法选取铜异常下限值33.1,生成全国铜矿化探异常数据。
2.模型数据准备根据全国铜矿化探异常数据,选取7类33个矿点的化探数据作为模型数据。
这7类分别是岩浆岩型铜矿、斑岩型铜矿、矽卡岩型、海相火山型铜矿、陆相火山型铜矿、受变质型铜矿、海相沉积型铜矿,另添加了一类没有铜异常的模型(表8-1)。3.测试数据准备全国化探数据作为测试数据集。
4.BP网络结构隐层数2,输入层到输出层向量维数分别为14,9、5、1。学习率设置为0.9,系统误差1e-5。没有动量项。表8-1 模型数据表续表5.计算结果图如图8-2、图8-3。
图8-2图8-3 全国铜矿矿床类型BP模型分类示意图实例二 全国金矿矿石量品位数据BP 模型分类1.模型数据准备根据全国金矿储量品位数据,选取4类34个矿床数据作为模型数据,这4类分别是绿岩型金矿、与中酸性浸入岩有关的热液型金矿、微细浸染型型金矿、火山热液型金矿(表8-2)。
2.测试数据准备模型样本点和部分金矿点金属量、矿石量、品位数据作为测试数据集。3.BP网络结构输入层为三维,隐层1层,隐层为三维,输出层为四维,学习率设置为0.8,系统误差1e-4,迭代次数5000。
表8-2 模型数据4.计算结果结果见表8-3、8-4。表8-3 训练学习结果表8-4 预测结果(部分)续表。
你的程序训练完毕后根本就没达到目标误差,就是说训练效果不好,不能进行预测,只有训练结果好了才能预测仿真,你再改一下隐含层神经元数或者训练和传递函数试试吧~另外输入层的值可以归一化也可以不归一化,归一化后在仿真之前要反归一化。
罗小波1 刘明培1,2(1.重庆邮电大学计算机学院中韩GIS研究所,重庆,400065;2.西南大学资源环境学院,重庆,400065)摘要:在网络结构给定的情况下,利用遗传算法的全局寻优能力得到一组权值和阈值作为BP神经网络的初始权值和阈值,来避免BP神经网络易陷入局部极小的缺陷,同时也可以提高网络的收敛速度。
然后再利用BP神经网络的局部寻优能力,对权值和阈值进行进一步的精细调整。实验结果表明,把这种基于遗传算法的BP神经网络应用于遥感影像监督分类,具有较高的分类精度。
关键词:BP神经网络;遗传算法;遥感影像分类1 引言随着遥感技术的快速发展,遥感技术已经广泛应用于各个领域。其中,遥感影像分类是其重要组成部分。
近年来,随着人工神经网络理论的快速发展,神经网络技术日益成为遥感影像分类中的有效手段,特别是对高光谱等影像数据,更是具有许多独特的优势。
一般我们把采用BP (Back-propogation)算法的多层感知器叫做BP 神经网络,它是目前研究得最完善、应用最广泛的神经网络之一。
与经典的最大似然法相比,BP神经网络最大的优势就是不要求训练样本正态分布。但是,它具有结构难以确定、容易陷入局部极小、不易收敛等缺陷。在本文中,网络的结构由用户根据问题的复杂度确定。
在进行网络训练之前,利用遗传算法的全局寻优能力确定网络的初始权值和阈值;然后利用BP学习算法的局部寻优能力对网络进行进一步的精细调整。最后利用训练后的网络进行遥感影像监督分类。
结果表明,基于遗传算法的BP神经网络进行遥感影像监督分类,具有较高的分类精度。2 BP 神经网络2.1 网络结构BP神经网络的结构一般包括输入层、中间隐层、输出层。
在模式识别中,输入层的神经元个数等于输入的特征个数,输出层的神经元个数等于需要分类的类别数。隐层可以为一层或多层,但一般的实际应用中一层隐层就可以满足要求。
而各隐层的神经元个数需要根据实际问题的复杂度而定。以单隐层为例,其结构示意图如图1。
为了实现一种通用的遥感影像分类手段,除了提供默认的网络结构外,还为使用者提供了根据实际问题的复杂度自行确定网络隐层数与各隐层神经元数的功能。
这为一些高级用户提供了灵活性,但这种灵活性在一定程度上增加了使用的难度,有时也需要一个实验的过程,才能取得满意的效果。
图1 BP 神经网络结构2.2 BP 学习算法算法的基本步骤如下:(1)将全部权值与节点的阈值预置为一个小的随机数。(2)加载输入与输出。在n个输入节点上加载一n维向量X,并指定每一输出节点的期望值。
每次训练可以选取新的同类或者异类样本,直到权值对各类样本达到稳定。(3)计算实际输出y1,y2,…,yn。(4)修正权值。
权值修正采用了最小均方(LMS)算法的思想,其过程是从输出节点开始,反向地向第一隐层传播由总误差诱发的权值修正。
下一时刻的互连权值Wij (t+1)由下式给出:土地信息技术的创新与土地科学技术发展:2006年中国土地学会学术年会论文集式中,j为本节点的输出;i则是隐层或者输入层节点的序号; 或者是节点i的输出,或者是外部输入;η 为学习率;α为动量率;δj为误差项,其取值有两种情况:A.若j为输出节点,则:δj=yj(1 -yj)(tj -yj)其中,tj为输出节点 j 的期望值,yj为该节点的实际输出值;B.若j为内部隐含节点,则:土地信息技术的创新与土地科学技术发展:2006年中国土地学会学术年会论文集其中k为j节点所在层之上各层的全部节点。
(5)在达到预定的误差精度或者循环次数后退出,否则,转(2)。2.3 基于遗传算法的网络学习算法遗传算法具有全局寻优、不易陷入局部极小的优点,但局部寻优的能力较差。而BP学习算法却具有局部寻优的优势。
因此,如果将两种算法结合起来构成混合训练算法,则可以相互取长补短获得较好的分类效果。
主要思路如下:(1)利用遗传算法确定最优个体A.把全部权值、阈值作为基因进行实数编码,形成具有M个基因的遗传个体结构,其中M等于所有权值、阈值的个数。
B.设定种群规模N,随机初始化这N个具有M个基因的结构。C.适应度的计算:分别用训练样本集对N组权值、阈值进行训练,得出各自网络期望输出与网络实际输出的总误差e,适应度f=1.0-e。
D.进行遗传算子操作,包括选择算子、交叉算子和变异算子,形成新的群体:其中,选择算子采用了轮盘赌的方法,交叉算子采用了两点交叉。E.反复进行C、D两步,直到满足停止条件为止。
停止条件为:超出最大代数、最优个体精度达到了规定的精度。(2)把经过 GA 优化后的最优个体进行解码操作,形成 BP 神经网络的初始权值和阈值。(3)采用BP学习算法对网络进行训练,直到满足停止条件。
停止条件为:①达到最大迭代次数;②总体误差小于规定的最小误差。网络训练结束后,把待分数据输入训练好的神经网络,进行分类,就可以得到分类结果影像图。
3 应用实例实现环境为VC+ +6.0,并基于Mapgis的二次开发平台,因为二次平台提供了一些遥感影像的基本处理函数,如底层的一些读取文件的基本操作。
实验中使用的遥感影像大小为500×500,如图1所示。该影像是一美国城市1985年的遥感影像图。
根据同地区的SPOT影像及相关资料,把该区地物类别分为8类,各类所对应的代码为:C1为水体、C2为草地、C3为绿化林、C4为裸地、C5为大型建筑物、C6为军事基地、C7为居民地、C8为其他生活设施(包括街道、道路、码头等)。
其中,居民地、军事设施、其他生活设施的光谱特征比较接近。
图1 TM 原始影像 (5,4,3 合成)在网络训练之前,经过目视解译,并结合一些相关资料,从原始图像上选取了3589个类别已知的样本组成原始样本集。
要求原始样本具有典型性、代表性,并能反映实际地物的分布情况。把原始样本集进行预处理,共得到2979个纯净样本。这些预处理后的样本就组成训练样本集。
网络训练时的波段选择为TM1、TM2、TM3、TM4、TM5、TM7 共6个波段。
另外,由于所要分类的类别数为8,因此,网络结构为:输入层节点数为6,输出层节点数为8,隐层数为1,隐层的节点数为10,然后用训练样本集对网络进行训练。
在训练网络的时候,其训练参数分别为:学习率为0.05,动量率为0.5,最小均方误差为0.1,迭代次数为1000。把训练好的网络对整幅遥感影像进行分类,其分类结果如下面图2所示。
图2 分类结果为了测试网络的分类精度,在分类完成后,需要进行网络的测试。
测试样本的选取仍然采用与选取训练样本集一样的方法在原始影像上进行选取,即结合其他资料,进行目视判读,在原始图像上随机选取类别已知的样本作为测试样本。
利用精度评价模块,把测试样本集与已分类图像进行比较,得到分类误差矩阵以及各种分类精度评价标准,如表1 所示:表1 分类误差矩阵总体精度:0.91,Kappa系数:0.90。
从表1 可以看出,采用测试样本集进行测试,大部分地物的分类精度都达到了 0.9以上,只有居民地和其他生活设施的精度没有达到,但也分别达到了0.89 和0.77,总的分类精度为0.91。
Kappa系数在遥感影像分类精度评价中应用极为广泛,在本次测试中其值为0.90。从上面的分析可以看出,利用基于遗传算法的BP神经网络进行遥感影像分类,其分类精度较高,取得了令人满意的效果。
4 结论与传统的基于统计理论的分类方法相比,BP神经网络分类不要求训练样本正态分布,并且具有复杂的非线性映射能力,更适合于日益激增的海量高光谱遥感数据的处理。
但BP神经网络也有易陷于局部极小、不易收敛等缺陷。初始权值和阈值设置不当,是引起网络易陷于局部极小、不易收敛的重要原因。
在实验中,利用遗传算法的全局寻优能力来确定BP网络的初始权值和阈值,使得所获取的初始权值和阈值是一组全局近似最优解。然后,利用BP学习算法的局部寻优能力对网络权值和阈值进行精细调整。
这样,训练后的稳定网络,不但具有较强的非线性映射能力,而且总可以得到一组均方误差最小的全局最优解。
实验表明,利用上述的基于遗传算法的BP神经网络进行遥感影像分类,只要所选取的训练样本具有代表性,能反映实际地物的分布情况,就能够得到较高的分类精度,具有较强的实际应用价值。
参考文献H.Yang et al,A Back-propagation neural networkmfor mineralogical mapping fromAVIRIS data,Int.J.Remote sensing,20 (1):97~110Arduti Alessandro,et al.Speed up learning and network optimization with extended back propogation.Neural Networks,1993,6:365~383Patrick P.Minimization methods for training feed forward neural networks.Neural Networks,1994,7:1~12Goldberg D E.Genetic algorithms in Search Optimization and Machine :Addison-Wesley,1989Rudolph Gunter.Convergence analysis of canonical genetic Transactions on Neural Networks,1994,5 (1);102~119Fang J,Xi Y.Toward design based on evolutionary .,1997,11 (2):155~161Park Y R,et al.Prediction sun spots using layered perception neural Neural Netorks,1996,7 (2):501~505杨行峻、郑君里.人工神经网络与盲信号处理[M].北京:清华出版社,2003,23~40周成虎、骆剑成等.遥感影像地学理解与分析[M].北京:科学出版社,2001,228~238王耀男.卫星遥感图像的神经网络自动识别[J].湖南大学学报,1998,61~66江东,王建华.人工神经网络在遥感中的应用与发展.国土与资源遥感,1999,13~18。
神经网络的是我的毕业论文的一部分4.人工神经网络人的思维有逻辑性和直观性两种不同的基本方式。
逻辑性的思维是指根据逻辑规则进行推理的过程;它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理。这一过程可以写成串行的指令,让计算机执行。
然而,直观性的思维是将分布式存储的信息综合起来,结果是忽然间产生想法或解决问题的办法。
这种思维方式的根本之点在于以下两点:1.信息是通过神经元上的兴奋模式分布在网络上;2.信息处理是通过神经元之间同时相互作用的动态过程来完成的。 人工神经网络就是模拟人思维的第二种方式。
这是一个非线性动力学系统,其特色在于信息的分布式存储和并行协同处理。虽然单个神经元的结构极其简单,功能有限,但大量神经元构成的网络系统所能实现的行为却是极其丰富多彩的。
4.1人工神经网络学习的原理人工神经网络首先要以一定的学习准则进行学习,然后才能工作。
现以人工神经网络对手写“A”、“B”两个字母的识别为例进行说明,规定当“A”输入网络时,应该输出“1”,而当输入为“B”时,输出为“0”。
所以网络学习的准则应该是:如果网络做出错误的判决,则通过网络的学习,应使得网络减少下次犯同样错误的可能性。
首先,给网络的各连接权值赋予(0,1)区间内的随机值,将“A”所对应的图像模式输入给网络,网络将输入模式加权求和、与门限比较、再进行非线性运算,得到网络的输出。
在此情况下,网络输出为“1”和“0”的概率各为50%,也就是说是完全随机的。这时如果输出为“1”(结果正确),则使连接权值增大,以便使网络再次遇到“A”模式输入时,仍然能做出正确的判断。
如果输出为“0”(即结果错误),则把网络连接权值朝着减小综合输入加权值的方向调整,其目的在于使网络下次再遇到“A”模式输入时,减小犯同样错误的可能性。
如此操作调整,当给网络轮番输入若干个手写字母“A”、“B”后,经过网络按以上学习方法进行若干次学习后,网络判断的正确率将大大提高。
这说明网络对这两个模式的学习已经获得了成功,它已将这两个模式分布地记忆在网络的各个连接权值上。当网络再次遇到其中任何一个模式时,能够做出迅速、准确的判断和识别。
一般说来,网络中所含的神经元个数越多,则它能记忆、识别的模式也就越多。
4.2人工神经网络的优缺点人工神经网络由于模拟了大脑神经元的组织方式而具有了人脑功能的一些基本特征,为人工智能的研究开辟了新的途径,神经网络具有的优点在于:(1)并行分布性处理因为人工神经网络中的神经元排列并不是杂乱无章的,往往是分层或以一种有规律的序列排列,信号可以同时到达一批神经元的输入端,这种结构非常适合并行计算。
同时如果将每一个神经元看作是一个小的处理单元,则整个系统可以是一个分布式计算系统,这样就避免了以往的“匹配冲突”,“组合爆炸”和“无穷递归”等题,推理速度快。
(2)可学习性一个相对很小的人工神经网络可存储大量的专家知识,并且能根据学习算法,或者利用样本指导系统来模拟现实环境(称为有教师学习),或者对输入进行自适应学习(称为无教师学习),不断地自动学习,完善知识的存储。
(3)鲁棒性和容错性由于采用大量的神经元及其相互连接,具有联想记忆与联想映射能力,可以增强专家系统的容错能力,人工神经网络中少量的神经元发生失效或错误,不会对系统整体功能带来严重的影响。
而且克服了传统专家系统中存在的“知识窄台阶”问题。(4)泛化能力人工神经网络是一类大规模的非线形系统,这就提供了系统自组织和协同的潜力。它能充分逼近复杂的非线形关系。
当输入发生较小变化,其输出能够与原输入产生的输出保持相当小的差距。
(5)具有统一的内部知识表示形式,任何知识规则都可以通过对范例的学习存储于同一个神经网络的各连接权值中,便于知识库的组织管理,通用性强。
虽然人工神经网络有很多优点,但基于其固有的内在机理,人工神经网络也不可避免的存在自己的弱点:(1)最严重的问题是没能力来解释自己的推理过程和推理依据。
(2)神经网络不能向用户提出必要的询问,而且当数据不充分的时候,神经网络就无法进行工作。(3)神经网络把一切问题的特征都变为数字,把一切推理都变为数值计算,其结果势必是丢失信息。
(4)神经网络的理论和学习算法还有待于进一步完善和提高。4.3神经网络的发展趋势及在柴油机故障诊断中的可行性神经网络为现代复杂大系统的状态监测和故障诊断提供了全新的理论方法和技术实现手段。
神经网络专家系统是一类新的知识表达体系,与传统专家系统的高层逻辑模型不同,它是一种低层数值模型,信息处理是通过大量的简单处理元件(结点) 之间的相互作用而进行的。
由于它的分布式信息保持方式,为专家系统知识的获取与表达以及推理提供了全新的方式。
它将逻辑推理与数值运算相结合,利用神经网络的学习功能、联想记忆功能、分布式并行信息处理功能,解决诊断系统中的不确定性知识表示、获取和并行推理等问题。
通过对经验样本的学习,将专家知识以权值和阈值的形式存储在网络中,并且利用网络的信息保持性来完成不精确诊断推理,较好地模拟了专家凭经验、直觉而不是复杂的计算的推理过程。
但是,该技术是一个多学科知识交叉应用的领域,是一个不十分成熟的学科。一方面,装备的故障相当复杂;另一方面,人工神经网络本身尚有诸多不足之处:(1)受限于脑科学的已有研究成果。
由于生理实验的困难性,目前对于人脑思维与记忆机制的认识还很肤浅。(2)尚未建立起完整成熟的理论体系。
目前已提出了众多的人工神经网络模型,归纳起来,这些模型一般都是一个由结点及其互连构成的有向拓扑网,结点间互连强度所构成的矩阵,可通过某种学习策略建立起来。但仅这一共性,不足以构成一个完整的体系。
这些学习策略大多是各行其是而无法统一于一个完整的框架之中。(3)带有浓厚的策略色彩。这是在没有统一的基础理论支持下,为解决某些应用,而诱发出的自然结果。(4)与传统计算技术的接口不成熟。
人工神经网络技术决不能全面替代传统计算技术,而只能在某些方面与之互补,从而需要进一步解决与传统计算技术的接口问题,才能获得自身的发展。
虽然人工神经网络目前存在诸多不足,但是神经网络和传统专家系统相结合的智能故障诊断技术仍将是以后研究与应用的热点。它最大限度地发挥两者的优势。
神经网络擅长数值计算,适合进行浅层次的经验推理;专家系统的特点是符号推理,适合进行深层次的逻辑推理。
智能系统以并行工作方式运行,既扩大了状态监测和故障诊断的范围,又可满足状态监测和故障诊断的实时性要求。既强调符号推理,又注重数值计算,因此能适应当前故障诊断系统的基本特征和发展趋势。
随着人工神经网络的不断发展与完善,它将在智能故障诊断中得到广泛的应用。根据神经网络上述的各类优缺点,目前有将神经网络与传统的专家系统结合起来的研究倾向,建造所谓的神经网络专家系统。
理论分析与使用实践表明,神经网络专家系统较好地结合了两者的优点而得到更广泛的研究和应用。离心式制冷压缩机的构造和工作原理与离心式鼓风机极为相似。
但它的工作原理与活塞式压缩机有根本的区别,它不是利用汽缸容积减小的方式来提高汽体的压力,而是依靠动能的变化来提高汽体压力。
离心式压缩机具有带叶片的工作轮,当工作轮转动时,叶片就带动汽体运动或者使汽体得到动能,然后使部分动能转化为压力能从而提高汽体的压力。
这种压缩机由于它工作时不断地将制冷剂蒸汽吸入,又不断地沿半径方向被甩出去,所以称这种型式的压缩机为离心式压缩机。其中根据压缩机中安装的工作轮数量的多少,分为单级式和多级式。
如果只有一个工作轮,就称为单级离心式压缩机,如果是由几个工作轮串联而组成,就称为多级离心式压缩机。在空调中,由于压力增高较少,所以一般都是采用单级,其它方面所用的离心式制冷压缩机大都是多级的。
单级离心式制冷压缩机的构造主要由工作轮、扩压器和蜗壳等所组成。
压缩机工作时制冷剂蒸汽由吸汽口轴向进入吸汽室,并在吸汽室的导流作用引导由蒸发器(或中间冷却器)来的制冷剂蒸汽均匀地进入高速旋转的工作轮3(工作轮也称叶轮,它是离心式制冷压缩机的重要部件,因为只有通过工作轮才能将能量传给汽体)。
汽体在叶片作用下,一边跟着工作轮作高速旋转,一边由于受离心力的作用,在叶片槽道中作扩压流动,从而使汽体的压力和速度都得到提高。
由工作轮出来的汽体再进入截面积逐渐扩大的扩压器4(因为汽体从工作轮流出时具有较高的流速,扩压器便把动能部分地转化为压力能,从而提高汽体的压力)。汽体流过扩压器时速度减小,而压力则进一步提高。
经扩压器后汽体汇集到蜗壳中,再经排气口引导至中间冷却器或冷凝器中。
二、离心式制冷压缩机的特点与特性 离心式制冷压缩机与活塞式制冷压缩机相比较,具有下列优点: (1)单机制冷量大,在制冷量相同时它的体积小,占地面积少,重量较活塞式轻5~8倍。
(2)由于它没有汽阀活塞环等易损部件,又没有曲柄连杆机构,因而工作可靠、运转平稳、噪音小、操作简单、维护费用低。 (3)工作轮和机壳之间没有摩擦,无需润滑。
故制冷剂蒸汽与润滑油不接触,从而提高了蒸发器和冷凝器的传热性能。 (4)能经济方便的调节制冷量且调节的范围较大。 (5)对制冷剂的适应性差,一台结构一定的离心式制冷压缩机只能适应一种制冷剂。
(6)由于适宜采用分子量比较大的制冷剂,故只适用于大制冷量,一般都在25~30万大卡/时以上。如制冷量太少,则要求流量小,流道窄,从而使流动阻力大,效率低。
但近年来经过不断改进,用于空调的离心式制冷压缩机,单机制冷量可以小到10万大卡/时左右。 制冷与冷凝温度、蒸发温度的关系。
由物理学可知,回转体的动量矩的变化等于外力矩,则 T=m(C2UR2-C1UR1) 两边都乘以角速度ω,得 Tω=m(C2UωR2-C1UωR1) 也就是说主轴上的外加功率N为: N=m(U2C2U-U1C1U) 上式两边同除以m则得叶轮给予单位质量制冷剂蒸汽的功即叶轮的理论能量头。
U2 C2 ω2 C2U R1 R2 ω1 C1 U1 C2r β 离心式制冷压缩机的特性是指理论能量头与流量之间变化关系,也可以表示成制冷 W=U2C2U-U1C1U≈U2C2U (因为进口C1U≈0) 又C2U=U2-C2rctgβ C2r=Vυ1/(A2υ2) 故有 W= U22(1- Vυ1 ctgβ) A2υ2U2 式中:V—叶轮吸入蒸汽的容积流量(m3/s) υ1υ2 ——分别为叶轮入口和出口处的蒸汽比容(m3/kg) A2、U2—叶轮外缘出口面积(m2)与圆周速度(m/s) β—叶片安装角 由上式可见,理论能量头W与压缩机结构、转速、冷凝温度、蒸发温度及叶轮吸入蒸汽容积流量有关。
对于结构一定、转速一定的压缩机来说,U2、A2、β皆为常量,则理论能量头W仅与流量V、蒸发温度、冷凝温度有关。
按照离心式制冷压缩机的特性,宜采用分子量比较大的制冷剂,目前离心式制冷机所用的制冷剂有F—11、F—12、F—22、F—113和F—114等。
我国目前在空调用离心式压缩机中应用得最广泛的是F—11和F—12,且通常是在蒸发温度不太低和大制冷量的情况下,选用离心式制冷压缩机。
此外,在石油化学工业中离心式的制冷压缩机则采用丙烯、乙烯作为制冷剂,只有制冷量特别大的离心式压缩机才用氨作为制冷剂。
三、离心式制冷压缩机的调节 离心式制冷压缩机和其它制冷设备共同构成一个能量供给与消耗的统一系统。
制冷机组在运行时,只有当通过压缩机的制冷剂的流量与通过设备的流量相等时,以及压缩机所产生的能量头与制冷设备的阻力相适应时,制冷系统的工况才能保持稳定。
但是制冷机的负荷总是随外界条件与用户对冷量的使用情况而变化的,因此为了适应用户对冷负荷变化的需要和安全经济运行,就需要根据外界的变化对制冷机组进行调节,离心式制冷机组制冷量的调节有:1°改变压缩机的转速;2°采用可转动的进口导叶;3°改变冷凝器的进水量;4°进汽节流等几种方式,其中最常用的是转动进口导叶调节和进汽节流两种调节方法。
所谓转动进口导叶调节,就是转动压缩机进口处的导流叶片以使进入到叶轮去的汽体产生旋绕,从而使工作轮加给汽体的动能发生变化来调节制冷量。
所谓进汽节流调节,就是在压缩机前的进汽管道上安装一个调节阀,如要改变压缩机的工况时,就调节阀门的大小,通过节流使压缩机进口的压力降低,从而实现调节制冷量。
离心式压缩机制冷量的调节最经济有效的方法就是改变进口导叶角度,以改变蒸汽进入叶轮的速度方向(C1U)和流量V。但流量V必须控制在稳定工作范围内,以免效率下降。
由于目前研究的各种数学模型或多或少存在使用条件的局限性,或使用方法的复杂性等问题,预测效果均不十分理想,距离实际应用仍有较大差距。
NNT是Matlab 中较为重要的一个工具箱,在实际应用中,BP 网络用的最广泛。
神经网络具有综合能力强,对数据的要求不高,适时学习等突出优点,其操作简便,节省时间,网络初学者即使不了解其算法的本质,也可以直接应用功能丰富的函数来实现自己的目的。
因此,易于被基层单位预防工作者掌握和应用。
以下几个问题是建立理想的因素与疾病之间的神经网络模型的关键:(1)资料选取应尽可能地选取所研究地区系统连续的因素与疾病资料,最好包括有疾病高发年和疾病低发年的数据。
在收集影响因素时,要抓住主要影响伤寒、副伤寒的发病因素。
(2)疾病发病率分级神经网络预测法是按发病率高低来进行预测,在定义发病率等级时,要结合专业知识及当地情况而定,并根据网络学习训练效果而适时调整,以使网络学习训练达到最佳效果。
(3)资料处理问题在实践中发现,资料的特征往往很大程度地影响网络学习和训练的稳定性,因此,数据的应用、纳入、排出问题有待于进一步研究。
6.3.1 人工神经网络的基本原理人工神经网络(ANN)是近年来发展起来的十分热门的交叉学科,它涉及生物、电子、计算机、数学和物理等学科,有着广泛的应用领域。
人工神经网络是一种自适应的高度非线性动力系统,在网络计算的基础上,经过多次重复组合,能够完成多维空间的映射任务。
神经网络通过内部连接的自组织结构,具有对数据的高度自适应能力,由计算机直接从实例中学习获取知识,探求解决问题的方法,自动建立起复杂系统的控制规律及其认知模型。
人工神经网络就其结构而言,一般包括输入层、隐含层和输出层,不同的神经网络可以有不同的隐含层数,但他们都只有一层输入和一层输出。
神经网络的各层又由不同数目的神经元组成,各层神经元数目随解决问题的不同而有不同的神经元个数。
6.3.2 BP神经网络模型BP网络是在1985年由PDP小组提出的反向传播算法的基础上发展起来的,是一种多层次反馈型网络(图6.17),它在输入和输出之间采用多层映射方式,网络按层排列,只有相邻层的节点直接相互连接,传递之间信息。
在正向传播中,输入信息从输入层经隐含层逐层处理,并传向输出层,每层神经元的状态只影响下一层神经元的状态。
如果输出层不能得到期望的输出结果,则转入反向传播,将误差信号沿原来的连同通路返回,通过修改各层神经元的权值,使误差信号最小。
BP网络的学习算法步骤如下(图6.18):图6.17 BP神经网络示意图图6.18 BP算法流程图第一步:设置初始参数ω和θ,(ω为初始权重,θ为临界值,均随机设为较小的数)。
第二步:将已知的样本加到网络上,利用下式可算出他们的输出值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.3 BP 神经网络模型在伤寒、副伤寒流行与传播预测中的应用伤寒、副伤寒的传播与流行同环境之间有着一定的联系。
根据桂林市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算法有可能存在局部极小问题。
本模型具有广泛的应用范围,可以应用在很多领域。从上面的结果可以看出,实际和网络学习数据总体较为接近,演化趋势也基本一致。
说明选定的气象因子、地质条件因素为神经单元获得的伤寒、副伤寒发病等级与实际等级比较接近,从而证明伤寒、副伤寒流行与地理因素的确存在较密切的相关性。
基坑降水引起地面沉降的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.2 BP神经网络程序框图(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%,误差满足工程需求。
步骤基本上是这样的,但你需要自己根据数据来设置相应的参数close all ;clear ;echo on ;clc ;% NEWFF——生成一个新的前向神经网络% TRAIN——对 BP 神经网络进行训练% SIM——对 BP 神经网络进行仿真pause% 敲任意键开始clc% 定义训练样本% P 为输入矢量p=[ ];% T 为目标矢量t= [];%训练样本的归一化for i=1:(训练样本的指标数)P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));endpauseclc% 创建一个新的前向神经网络net=newff(minmax(P),[15,2],{'tansig','purelin'},'traingda'); %这些参数要自己设置% 当前输入层权值和阈值{1,1};inputbias=net.b{1} ;% 当前网络层权值和阈值{2,1} ;layerbias=net.b{2} ;pauseclc% 设置训练参数 也要自己设置 = 50; = 0.05; = 0.9; % 附加动量因子net.trainParam.epochs =5000; = 1e-4;pauseclc% 调用 TRAINGDM 算法训练 BP 网络[net,tr]=train(net,P,t);pauseclc% 对 BP 网络进行仿真p_test=[];for i=1:6P_test(i,:)=(p_test(i,:)-min(p_test(i,:)))/(max(p_test(i,:))-min(p_test(i,:)));endt_test=[];A = sim(net,P_test)% 计算仿真误差E = t - Aerror=mse(E)pauseclcecho off%反归一化for i=1:2predict(i,:)=A(i,:)*(max(t(i,:))-min(t(i,:)))+ min(t(i,:));endpredict %即仿真结果pause。
提问:bp神经网络为什么要采用非线性函数来进行预测? 回答:简单的讲,主要是复杂的bp神经网络的行为动态及神经元之间的相互作用是无法用简单的线性函数来描述的!
一般来讲,用数学函数模拟一个系统输入与输出的关系(系统函数)时,设其函数为f(x),则它可以表征为一个输入变量x的多项式,即 f(x)=∑an*x^n ∣n=0 ->∞.; 当n≥2时,f(x)就成为非线性函数了。
an是每个x高次项的系数。可以用具体的实际实验数据来确定。