您好,欢迎访问三七文档
当前位置:首页 > 金融/证券 > 股票报告 > 基于BP神经网络的地震预测
基于BP神经网络的地震预测演讲:XXX目录1234模型建立地震预测问题仿真结果BP网络算法概述1、BP网络算法概述1、BP算法的出现非循环多级网络的训练算法,UCSDPDP小组的Rumelhart、Hinton和Williams1986年独立地给出了BP算法清楚而简单的描述。1982年,Paker就完成了相似的工作。1974年,Werbos已提出了该方法。2、弱点训练速度非常慢、局部极小点的逃离问题、算法不一定收敛。3、优点广泛的适应性和有效性。1、BP网络算法概述4、BP网络主要用途1)函数逼近:用输入向量和相应的输出向量训练一个网络逼近一个函数。2)模式识别:用一个特定的输出向量将它与输入向量联系起来。3)分类:把输入向量以所定义的合适方式进行分类。4)数据压缩:减少输出向量维数以便于传输或存储。1、BP网络算法概述网络的拓扑结构x1o1输出层隐藏层输入层x2o2omxn…………………2、地震预测问题•引发地震的相关性因素很多,其产生机理的复杂性、孕育过程的非线性和认识问题的困难性使得人们很难建立较完善的物理理论模型。•对有关物理参数加以精确的描述,只能借助一些观测到的相关现象进行分析、总结和推理。相对于传统的预报方法,神经网络以其容错能力强、预测与识别速度快和避开了特征因素与判别目标的复杂关系描述,特别是公式的描述等特性能够对复杂系统模型进行很好的预测。•以我国西南某地震常发地区的地震资料作为样本来源,基于BP神经网络对该地的地震进行预测。2、地震预测问题•通过对该地区地震的统计,从中提取出7个预测因子作为输入向量,实际的震级作为输出向量,对已有的数据进行归一化处理,建立一个BP神经网络通过训练、仿真,满足允许的一定误差后,对该地区震级进行预测。2、地震预测问题0.37500.47371000.750.25650.16200.71870.578910.50.50.710.80380.54000.62500.421110.50.50.670.58420.68850.59380.68421000.630.43470.49950.43750.2632100.50.680.37900.43200.40620.736810.500.770.36670.17550.18750.21050000.620.07420.0270实际震级相关区震级活动周期地震条带个数异常地震群个数B值累计释放能量地震累计频度3、模型建立•以我国西南某地震常发地区的地震资料作为样本来源,实现基于神经网络的地震预测。根据这些地震资料,提取出7个预测因子和实际的震级M作为输入和目标向量。预测银子为:•(1)半年内M大于等于3的地震累计频度;•(2)半年内能量释放积累值;•(3)b值(用来反映区域地震地质的特征);•(4)异常地震带个数;•(5)地震条带个数;•(6)是否处于活动期内;•(7)相关地震区地震震级。3、模型建立•利用已知的数据通BP神经网络学习和训练,在这里采用单层隐的BP网络进行地震预测。•初步确定隐含层,在三层BP网络中隐含层神经元个数和输层神经元个数b之间有以下近似关系:a=2b+1。由于输入样本为7维向量,因此,输入层一共有7个神经元,则中间层应该有15个神经元。•网络只有1个输出数据,则输出层只有1个神经元,因此,网络应该为[7,15,1]的结构。3、模型建立•神经网络在外界输入样本的刺激下不断改变网络的连接权值,以使网络的输出不断地接近期望的输出。•对各连接权值的动态调整。•权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。•学习是有有导师学习法。3、模型建立•一个具有n个输入的神经元模型为神经元的输入,为可调的输入权值,为偏移信号,用于建模神经元的兴奋阈值.u和f分别表示神经元的基函数和激活函数.基函数是一个多输入单输出函数,;激活函数的一般作用是对基函数的输出进行“挤压”:,即通过非线性函数将变换到指定范围内.12(,,....)nXxxx12(,,...)nuu()uuf)(ufy()f3、模型建立u...1x2xnxfY1w2wnw本题中用到的训练样本P为10组,每组7个数据,分别是与震级有关的7个预告因子。在三层BP网络中隐含层神经元个数和输层神经元个数b之间有以下近似关系:a=2b+1。因此输入层一共有7个神经元,则中间层应该有15个神经元。网络只有1个输出数据,则输出层只有1个神经元,因此,网络应该为[7,15,1]的结构。地震累计频数累计释放能量b值异常地震群数地震条带个数活动周期相关区震级...震级4、仿真结果•net=newff(PR,[S1S2...SN1],{TF1TF2...TFN1},BTF,BLF,PF)•1.net为创建的新BP神经网络;•2.PR为网络输入取向量取值范围的矩阵;•3.[S1S2…SNl]表示网络隐含层和输出层神经元的个数;•4.{TFlTF2…TFN1}表示网络隐含层和输出层的传输函数,默认为‘tansig’;•5.BTF表示网络的训练函数,默认为‘trainlm’;•6.BLF表示网络的权值学习函数,默认为‘learngdm’;•7.PF表示性能数,默认为‘mse’。•8.a=logsig():对数Sigmoid激活函数,对数Sigmoid函数把神经元的输入范围从(-∞,+∞)映射到(0,1)。它是可导函数,适用于BP训练的神经元。•9.Net=train():神经网络训练函数。•10.Net=sim():神经网络仿真函数。•11.a=postmnmx():数据的反归一化处理。BP神经网络的创建格式及其使用函数4、仿真结果•本文利用网络上找到的西南地区地震资料,做了两个表格,一个用来学习,另一个用来测试学习的成果来检验算法。0.65630.8974000.50.980.12300.39150.31250.05260000.760.06920.08100.37500.36840000.710.49250.58051.00000.9474110.50.750.03830.99900.50000.26321000.710.49480.21600.43750.7368100.50.6741830.41580.93751.000010.510.631.00000.62100.59380.315810.500.680.54020.28350.53130.315810.50.50.770.47410.3915000000.6200实际震级相关区震级活动周期地震条带个数异常地震群个数b值累计释放能量地震累计频度4、仿真结果0.37500.47371000.750.25650.16200.71870.578910.50.50.710.80380.54000.62500.421110.50.50.670.58420.68850.59380.68421000.630.43470.49950.43750.2632100.50.680.37900.43200.40620.736810.500.770.36670.17550.18750.21050000.620.07420.0270实际震级相关区震级活动周期地震条带个数异常地震群个数B值累计释放能量地震累计频度4、仿真结果•根据获得的数据对网络进行训练,训练后的网络才有可能满足于实际应用的要求。由于找的数据是已经归一化处理的,在数据的反归一化时候,不能确定原来数据的最大值与最小值。于是我们自定义其区间是[4.46.1]。学习结果如图:4、仿真结果•然后对另一个表格数据进行测试,得到结果:4、仿真结果•接着对隐含层的层数进行调整,分别调为3,10,20,13等对网络进行训练和测试,然后与15时的预测结果的误差进行对比,使用不同层数与实际震级的对比,然网络训练的精度提高,并不意味着层数越多预测的效果越好。谢谢·
本文标题:基于BP神经网络的地震预测
链接地址:https://www.777doc.com/doc-2533532 .html