項月文 饒 泓 湯蘭榮肖 健 肖孟仁 羅 麗
1) 江西省地震局,南昌330039 2) 南昌大學(xué),江西330031
?
學(xué)術(shù)論文
基于GA-BP神經(jīng)網(wǎng)絡(luò)的地震預(yù)報技術(shù)*
項月文1)※饒泓2)湯蘭榮1)肖健1)肖孟仁1)羅麗1)
1) 江西省地震局,南昌330039 2) 南昌大學(xué),江西330031
概述遺傳算法(GA)和BP神經(jīng)網(wǎng)絡(luò)的原理,利用遺傳算法具有全局搜索能力且不易陷入局部極小點的特性,優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值,使得計算結(jié)果全局最優(yōu),以彌補BP算法的不足。選取閩粵贛交界及東南沿海地區(qū)的地震目錄作為研究樣本,提取出7個測震學(xué)前兆指標(biāo)作為預(yù)報因子,構(gòu)建GA-BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練和仿真。震例檢驗結(jié)果顯示,該優(yōu)化方法的震級預(yù)測精度較BP神經(jīng)網(wǎng)絡(luò)有較大提升,具有對地震震級預(yù)測的可行性。
地震預(yù)報; 人工神經(jīng)網(wǎng)絡(luò); 遺傳算法; BP神經(jīng)網(wǎng)絡(luò)
引言
地震災(zāi)害造成嚴(yán)重人員傷亡和經(jīng)濟(jì)損失,是破壞力最大的自然災(zāi)害之一。因此,通過地震預(yù)報以減輕地震災(zāi)害,具有十分重要的意義。地震的誘發(fā)因素很多,產(chǎn)生機(jī)理復(fù)雜,各因素之間具有隨機(jī)性、 離散性和互相關(guān)性,使得地震預(yù)報成為一個具有高度非線性的科研課題。
人工神經(jīng)網(wǎng)絡(luò)的研究始于20世紀(jì)40年代初,伴隨多年來的穩(wěn)步發(fā)展,已在優(yōu)化計算、 智能控制、 模式識別、 人工智能和預(yù)測評估等領(lǐng)域有廣泛應(yīng)用。基于人工神經(jīng)網(wǎng)絡(luò)是一個具有高度自適應(yīng)性的非線性動力學(xué)系統(tǒng),可以通過自動對大量已知樣本的學(xué)習(xí)獲取其中隱含的非線性關(guān)系。地震科研人員開始將其應(yīng)用于地震預(yù)報[1-2]、 地震分析[3]、 震害預(yù)測[4]、 地震工程[5]等領(lǐng)域,取得了一些較好的效果。
BP神經(jīng)網(wǎng)絡(luò)作為前向型網(wǎng)絡(luò)的核心部分,因其數(shù)學(xué)意義明確,推導(dǎo)過程嚴(yán)謹(jǐn),通用性好而得到廣泛應(yīng)用,但由于BP算法采用了按誤差函數(shù)梯度下降的方向進(jìn)行收斂,故存在收斂速度慢且易陷入局部最小值的缺陷,限制了預(yù)測模型的精度。本文利用遺傳算法的全局搜索能力來優(yōu)化BP網(wǎng)絡(luò)的連接權(quán)值和閾值[6],構(gòu)建GA-BP神經(jīng)網(wǎng)絡(luò)實現(xiàn)對未來半年內(nèi)最大地震震級的預(yù)測建模。結(jié)果表明,其地震震級預(yù)測精度較BP神經(jīng)網(wǎng)絡(luò)有較大提升。
BP網(wǎng)絡(luò)(Back-Propagation Network)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋型神經(jīng)網(wǎng)絡(luò),通過訓(xùn)練網(wǎng)絡(luò)的連接權(quán)值和閾值可實現(xiàn)從輸入到輸出的任意非線性映射。一般由輸入層、 隱含層、 輸出層組成,圖1為其拓?fù)浣Y(jié)構(gòu)。
圖1 BP網(wǎng)絡(luò)結(jié)構(gòu)
BP算法采用了按誤差函數(shù)梯度下降的方向進(jìn)行收斂,學(xué)習(xí)過程可分為兩個階段。第一個階段將已知樣本作為網(wǎng)絡(luò)的輸入值,通過設(shè)置網(wǎng)絡(luò)結(jié)構(gòu)和對連接權(quán)值、 閾值的學(xué)習(xí),從輸入層開始經(jīng)隱含層逐層處理向后計算各神經(jīng)元的輸出。第二階段根據(jù)目標(biāo)輸出與實際誤差,從輸出層向前經(jīng)隱含層逐層計算各層間權(quán)值和閾值對總誤差的影響,據(jù)此修正各層間的連接權(quán)值和閾值。通過兩個階段的多次反復(fù)修正,BP網(wǎng)絡(luò)的預(yù)測輸出不斷逼近期望輸出,直至網(wǎng)絡(luò)達(dá)到收斂[7]。
2.1遺傳算法
遺傳算法(Genetic Algorithms,GA)是模擬自然界遺傳機(jī)制和優(yōu)勝劣汰的生物進(jìn)化過程的一種全局性概率搜索算法。它將達(dá)爾文的生物進(jìn)化論引入優(yōu)化參數(shù)形成的編碼串聯(lián)種群中,根據(jù)所選擇的適應(yīng)度函數(shù)通過遺傳中的選擇、 交叉和變異操作對個體進(jìn)行篩選,產(chǎn)生一群適應(yīng)度更好的個體,新的種群不僅繼承了上一代的信息,更優(yōu)于上一代,如此反復(fù)循環(huán)直至收斂到一群適應(yīng)度最好的個體,求得最優(yōu)解[8]。圖2為遺傳算法的基本計算流程。
遺傳算法的3個基本操作:
圖2 遺傳算法的基本計算流程圖
(1) 選擇操作。根據(jù)個體的適應(yīng)度值,按照一定的規(guī)則從上一代種群中選擇出一些優(yōu)良的個體到下一代種群中,適應(yīng)度值越強的個體被選中的概率越大。
(2) 交叉操作。從種群中任選兩個個體,隨機(jī)選擇一點或多點染色體位置進(jìn)行交換,產(chǎn)生的新一代個體組合了父輩個體的特性。
(3) 變異操作。從種群中任選一個個體,以變異概率對染色體中一點或多點進(jìn)行變異,為產(chǎn)生更優(yōu)秀的個體提供了機(jī)會。
2.2基于遺傳算法的BP神經(jīng)網(wǎng)絡(luò)
對于BP神經(jīng)網(wǎng)絡(luò),連接權(quán)值和閾值是重要參數(shù),對網(wǎng)絡(luò)性能有很大影響。利用遺傳算法具有全局搜索能力且不易陷入局部極小點的特性,優(yōu)化BP網(wǎng)絡(luò)的連接權(quán)值和閾值,可使得計算結(jié)果全局最優(yōu)。優(yōu)化過程包括以下3個步驟,其流程如圖3所示。
(1) 確定BP網(wǎng)絡(luò)的結(jié)構(gòu)。根據(jù)擬合函數(shù)的輸入輸出參數(shù)個數(shù)來確定BP網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)而確定遺傳算法個體的長度。
(2) 遺傳算法優(yōu)化BP網(wǎng)絡(luò)的連接權(quán)值和閾值。對初始BP網(wǎng)絡(luò)的連接權(quán)值和閾值進(jìn)行編碼形成種群,通過適應(yīng)度函數(shù)計算每個個體的適應(yīng)度值,利用遺傳算法的選擇、 交叉和變異操作找到適應(yīng)度值最優(yōu)的個體,將其作為BP網(wǎng)絡(luò)新的連接權(quán)值和閾值。
圖3 遺傳算法優(yōu)化BP網(wǎng)絡(luò)算法流程圖
(3) BP網(wǎng)絡(luò)預(yù)測。利用遺傳算法優(yōu)化得到的連接權(quán)值和閾值對BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練,通過仿真得到預(yù)測函數(shù)輸出。
本文以項月文等[9]給出的1970~2014年閩粵贛交界及東南沿海地區(qū)的ML5.0以上(含)地震作為樣本來源,提取出7項測震學(xué)前兆指標(biāo)(時間窗長為地震發(fā)生前半年,以ML≥2.0地震計算)作為預(yù)報因子,對GA-BP神經(jīng)網(wǎng)絡(luò)在地震預(yù)報中的應(yīng)用效果進(jìn)行檢驗。表1為23個樣本的地震目錄,表2為提取出的預(yù)報因子及其歸一化結(jié)果。
Matlab是一款功能強大的數(shù)學(xué)軟件,可以進(jìn)行矩陣運算、 算法實現(xiàn)、 繪制函數(shù)和建模仿真等,尤其在數(shù)值計算方面首屈一指。它提供的遺傳算法和神經(jīng)網(wǎng)絡(luò)工具箱,使用戶可以從繁瑣的算法編程中解脫出來,只需要調(diào)用工具箱中的相關(guān)函數(shù)即可實現(xiàn)任務(wù)操作,本文以Matlab R2012b作為仿真測試平臺。
(1) 創(chuàng)建BP網(wǎng)絡(luò)。將選取的7個預(yù)報因子作為網(wǎng)絡(luò)輸入,真實發(fā)生的震級作為網(wǎng)絡(luò)輸出。采用單隱含層的網(wǎng)絡(luò)結(jié)構(gòu),隱含層神經(jīng)元的個數(shù)需通過多次訓(xùn)練比較網(wǎng)絡(luò)的非線性預(yù)測性能,在10~20之間選取確定一個最佳值。采用Matlab神經(jīng)網(wǎng)絡(luò)工具箱提供的創(chuàng)建函數(shù)newff構(gòu)建BP網(wǎng)絡(luò),依慣例將S型正切函數(shù)作為隱含層神經(jīng)元傳遞函數(shù)。因輸出向量已被歸一化到數(shù)值0.1~0.9之間,故將S型對數(shù)函數(shù)作為輸出層神經(jīng)元傳遞函數(shù),最后利用訓(xùn)練函數(shù)traingdx實現(xiàn)對網(wǎng)絡(luò)的訓(xùn)練。網(wǎng)絡(luò)創(chuàng)建的Matlab代碼為net=newff(threshold,[20,1],{′tansig′,′logsig′},′traingdx′);。
表1 23條震例地震目錄
表2 預(yù)報因子匯總及其歸一化結(jié)果
(2) 遺傳算法優(yōu)化BP網(wǎng)絡(luò)的連接權(quán)值和閾值。Matlab遺傳算法工具箱(GAOT)提供了一個標(biāo)準(zhǔn)的、 可擴(kuò)展的算法,其強大的矩陣運算能力可便捷地實現(xiàn)遺傳算法。利用函數(shù)initializega生成初始種群,種群規(guī)模設(shè)為200,最大遺傳代數(shù)設(shè)為100,對應(yīng)的適應(yīng)度子函數(shù)和編解碼子函數(shù)為gabpEval和gadecod。調(diào)用GAOT工具箱的主程序ga.m,選擇函數(shù)采用normGeomSelect,輸入?yún)?shù)為[0.09]; 交叉函數(shù)采用arithXover,輸入?yún)?shù)為[2]; 變異函數(shù)采用nonUnifMutation,輸入?yún)?shù)為[2 gen 3]。實現(xiàn)遺傳算法優(yōu)化的Matlab代碼為[x,endPop,bPop,trace]=ga(aa,′gabpEval′,[],initPpp,[1e-6 1 1],′maxGenTerm′,gen,′normGeomSelect′,[0.09],[′arithXover′],[2],′nonUnifMutation′,[2 gen 3]);。
(3) GA-BP網(wǎng)絡(luò)的訓(xùn)練與仿真。考慮到測試樣本需要覆蓋不同的震級范圍,按表3來劃分訓(xùn)練樣本和測試樣本,對GA-BP網(wǎng)絡(luò)進(jìn)行訓(xùn)練和仿真,其中訓(xùn)練樣本震級范圍為ML5.0~7.4,測試樣本震級范圍為ML5.0~6.2。通過比較隱含層神經(jīng)元個數(shù)在10~20之間不同取值時網(wǎng)絡(luò)的非線性預(yù)測性能,確定隱含層神經(jīng)元的最佳個數(shù)為20,網(wǎng)絡(luò)結(jié)構(gòu)為7×20×1。將測試樣本的網(wǎng)絡(luò)輸出進(jìn)行反歸一化,即得到相應(yīng)的震級預(yù)測值。表4為8個測試樣本的震級預(yù)測值及其絕對誤差。圖4為遺傳算法優(yōu)化過程的種群適應(yīng)度函數(shù)進(jìn)化曲線。圖5為GA-BP網(wǎng)絡(luò)的訓(xùn)練誤差曲線。
表3 訓(xùn)練樣本和測試樣本
表4 GA-BP神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)預(yù)測結(jié)果對比
如表4所示,8個測試樣本中除了18和19號外,其他6個測試樣本的震級誤差絕對值均在0.5級內(nèi),符合地震預(yù)報中對震級誤差的要求[10]。結(jié)果表明,本文創(chuàng)建的GA-BP神經(jīng)網(wǎng)絡(luò)模型及參數(shù)設(shè)置的應(yīng)用效果較好。
圖4 適應(yīng)度函數(shù)進(jìn)化曲線
圖5 GA-BP網(wǎng)絡(luò)的訓(xùn)練誤差曲線
(4) GA-BP網(wǎng)絡(luò)與BP網(wǎng)絡(luò)預(yù)測結(jié)果的比較。表4和圖6分別給出了兩種神經(jīng)網(wǎng)絡(luò)模型對同一組樣本的震級預(yù)測結(jié)果和誤差對比曲線。顯而易見,BP網(wǎng)絡(luò)的平均絕對誤差為0.5418,其中最大絕對誤差為1.4659,8個測試樣本中有4個(18、 19、 20和23號)絕對誤差大于0.5級(圖6中用虛線表示),預(yù)測效果不甚理想。而GA-BP網(wǎng)絡(luò)的平均絕對誤差為0.3008,其中最大絕對誤差為0.6824,較前者均有明顯下降,8個測試樣本中僅有2個(18和19號)絕對誤差大于0.5級(圖6中用實線表示),預(yù)測效果得到明顯提升。因此,通過遺傳算法對傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)連接權(quán)值和閾值的優(yōu)化,可使計算結(jié)果全局最優(yōu),能有效提高預(yù)測精度。
圖6GA-BP神經(jīng)網(wǎng)絡(luò)與BP神經(jīng)網(wǎng)絡(luò)的預(yù)測誤差曲線
(1) 本文提出了一種基于遺傳算法和人工神經(jīng)網(wǎng)絡(luò)相結(jié)合的地震震級預(yù)測方法,GA-BP神經(jīng)網(wǎng)絡(luò)利用遺傳算法具有全局搜索能力且不易陷入局部極小點的特性,優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的連接權(quán)值和閾值,使得計算結(jié)果全局最優(yōu),從而彌補BP算法收斂速度慢且易陷入局部極小點的不足。以1970~2014年閩粵贛交界及東南沿海地區(qū)的ML5.0以上(含)地震為研究樣本,提取出7個測震學(xué)前兆指標(biāo)作為預(yù)報因子,利用Matlab提供的遺傳算法和神經(jīng)網(wǎng)絡(luò)工具箱函數(shù)對未來半年內(nèi)可能發(fā)生的最大地震震級進(jìn)行GA-BP神經(jīng)網(wǎng)絡(luò)建模及預(yù)測。震例檢驗結(jié)果顯示,該優(yōu)化方法的震級預(yù)測精度較BP神經(jīng)網(wǎng)絡(luò)有明顯提升。
(2) 與項月文等[9]采用SOM網(wǎng)絡(luò)先聚類再分別用BP網(wǎng)絡(luò)建模預(yù)測的方法相比,本文提出的GA-BP神經(jīng)網(wǎng)絡(luò)方法由于無需事先對樣本分類,當(dāng)樣本數(shù)量較少時,不存在聚類后可能因某一分組樣本數(shù)量極少而影響訓(xùn)練仿真效果的問題,在少震地區(qū)的地震震級預(yù)測應(yīng)用中表現(xiàn)出一定優(yōu)勢。
(3) GA-BP神經(jīng)網(wǎng)絡(luò)較BP神經(jīng)網(wǎng)絡(luò)的震級預(yù)測精度雖然有較大提升,但8個測試樣本中仍有2個的絕對誤差超過了0.5級,這可能與以下3個原因有關(guān): 一是預(yù)報因子的選定,如何在眾多的地震前兆異常數(shù)據(jù)中選取出相關(guān)性高的預(yù)報因子,以獲得更好的網(wǎng)絡(luò)模型并沒有可靠的結(jié)論; 二是網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化,需要通過大量實驗找到更合適的網(wǎng)絡(luò)規(guī)模以獲得合適的解; 三是網(wǎng)絡(luò)模型的優(yōu)化算法,遺傳算法、 粒子群算法等對神經(jīng)網(wǎng)絡(luò)的優(yōu)化都有各自的優(yōu)缺點,選取何種算法能獲得最佳的優(yōu)化效果并沒有定論。這些問題都有待進(jìn)一步深入研究。
[1] 韓曉飛,潘存英,羅詞建. 基于遺傳算法的廣義回歸神經(jīng)網(wǎng)絡(luò)在地震預(yù)測中的應(yīng)用. 華北地震科學(xué),2012,30(1): 48-53
[2] 宋冬梅,時洪濤,單新建,等. 基于熱異常信息與BP神經(jīng)網(wǎng)絡(luò)的中強地震預(yù)測試驗. 地震地質(zhì),2015,37(2): 649-660
[3] 王娟,劉俊民,范萬春. 神經(jīng)網(wǎng)絡(luò)在震相識別中的應(yīng)用. 現(xiàn)代電子技術(shù),2004,27(8): 35-37
[4] 錢楓林,崔健. BP神經(jīng)網(wǎng)絡(luò)模型在應(yīng)急需求預(yù)測中的應(yīng)用----以地震傷亡人數(shù)預(yù)測為例. 中國安全科學(xué)學(xué)報,2013,23(4): 20-25
[5] 成小平. 人工神經(jīng)網(wǎng)絡(luò)方法及其在工程地震中的應(yīng)用研究. 國際地震動態(tài),2000(10): 12-14
[6] 王小川. MATLAB神經(jīng)網(wǎng)絡(luò)43個案例分析. 北京: 北京航空航天大學(xué)出版社,2013
[7] 張德豐. MATLAB神經(jīng)網(wǎng)絡(luò)應(yīng)用設(shè)計(第2版). 北京: 機(jī)械工業(yè)出版杜,2012
[8] 雷英杰,張善文. MATLAB遺傳算法工具箱及應(yīng)用(第二版). 西安: 西安電子科技大學(xué)出版社,2014
[9] 項月文,饒泓,湯蘭榮,等. 基于SOM和BP神經(jīng)網(wǎng)絡(luò)的地震預(yù)報技術(shù). 地震地磁觀測與研究,2015,36(4): 139-144
[10] 陳運泰. 地震預(yù)測----進(jìn)展、 困難與前景. 地震地磁觀測與研究,2007,28(2): 1-24
Study on the earthquake prediction based on GA-BP neural networks
Xiang Yuewen1),Rao Hong2),Tang Lanrong1),Xiao Jian1),Xiao Mengren1),Luo Li1)
1) Earthquake Administration of Jiangxi Province,Nanchang 330039,China 2) Nanchang University,Nanchang 330031,China
This article outlines the principle of genetic algorithm (GA) and BP neural network. Global optimum can be found using GA’s ability of global searching and being not liable to get the minimum to optimize the weights and the threshold of the BP neural network. The border area among Fujian, Guangdong and Jiangxi provinces and southeastern coast area are chosen as the research object. The indices of seismological precursor are used as predictors. The samples are studied and predicted by establishing GA-BP neural network. Simulation results show that the prediction accuracy of this method is better than BP neural network, which is quite valuable to the prediction of earthquake magnitude.
earthquake prediction; artificial neural network; genetic algorithm; BP neural network
2016-05-30; 采用日期: 2016-08-09。
項月文,e-mail: xyw601@163.com。
中國地震局三結(jié)合課題(課題編號: 141402)資助。
P315.75;
A;
10.3969/j.issn.0235-4975.2016.08.004