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