170 likes | 265 Views
基于 BP 网络的地震预测. 一、 BP 网络的基本原理。 BP 网络是一种单向传播的多层前向网络, BP 网络是一种具有三层或三层以上的神经网络,其结构如图 1 所示: 包括输入层、中间层(隐层)和输出层。上下层之间实现全连接。 而每层神经元之间无连接。当对学习样本提供给网络后,神经元的激活值从 输入层经合中间层向输出层传播,在输出层经过个中间层逐层修正个连接权值,最后回到输入层,这种算法称为“误差逆传播算法”,即 BP 算法。随着这种误差逆的传播修正不断进行,网络对输入模式响应的正确率也不断上升。. 图 1 三层 BP 网络结构图.
E N D
一、BP网络的基本原理。BP网络是一种单向传播的多层前向网络,BP网络是一种具有三层或三层以上的神经网络,其结构如图1所示: 包括输入层、中间层(隐层)和输出层。上下层之间实现全连接。 而每层神经元之间无连接。当对学习样本提供给网络后,神经元的激活值从 输入层经合中间层向输出层传播,在输出层经过个中间层逐层修正个连接权值,最后回到输入层,这种算法称为“误差逆传播算法”,即BP算法。随着这种误差逆的传播修正不断进行,网络对输入模式响应的正确率也不断上升。
BP网络的学习,由四个过程组成:输入模式由输入层经隐含层向输出层的“模式顺传播” 过程,网络的希望输出与实际输出之差的误差信号由输出层向输入层逐层修正连接权的“误差逆传播”过程,由“模式顺传播”与“误差逆传播”的反复交替进行的网络“记忆训练” 过程,网络趋向收敛即网络的全局误差趋向极小值的“学习收敛”过程。归结起来为,“模式顺传播”→“误差逆传播”→“记忆训练”→“学习收敛”过程。
BP网络的优点:(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;(2)网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;(3)网络具有一定的推广、概括能力。BP网络的优点:(1)网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题;(2)网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力;(3)网络具有一定的推广、概括能力。
二.背景描述 地震预测是地理问题研究领域中的一个重要课题,准确的地震预测可以帮助人们即使采取有效措施,降低人员伤亡和经济损失。引发地震的相关性因素很多,其产生机理的复杂性、孕育过程的非线性和认识问题的困难性使得人们很难建立较完善的物理理论模型。对有关物理参数加以精确的描述,只能借助一些观测到的相关现象进行分析、总结和推理。
三、问题的提出 传统的非线性系统辨识在理论研究和实际应用方面都存在着极大的困难,而BP网络具有通过学习逼近任意非线性影射的能力, 将BP网络应用于非线性系统的建模与辨识,可以不受非线性模型的限制,易于实现学习算法。BP网络在非线性系统的预测方面有着广泛的应用。相对于传统的预测方法,神经网络在处理这方面问题中有着独特的优势。
四、实际应用1、概述以我国西南某地震常发地区的地震资料作为样本来源,实现基于神经网络的地震预测。根据这些地震资料,提取出7个预测因子和实际发生的震级M作为输入和目标向量。预测因子为:(1)半年内M大于等于3的地震累计频度;(2)半年内能量释放积累值;(3)b值;(4)异常地震带个数;(5)地震条带个数;(6)是否处于活动期内;(7)相关地震区地震震级。四、实际应用1、概述以我国西南某地震常发地区的地震资料作为样本来源,实现基于神经网络的地震预测。根据这些地震资料,提取出7个预测因子和实际发生的震级M作为输入和目标向量。预测因子为:(1)半年内M大于等于3的地震累计频度;(2)半年内能量释放积累值;(3)b值;(4)异常地震带个数;(5)地震条带个数;(6)是否处于活动期内;(7)相关地震区地震震级。
一共收集10个学习样本,如表1所示 表1 学习震例
表1 中的前7项为学习样本的输入因子,输出因子为实际震级,利用上表中的学习震例对网络进行训练。在训练前,应对数据进行归一化处理。表1中的数据已经是归一化后的数据了。2、BP网络设计在这里采用单隐层的BP网络进行地震预测。在三层BP网络中隐含层神经元个数a和输入层神经元个数b之间有以下近似关系:a=2b+1。由于输入样本为7维向量,因此,输入层一共有7个神经元,则中间层应该有15个神经元。网络只有1个输出数据,则输出层只有1个神经元,因此,网络应该为7*15*1的结构。
按照BP网络的一般设计原则,中间层神经元的传递函数为S型正切函数。由于输出已被归一化到区间[0,1]中,因此,输出层神经元的传递函数可以设定为S型对数函数。3、 BP网络训练与测试对于上面得到的BP网络,利用表1中的数据进行训练。训练后的网络才有可能满足实际应用的要求。训练参数的设定:训练次数为10000,训练目标为0.01,其他参数取默认值。
经过3768次训练后,网络的目标误差达到要求,如图2所示经过3768次训练后,网络的目标误差达到要求,如图2所示 图2 训练结果
网络训连结束后,还必须利用另外一组地震数据对其进行测试,数据如表2所示。所谓测试,实际上是利用仿真函数来获得网络的输出,然后检查输出和实际测量值之间的误差是否满足要求。表2 测试数据
输出结果经过反归一化处理后得到预测震级,和实际震级相比较可得到网络的预测误差,反归一化处理采用公式:x^=(x-xmin)/(xmax-xmin) 。如表3所示。表3 预测误差
由表3可见,网络的预测误差比较小,因此性能可以满足实际应用的要求。预测误差曲线如图3所示。由表3可见,网络的预测误差比较小,因此性能可以满足实际应用的要求。预测误差曲线如图3所示。 图3 网络预测误差
五、总结: 针对地震预测,传统的非线性系统辨识在理论研究和实际应用方面都存在极大的困难。而BP网络具有逼近任意非线性影射的能力,可以不受非线性模型的限制 ,并且学习算法简单。因此,可以将BP网络应用于地震预测,通过仿真图可以看到BP网络在地震预测系统中预测效果也是比较好的,满足实际要求。
参考文献: [1]罗军辉, 冯平等.MATLAB 7.0在图像处理中的应用.北京:机械工业出版社,2005 [2]闻新,周露等. MATLAB神经网络仿真与应用.北京:科学出版社,2003 [3]李士勇.模糊控制.神经控制和智能控制 .哈尔滨:哈尔滨工业大学出版社,1998