您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 基于遗传算法的BP神经网络气象预报建模
--------------------------------------------------------------------------------------------------基于遗传算法的BP神经网络气象预报建模wxyhome20世纪90年代以来,国内外在大气学科中开展了很多有关神经网络预报建模和气候分析等应用研究。然而随着神经网络方法在大气科学领域研究的不断深入,研究人员发现神经网络方法在实际业务天气预报应用中存在一个重要的问题,即在利用神经网络方法进行气象预报建模时,神经网络的初始权值、网络结构以及网络的学习参数,动量因子难以确定,往往是通过反复训练来确定网络的结构和各种参数,这样会导致在应用中出现过拟合问题,严重影响网络的泛化能力,极大限制神经网络在实际天气业务中的应用([1-8])。该问题的研究不仅关系到在大气学科中能否进一步深入开展有关人工神经网络方法的业务预报应用,并且也是目前人工神经网络应用理论研究中尚未得到很好解决的关键技术问题。神经网络如何有效提高神经网络的泛化能力,我简单以下分析影响神经网泛化能力的因素。首先我简单介绍以下神经人工神经网络(ArtificialNeuralNetworks,ANN),简称“神经网络”(NN),它是作为对人脑最简单的一种抽象和模拟,是对人的大脑系统一定特性的描述。简单地讲,它是一个数学模型,可以用电子线路来实现或用计算机来模拟人的自然智能。其中BP神经网络是目前应用最为广泛的神经网络模型之一,也是应用最具有成效的神经网络模型之一。它在大气科学预报集成、观测资料优化等方面都有应用。BP神经网络(Back-propagationNeutralNetwork)通常是指基于误差反向传播算法(BP算法)的多层前向神经网络,采用由导师的训练方式。它是D.E.Rumelhart和J.L.McCelland及其研究小组在1986年研究并设计出来的。BP算法已成为目前应用最为广泛的神经网络学习算法,绝大部分的神经网络模型是采用BP算法或它的变化形式,它也是前向神经网络的核心部分,体现了神经网络最精华的部分。由于它可以实现输入和输出的任意非线性映射,这使得它在诸如函数逼近、模式识别、数据压缩等领域有广泛的应用。BP网络的学习训练过程由两部分组成,即网络输入信号正向传播和误差信号反向传播,按有导师学习方式进行训练。在正向传播中,输入信息从输入层经隐含层逐层计算传向输出层,在输出层的各神经元输出对应输入模式的网络响应;如果输出层得不到期望输出,则误--------------------------------------------------------------------------------------------------差转入反向传播,按减小期望输出与实际输出的误差原则,从输出层经到中间各层,最后回到输入,层层修正各个连接权值。随着这种误差逆传播训练不断进行,网络对输入模式响应的正确率也不断提高,如此循环直到误差信号达到允许的范围之内或训练次数达到预先设计的次数为止。对于N个样本集合NkRyRxyxnmkk,,2,1,,),(的离散时间序列,BP网络可以完成从输入到输出的高度非线性映射,即可以找到某种映射使得:nmRRF:。定理3.1:Kolmogorov定理,给定任一连续函数),(,:xfyRRfnm,这里R是闭区间]1,0[,f可以精确地用一个三层前向网络实现逼近。定理3.2:BP定理,给定任意和在2L范数下:,]1,0[:nmRf存在一个三层BP网络,它可以在任意平方误差精度内逼近f。对于N个样本集合NkRyRxyxnmkk,,2,1,,),(的两个离散时间序列映射的建立,在实际应用中把总样本分成两个部分,训练样本1和检测样本2:},,2,1,,),{(111NNNkRyRxyxnmkk(1)},,2,1,,),{(112NNNkRyRxyxnmkk(2)首先用训练样本经过训练建立映射关系,然后再用检测样本检验网络能否给出正确的输入-输出的关系。如果可以,我们说网络具有很好的泛化能力,可以在实际中应用,否则该网络没有任何实用价值。对于这样时间序列映射的建立,可以采用输入节点为m个,输出节点为n个,隐节点为p个的三层BP神经网络来实现,其中输入层到隐层的激活函数采用Sinmgod型,隐层到输出层的激活函数采用线性函数。可得网络的输入与输出之间的关系如下:pjmitjijitjkrtxwfvty11])([)(ˆ(3))(tyk期望输出,tyˆ为网络的实际输出,设定网络总的误差小于1,则有:111121)](ˆ)([21NkntkktytyE(4)设定检测样本平均均方误差小于2,则有:NNkntkktytyNNE121212)](ˆ)([1(5)--------------------------------------------------------------------------------------------------在神经网络的应用过程中,由于被逼近样本的性质不能精确知道,因此即使在网络误差1E为零的条件下,也未必能保证2E达到要求。往往会出现1E非常小,而2E却无法满足要求。这就是所谓的“过拟合”现象,“过拟合”现象直接影响网络的泛化能力[77],使得网络最终失去实用价值。网络的泛化能力由以下几个因素影响:1.取决样本的特性,只有当训练样本足以表征所研究问题的一些主要的或基本特性时,网络通过合理的学习机制可以使其具有泛化能力,合理的采样结构是网络具有泛化能力的必要条件(参考文献78)。2.网络自身的因素影响,如网络结构、网络初始权值的设定和网络的学习算法等。网络的结构主要包括:网络的隐层数、各隐层节点的个数和隐节点激活函数的特性(本文主要从网络的自身因素考虑如何有效提高网络的泛化能力),以下从这几个方面说明原因:①.Funahashi证明(参考文献79),当隐层节点函数为单调递增连续函数时,三层前向网络具有以任意精度逼近定义在紧致子集上的任意非线性函数的能力,Horni(参考文献80~81)和陈天平(参考文献82)进一步证明隐层节点函数有界是必要的,单调递增的条件是非必要。这说明采用三层BP网络,隐节点函数为Sigmoid函数,输出节点函数采用线性函数,完全可以达到网络逼近的要求。文献[77]认为,“过拟合”现象是网络隐节点过多的必然结果,它的出现影响了网络的泛化能力,同时文献[83]也进一步提到,在满足精度的要求下,逼近函数的阶数越少越好,低阶逼近可以有效防止“过拟合”现象,从而提高网络的预测能力,反映到多层前向神经网络中,就是在精度满足的要求下,网络的隐节点数越少越好。但是在实际应用中,还没有一套成熟的理论方法来确定网络的隐节点,隐节点的确定基本上依赖经验,主要式采用递增或递减的试探方法来确定的网络隐节点。②.网络的初始权值的选择缺乏依据,具有很大的随机性,这也在很大程度上影响网络的泛化能力(参考文献84~85)。神经网络连接权值的整体分布包含着神经网络系统的全部知识,传统的权值获取方法都是随机给定一组初始的权值,然后是采用某个确定的变化规则,在训练中逐步调整,最终得到一个较好权值分布。由于BP算法是基于梯度下降方法,不同的初始权值可能会导致完全不同的结果。一旦取值不当,就会引起网络振荡或不收敛,即使收敛也会导致训练时间增长,再加之实际问题往往是极其复杂的多维曲面,存在多个局部极值点,使得BP算法极易陷入局部极值点。这些导致BP神经网络训练时间过长而最终得不到适当的权值分布,从而影响网络的泛化能力,极大的限制了神经网络在实际预报中的应用。③.BP神经网络算法收敛慢,即使一个相当简单的问题求解,其训练次数也要几百或几千次迭代。而且网络对各种参数(包括初始权值、学习速率、动量参数)极为敏感,稍小的变动就会引起拟合和泛化能力的振荡,在反复实验中确定各种参数,这样的过度训练会提高网络的拟合能力,同时也拟合了训练数据中的噪声和训练样本中没有代表行的特征,最终导致过拟合现象(参考文献86),从而影响网络的泛化能力,限制了神经网络在实际预报中的应用。从以上的分析可以看出,提高神经网络的泛化能力需要寻找合适的网络结构和网络连接权,改变误差反向传播算法。遗传算法遗传算法(参考文献43)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,它是一种基于自然选择和遗传变异等生物机制的全局性概率搜索算法。它的主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖梯度信息,也不需要求解函数可--------------------------------------------------------------------------------------------------微,只需要该函数在约束条件下可解,因此该方法尤为适用于处理传统方法难以解决的复杂和非线性问题(参考文献44~45)。近年来,国内外众多学者将遗传算法和神经网络结合,利用遗传算法的全局搜索能力来优化神经网络建立预报模型。杨晓红和刘乐善利用遗传算法优化异或问题的神经网络结构及其连接权(参考文献9)。孙晓光和傅云义等人利用遗传算法对热轧带钢精轧机组负荷分配BP网络参数进行优化(参考文献10)。李敏强和徐博艺等人利用遗传算法优化三层BP网络的连接权并建立短期地震预报模型,取得很好的效果(参考文献11)。李祚泳和彭荔红用遗传算法进行了暴雨强度公式参数优化的研究(参考文献12)。饶文碧和徐锐等人利用遗传算法优化BP神经网络权系数的方法,解决了结构损伤模型的识别问题(参考文献13)。李发斌和崔鹏等人利用遗传算法优化BP神经网络的权系数建立分析泥石流活动性的模型(参考文献14)。但是目前在预测研究领域,很少见到有关同时优化网络结构和权系数的预报建模研究,并且在大气学科中也尚未有人研究利用遗传算法优化BP神经网络的权系数及其结构,建立短期气候预测模型。本文将用遗传算法优化三层BP神经网络的连接权和网络结构,由于遗传算法的搜索不依赖梯度信息,也不需要求解函数可微,只需要求解函数在约束条件下可解,并且遗传算法具有全局搜索的特性,用遗传算法优化优化神经网络的连接权和网络结构,可以较好地克服BP神经网络的问题并且有效提高神经网络的泛化性能。遗传算法优化BP神经网络的基本思想:改变BP算法依赖梯度信息的指导来调整网络权值的方法,而是利用遗传算法全局性搜索的特点,寻找最为合适的网络连接权和网络结构。由于三层神经网络由输入层、输出层和隐层组成,而输入层、输出层节点的个数由建模样本决定,故而在优化BP网络结构时,主要是优化它的隐节点的个数。遗传-神经网络的优化问题数学描述如下:npnppmNkntkkRrRRvRwtstytyrvwE,,,.)](ˆ)([21),,,(min1112(6)上式中),(ˆtyk)(tyk见(3)式,利用遗传算法求解如上的二次非线性优化问题,将得到网络的结构和连接权,代入(5)式计算2E,如果2E小于设定的误差2,则可以利用该模型进行实际预报应用。为此本文采用两种不同的方法来优化三层BP神经网络,方法一的具体的实现步骤如下:1.先采用三层BP网络来初步确定上式的基本解空间(网络连接权的取值范围),首先设定网络的训练次数以及网络的训练误差1,输入训练样本进行训练,之后再输入检测样本得到误差2,在误差1和2都比较满意时,把连接权值中的最大值和最小值分别记为maxu和minu,以该区间],[2max1minuu(其中2,1为调节参数)作为连接权的基本解空间。2.由于遗传算法在优化过程中是以目标函数最大值作为其适应度函数的,故定义适应度函数为:---------------------------------------------------------------------
本文标题:基于遗传算法的BP神经网络气象预报建模
链接地址:https://www.777doc.com/doc-2576862 .html