一种改进的bp算法及在降水预报中的应用

上传人:mg****85 文档编号:44708065 上传时间:2018-06-14 格式:PDF 页数:8 大小:722.04KB
返回 下载 相关 举报
一种改进的bp算法及在降水预报中的应用_第1页
第1页 / 共8页
一种改进的bp算法及在降水预报中的应用_第2页
第2页 / 共8页
一种改进的bp算法及在降水预报中的应用_第3页
第3页 / 共8页
一种改进的bp算法及在降水预报中的应用_第4页
第4页 / 共8页
一种改进的bp算法及在降水预报中的应用_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《一种改进的bp算法及在降水预报中的应用》由会员分享,可在线阅读,更多相关《一种改进的bp算法及在降水预报中的应用(8页珍藏版)》请在金锄头文库上搜索。

1、一种改进的 BP 算法及在降水预报中的应用*闵晶晶1) 孙景荣2) 刘还珠3) 王式功1) 曹晓钟2)1)( 兰州大学大气科学学院 半干旱气候变化教育部重点实验室, 兰州 730000)2)( 中国气象局培训中心, 北京 100081) 3)( 国家气象中心, 北京 100081)摘 要传统 BP(back propagation) 算法在实际应用中具有网络结构参数和学习训练参数难以确定、 泛化能力差、 训练学习易陷入局部极小点等问题。该文在传统 BP 算法的基础上, 提出一种改进算法, 在训练过程中能自动确定各种参数, 并避免陷入局部极小点, 提高网络的泛化能力。利用 2003) 2005

2、年 5) 9 月中国国家气象中心 T213 的数值预报产品, 通过动力诊断得出反映降水的物理量, 然后从中挑选出与降水关系较好的 25 个因子, 连同中国国家气象中心 T213 模式、 日本气象厅业务模式和德国气象局业务模式相应的降水量预报结果作为预报因子。采用改进的 BP 算法建立江淮流域 68个站 24 h 降水(08: 00) 08: 00, 北京时) 3 个等级( 降水量 0. 1 mm, 降水量10 mm,降水量25 mm) 的预报模型。通过对 2006) 2007 年 5) 9 月 68 个站试报结果表明: 改进 BP 算法对降水预报的TS 评分大大高于传统 BP 算法, 也高于几

3、种模式的降水预报结果, 同时, 改进算法使降水预报的平均空报率、 漏报率明显降低。关键词: 人工神经网络; BP 算法; 改进算法; 建模; 降水预报引 言人工神经网络( ANN) 由于其具有自学习、 自组织的非线性映射能力, 适合于一些信息复杂、 知识背 景不清楚和推理规则不明确问题的建模。20 世纪80 年代中期开始被应用于如气象资料同化、 数值预报产品释用、 天气预报、 预报质量保证等各个方面,在气候模式、 短期气候预测、 中短期天气预报、 强对 流天气 和卫 星资料 处理 等领 域也得 到广 泛应用 1 -10。近 20 年来, 在数值预报产品提供的大量信息基 础上, 预报员根据前期实

4、况观测及其演变所蕴涵的天气动力学特点对数值预报产品进行修正、 解释, 使之达到人们对气象要素预报的要求。目前基于统计理论的相关分析和回归方法在数值预报产品的释用 中仍发挥着重要作用 11, 如模式输出统计方法( MOS) 12、 卡尔曼滤 波( KF) 13 -14、 K 最 近领域( KNN) 非参数估计技术 15 -16等, 但是这些方法多数 是基于线性相关的基础上, 在处理一些具有非线性特征的气象要素或天气现象( 降水) 时, 具有较大的 局限性。近年来, 一些具有处理非线性问题能力的方法在气象上开始广泛应用, 如支持向量机( SVM)和人工神经网络 17 -20。SVM 的性能主要依赖

5、于核函数的选择, 在应用中需要人为干预, 同时对于大规 模数据集, 训练速度异常缓慢, 不适于实时监控 21,以及其他参数不易调整等缺陷, 使其在应用中具有一定的限制。BP 算法是目前应用最广泛的神经网络方法之 一, 它具有很强的信息处理能力。然而, 在传统 BP算法的应用中存在许多亟待解决的问题, 例如, 在学习算法上, 存在收敛速度缓慢、 易陷入局部极小等缺 陷; 在实际应用中, 存在网络结构参数和学习训练参数难以确定的问题, 这些问题在一定程度上影响了神经网络的推广应用。不少学者 22 -25已对 BP 网络进行了深入研究, 并针对上述问题提出了许多改进 算法, 但都不是普遍适用的。对此

6、, 本文提出一种自动确定各种参数的 BP 算法, 使得在实际应用中不需要人为确定任何参数, 并能有效解决网络模型泛 化能力差和局部极小等问题。第 21 卷 1 期 2010 年 2 月应 用 气 象 学 报 JOURNAL OF APPLIED METEOROLOGICAL SCIENCEVol. 21, No. 1 February 2010*中国气象局多轨道业务建设项目/ 精细化气象要素预报业务系统0和国家科技支撑计划项目( 2007BAC29B03) 共同资助。2008 -11 -28 收到, 2009 -08 -11 收到再改稿。降水是大尺度环流与中小尺度系统相互作用的综合结果, 同时

7、也是本地流场、 热力场与当地的地 形、 地貌相结合的产物, 正是由于存在这样一系列复杂的物理过程, 使降水量具有非线性变化的特点, 因而, 定量降水的客观预报比较困难。为了验证改进的 BP 算法的可行性, 尝试用改进的 BP 算法来建立 降水预报模型, 使预报适应于具有非线性变化特点的气象要素。试验结果表明, 改进的 BP 算法对降水的预报效果相比传统算法有较明显的提高, 由于改进方法还具有自优化确定参数的优点, 在实际应 用中更加方便。该方法已应用于国家气象中心的/ 气象要素客观预报集成系统0中, 并在多个省气象局推广, 进一 步促进了神经网络方法在气象部门中的应用, 取得了较好的效果。1

8、BP 神经算法的介绍1. 1 传统算法的介绍BP( back propagation) 网络, 是一种单向传播的 多层前向网络, 网络含有输入层、 输出层和处于两层之间的隐含层, 隐含层可以是单层或多层, 隐含层上的节点称为隐节点。雷景生等 25详细介绍及绘制了 3 层前馈神经网络的结构。 典型的3 层 BP 网络, 只有一层隐含层, BP 网络的训练过程分为两个阶段: 正向过程和反向过程。正向过程是将学习样本的输入值循环置入 BP 网络 的输入端, 由前往后, 依次计算网络的隐节点和输出节点值; 根据网络输出值与期望输出值之间的误差,开始反向计算, 即由后往前, 按照训练的目标函数,依次调整

9、网络各层节点之间的连接权值, 直到目标 函数接近 极小值为止, 故称为误差 反向传播网络 26。在 BP 网络的学习算法中, 权值修正一般采用梯度下降法, 各节点神经元的激励函数常采用Sigmoid 函数, 其形式为f (x) =1 1+ e- x。 (1)本研究中, 为将输出值归一化到- 1 + 1 之间, 取如下形式的函数作为神经元的激励函数f (x) =1- e- x1+ e- x。 (2)1. 2 传统算法的缺点在传统 BP 算法中, 网络的结构参数和学习训练参数, 一般都没有定量的方法来确定。在实际应用中, 对于网络的结构参数, 输入节点和输出节点数 目可以根据预报因子和预报对象确定

10、, 而隐层和隐节点数目需要通过实验确定; 对于网络的学习训练参数, 包括学习速率、 训练次数、 期望的训练误差等参数, 需要根据不同的实际应用, 通过实验来确定。 传统 BP 算法在实际应用中的另一个主要问题就是在网络模型学习训练的过程中, 容易陷入局部极小点, 如图1 所示。当BP 神经网络陷入局部极小点时, 进一步的训练不能减小网络的输出与目标值 之间的偏差, 所得到的网络模型存在较大偏差。图 1 BP 训练过程中陷入局部极小点示意图Fig. 1 A schematic figure for the immersionof the web to the local least soluti

11、on in theBP training processBP 网络的训练, 是为了建立一个合适的模型用 于预报。但是 BP 网络在训练过程中, 常常会出现网络模型对训练样本拟合得较好, 而对没有参加训练的样本拟合的效果较差( 如图 2 所示) , 这种情况 称之为网络模型的泛化能力较差。 从图2可知, 若对图 2 网络模型的泛化能力示意图Fig. 2 A schematic figure of generalizationability for a network model56应 用 气 象 学 报 21 卷 训练样本的训练次数较少, 网络模型的偏差较大; 若对训练样本训练次数过多, 网络模

12、型对新数据的预报能力反而减弱。因此怎样确定合适的训练程度, 不仅可以使网络模型对训练样本具有比较精确的拟合, 又具有较好的预报能力, 是 BP 网络实际应用中需要解决的又一个重要问题。1. 3 改进的 BP 算法针对 BP 网络在实际应用中遇到的上述 3 方面的问题, 本文在传统 BP 算法的基础上, 提出了一种 改进的训练算法。首先, 设 W(k)为 BP 网络各层节点之间的连接权值, $W(k)为网络权值的修正值, 其中 k 表示训练次数, 则权值的修正公式如下:W(k + 1) = W( k) + $W(k)。 (3)设有 N 组训练样本, 且第 i 组训练样本的目标值和网络实际输出值分

13、别为 Ti和 Yi(k), 训练误差 函数和权重修正函数如下:ETrain( k) =1 NENi- 1(Ti- Yi(k)2, (4)$W(k) = - L9ETrain 9W( k)。(5)式( 5) 中, L表示学习速率。另设有 M 组检测样本, 且第 j 组训练样本的目标值和网络实际输出值分别为 Tj和 Yj(k), 则检测误差函数为:ET est(k) =1 MEMj- 1( Tj- Yj(k)2。 (6)对于隐含层的层数, 许多学者做了理论研究。根据 Lippmann 27的研究可知, 三层网络可以逼近任意一个连续的函数。后来 Hecht -Nielsen 28的研究进一步指出:

14、只有一个隐层的神经网络, 只要节点足够多, 就可以以任意精度逼近一个非线性的函数。因此, 在该方法中隐层的数目设定为一层。隐节点数的选取比较困难, 隐节点数较少时, 学 习过程可能不收敛; 隐节点数较多时, 网络泛化能力又可能较弱, 有很多学者在这方面进行了研究 29 -30。根据实践检验, 隐节点数一般选在输入节点数的 1 2 倍之间时, 能达到较好的效果。因此, 在一个隐层、 隐节点数为输入节点数的 1 2 倍之间这两个前提条件下, 提出的改进学习训练算法如下: 确定训练样本和检测样本。首先根据总样 本的数目, 按不同比例将样本随机分为两类, 一类为训练样本, 用于网络的训练学习, 设样本

15、组数目为N; 另一类为检测样本, 在训练过程中, 用于检测网络的输出误差, 设样本组数目为 M。在本方法中, 主 要根据训练样本和检测样本的误差变化, 自适应确定网络结构参数和学习训练参数, 同时保证对训练样本的训练精度及提高对检测样本的泛化能力。确定隐节点数。根据训练样本和检验样本 网络误差的变化, 在网络学习过程中自适应确定隐节点数。其中 Ninput表示输入节点, Nhidden表示隐节点数, 初始学习速率 L= 0. 2。 l 先设 Nhidden=1. 5 Ninput, 且 Nhidden3, 开始进行训练。当训练次 数满足设定的最小训练次数时, 检查 ET rain( k) 和E

16、Test(k) 的 变化, 若 ETrain( k ) 10) 不能达到上述条件, 停止训练; m 比较 L = 0. 2, 0. 3 时最终的 ETrain( k) 和 ETest( k)值, 选择最优的 ETrain(k) 和 ET est( k)。若 L= 0. 3 时最优, 转入 n ; 若 L = 0. 2 时最优, 则转入 ; n 若 L10) 不能达到上述条件, 训练结束, 得到最优的网络模型。2 应用实例及分析2. 1 资 料本文以江淮流域降水为研究背景, 利用 2003) 2007 年 5 ) 9 月江淮流域 68 个站点的数据资料, 其中用 2003) 2005 年 5) 9 月的数据进行训练建立各站点的预报模型, 2006) 2007 年 5) 9 月的数据用 于预报试验。选定该 68 个站点 3 个等级( 降水量 0. 1 mm, 降 水量 10 mm, 降 水量 25 mm)08: 00) 08: 00( 北京时,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号