搜档网
当前位置:搜档网 › 基于遗传算法的BP神经网络气象预报建模

基于遗传算法的BP神经网络气象预报建模

基于遗传算法的BP神经网络气象预报建模wxyhome

20世纪90年代以来,国内外在大气学科中开展了很多有关神经网络预报建模和气候分析等应用研究。然而随着神经网络方法在大气科学领域研究的不断深入,研究人员发现神经网络方法在实际业务天气预报应用中存在一个重要的问题,即在利用神经网络方法进行气象预报建模时,神经网络的初始权值、网络结构以及网络的学习参数,动量因子难以确定,往往是通过反复训练来确定网络的结构和各种参数,这样会导致在应用中出现过拟合问题,严重影响网络的泛化能力,极大限制神经网络在实际天气业务中的应用([1-8])。该问题的研究不仅关系到在大气学科中能否进一步深入开展有关人工神经网络方法的业务预报应用,并且也是目前人工神经网络应用理论研究中尚未得到很好解决的关键技术问题。

神经网络

如何有效提高神经网络的泛化能力,我简单以下分析影响神经网泛化能力的因素。首先我简单介绍以下神经人工神经网络(Artificial Neural Networks,ANN),简称“神经网络”(NN),它是作为对人脑最简单的一种抽象和模拟,是对人的大脑系统一定特性的描述。简单地讲,它是一个数学模型,可以用电子线路来实现或用计算机来模拟人的自然智能。其中BP神经网络是目前应用最为广泛的神经网络模型之一,也是应用最具有成效的神经网络模型之一。它在大气科学预报集成、观测资料优化等方面都有应用。

BP神经网络(Back-propagation Neutral Network) 通常是指基于误差反向传播算法(BP算法)的多层前向神经网络,采用由导师的训练方式。它是 D.E.Rumelhart和J.L.McCelland及其研究小组在1986年研究并设计出来的。BP算法已成为目前应用最为广泛的神经网络学习算法,绝大部分的神经网络模型是采用BP算法或它的变化形式,它也是前向神经网络的核心部分,体现了神经网络最精华的部分。由于它可以实现输入和输出的任意非线性映射,这使得它在诸如函数逼近、模式识别、数据压缩等领域有广泛的应用。

BP网络的学习训练过程由两部分组成,即网络输入信号正向传播和误差信号反向传播,按有导师学习方式进行训练。在正向传播中,输入信息从输入层经隐含层逐层计算传向输出层,在输出层的各神经元输出对应输入模式的网络响应;如果输出层得不到期望输出,则误

在神经网络的应用过程中,由于被逼近样本的性质不能精确知道,因此即使在网络误差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)是模拟达尔文的遗传选择和自然淘汰的生物进化过程的计算模型,它是一种基于自然选择和遗传变异等生物机制的全局性概率搜索算法。它的主要特点是群体搜索策略和群体中个体之间的信息交换,搜索不依赖梯度信息,也不需要求解函数可

5. 计算群体中每个个体的适应度,由控制码得到网络的隐节点个数,由权重系数码得到网络的连接权,输入训练样本,按照(4.2)式计算每个个体的适应度。

6. 保留群体中适应度最高的个体,它不参与交叉和变异运算,而直接将其复制到下一代。对群体中的其它个体,采用轮盘赌选择法进行选择。

7. 对于控制码的交叉和变异采用基本遗传算法中的方法,在变异运算时,当某个神经元被变异运算删除时,相应的有关权重系数编码被置为0,而当变异运算增加某个神经元时,则随机初始化有关权重系数编码。由于权重系数采用浮点数编码,需要设计新的交叉算子和变异算子。

以c p 的概率对选择后的个体进行交叉。设在第i 个体和第1+i 个体之间进行交叉,交叉算子如下:

??????+?-=?-+?=+++++t i i t i i t i t i i t i i t i X c X c X X c X c X 1

1111)1()1( 式中t i t i X X 1,+是一对交叉前的个体,111,+++t i t i X X 是交叉后的个体,i c 是区间]1,0[的均匀分布的随机数。

以m p 的概率对交叉后的个体进行变异,设对第i 个体进行变异,变异算子如下:

i t i t i

c X X +=+1 式中t i X 是变异前的个体,1+t i X 是变异后的个体,i c 是区间

],[2m a x 1m i n t i t i X u X u ++--δδ上的均匀分布随机数。

这样可以保证变异后的个体仍在搜索区间内。

8. 生成新一代群体。

9. 反复进行5~8,每进行一次,群体就进化一代,连续进化到K 代(总的进化代数)。

10. 把第K 代选适应度最高的个体解码得到相应的网络连接权和隐节点个数,输入检测样本检验模型的泛化能力。

这里我们不能简单地认为最后一代适应度最高的个体就是网络的全局最优解,它只能是利用训练样本1φ,求得满足(4.2式)的极大值,网络的全局最优点并不一定是极值点,在网络权值的取值区间为紧致子集的情况下全局最优点就可能是边界点[67]。在上述的算法中,以约束条件下最大值作为目标函数(适应度函数),求得的网络权系数和网络结构并不一定是网络的全局最优解。另外遗传算法虽然能以较大的概率进化最优解的区域,但是无法精确地确定最优解的位置,由此也不能简单认为目前适应度最高个体就是全局性的最优解,虽然我们可以通过加大进化代数使得(4.3)式的解更加精确,这样不可避免地会出现“过拟合”现象,因为加大进化代数只能使得历史样本的拟合精度越来越来高,在反复的权值调整迭代过程中,拟合了训练数据中的噪声和训练样本中没有代表性的一些特征,使得有预测的性能反而下降。而且上述算法是用1N 年历史样本建模的基础上,外推预测后面1N N -年的结果,而没有考虑与其最近的样本对后序预报量的影响比较重要这个事实。为此在把上述方法进行修改,得到方法二。首先总样本N 分成三个部分,训练样本1φ、训练样本2φ和检

BP网络模型随着学习样本增加,“学习”能力增强的特点。相反,逐步回归方法1次作5个独立样本预报的平均相对误差还小于逐年预报的平均误差(见表5.5和表5.6、表5.7和表5.8),没有随着建模样本增加而呈现“见多识广”的学习能力。尤其值得注意的是,在用8个预报因子的基于遗传算法的BP神经网络模型方法一对5个独立样本一次预报时,平均绝对误差和平均相对误差分别为:31.32mm和21.28%(见表5.5);而在利用4个预报因子时,方法一对5个独立样本一次预报时,平均绝对误差和平均相对误差分别为:37.77mm和24.70(见表5.7),二者相差为:6.45mm和3.42%,均小于10%。同样基于遗传算法的BP网络方法二在对5个独立样本预报中,采用8个因子和4个因子的二者平均绝对误差和平均相对误差相差不大。如果对逐年的预报结果分析也可以得出相同的结果,从以上的这个结果分析可以看出,基于遗传算法的BP网络模型相对比较稳定。同时我们也对广西的桂北、桂中、桂南的历年4月份降雨量利用上述方法建模,结果同样表明,基于遗传算法的BP神经网络模型预报结果稳定,预报精度高,而且预报效果明显优于逐步回归模型。

结论

本文针对BP神经网络在大气学科预报建模研究中,网络的初始权值、网络的结构以及网络的学习参数,动量因子难以确定,往往是通过反复训练来确定网络的结构和各种参数,这样会导致在应用中出现过拟合问题,严重影响网络的泛化能力,极大限制神经网络在实际天气业务中的应用。利用遗传算法的全局搜索能力来优化三层BP神经网络的连接权和网络结构,并在遗传进化过程中采取保留最佳个体的方法,建立基于遗传算法的BP神经网络预报模型一。同时考虑到遗传算法在进化过程中能以较大概率搜索到全局最优解存在的区域,在遗传算法搜索到最优解附近时,却无法精确地确定最优解的位置,为此本文进一步采用从进化后的结果中,再次利用训练样本挑选最佳网络权系数和网络结构,建立基于遗传算法的BP神经网络预报模型二。这为我们利用神经网络方法进行预报建模研究,提供了新的思路,进一步拓展了神经网络方法在大气科学领域的应用。经过本文较深入的研究,得到如下结论:

1.该方法克服了由于神经网络初始权值的随机性和网络结构确定过程中所带来的网络振荡,以及网络极易陷入局部解问题并且有效提高神经网络的泛化能力,这种方法避免了一般神经网络依靠经验确定网络结构的困难。作为应用实例,以广西全区4月份平均降水作为预报量及前期500pha月平均高度场,海温场高相关区作为预报因子,建立基于遗传算法的BP神经网络短期气候预测模型。将这种方法与传统的逐步回归方法作对比分析,在回归模型、回归系数非常显著时,以相同的因子建立逐步回归模型。在建模因子为8个时,对5个样本的预测结果表明,逐步回归模型的平均相对误差为:41.39%;基于遗传算法的BP神经网络模型一的平均相对误差为:16.49%,模型二的平均相对误差为:13.48%,即预报精度明显提高。当改变建模因子为4个数时,基于遗传算法的BP神经网络模型的预报效果依然优于逐步回归模型,显示了较好的预报稳定性。

2.该方法在进行独立样本的逐年预报时,基于遗传算法的BP网络模型一和二的预报能力,都随着训练样本的增加,预报的精度会有所提高。体现出随着学习样本增加,它的“学习”能力增强的特点。

3.本文在建立基于遗传算法的BP网络模型二中,特别提出了从进化过的权系数和网络结构中,再次利用训练样本挑选的方法,充分发挥了遗传算法和神经网络的长处,综合了神经网络泛化映射能力和遗传算法全局收敛能力,并且克服遗传算法的局部调节能力比较弱的问题,相对基于遗传算法的BP神经网络网络模型一,该方法进一步提高预报能力,在以

往的文献中尚未见到有相类似的研究工作报道。

4.本文在利用遗传算法优化BP神经网络隐节点(网络结构)的过程中,也检验分析了神经网络方法在实际应用中,隐节点个数最有可能在输入节点个数附近变化(即比输入节点数略多或者略少)的经验性结论。

本文在利用遗传算法优化BP神经网络和网络权系数的过程,同是也对遗传算法的收敛性进行一些讨论。GA全局性收敛问题的研究至关重要,因为不仅具有理论指导意义,而且也有重要的实践价值。本文则是利用下鞅理论分析遗传算法在非保留最佳个体策略时,遗传算法强收敛到全局最优解的充分条件,这为用鞅理论分析遗传算法做了有益的尝试。

相关主题