摘?要:地震作為世界上最具破壞力的天然災(zāi)害之一,其不可預(yù)測性和地震學(xué)的局限性使我們常常后知后覺?,F(xiàn)如今,在經(jīng)過近70年的研究之后,人工神經(jīng)網(wǎng)絡(luò)在預(yù)測方面取得了突破性的進(jìn)展。作者借助MATLAB中神經(jīng)網(wǎng)絡(luò)工具箱和目標(biāo)地區(qū)的地震數(shù)據(jù),使用BP神經(jīng)網(wǎng)絡(luò),成功實(shí)現(xiàn)了地震震級的預(yù)測。
關(guān)鍵詞:人工神經(jīng)網(wǎng)絡(luò);BP神經(jīng)網(wǎng)絡(luò);天然地震預(yù)測
1?緒論
我國近幾十年發(fā)生了多起大規(guī)模的、強(qiáng)破壞力的大地震。每次的大地震災(zāi)區(qū)人民死傷無數(shù),造成的經(jīng)濟(jì)損失高達(dá)幾千、上萬億。
地震制造的災(zāi)害主要分為三種——直接災(zāi)害、間接災(zāi)害和次生災(zāi)害。直接災(zāi)害是指在地震發(fā)生時,地震波對地面沖擊造成的直接破壞,如房屋倒塌、橋梁斷裂、道路裂縫等;間接災(zāi)害是指地震波傳到地面后引起的介質(zhì)變化而造成的災(zāi)害,如土壤的“軟化”或“液化”、地震引發(fā)的海嘯等;次生災(zāi)害是指火災(zāi)、泥石流、蟲災(zāi)等。
目前,地震預(yù)測[1]主要分為長期(10年以上)、中期(1~10年)和短期(1~100日)。地震的長期預(yù)測方面,主要是板塊邊界大地震安全區(qū)的確認(rèn),即在指定的某一段斷層上,將會周期的發(fā)生地震;地震的中期預(yù)測方面,最突出的是計(jì)算機(jī)圖像識別技術(shù),克依利斯-博羅克及其俄國同事提出了一種“增加概率的時間”的中期預(yù)測方法,運(yùn)用計(jì)算機(jī)圖像識別技術(shù),識別出大地震將要來臨時的預(yù)警信息;地震的短期預(yù)測方面,主要是通過地震的一些前兆,如水位、水質(zhì)的異常變化、動物的異常反應(yīng)、電磁波異常等等。
而隨著科學(xué)技術(shù)的飛速的發(fā)展,各種技術(shù)也是越來越多。由于當(dāng)代地震學(xué)還未做到能夠直接透過地層來觀察地下活動情況,所以我們無法通過普通地震學(xué)對天然地震進(jìn)行預(yù)測。人工神經(jīng)網(wǎng)絡(luò)在處理大量無明顯關(guān)聯(lián)的數(shù)據(jù)集時有著自我學(xué)習(xí)、自我適應(yīng)的特點(diǎn)[2],在金融預(yù)測、股票市場中人工神經(jīng)網(wǎng)絡(luò)發(fā)揮著不可取代的作用。本文主要討論的是在天然地震中的應(yīng)用。
2?BP神經(jīng)網(wǎng)絡(luò)的算法原理
BP學(xué)習(xí)算法的基本原理是“梯度下降法”或稱為“最速下降法”,它是求解無約束最優(yōu)化問題的最常用的方法之一,其優(yōu)點(diǎn)是實(shí)現(xiàn)起來比較簡單。其中心思想是通過不斷的調(diào)整權(quán)值使網(wǎng)絡(luò)的總誤差縮小到目標(biāo)誤差范圍內(nèi)。BP神經(jīng)網(wǎng)絡(luò)的權(quán)值調(diào)整方向是從輸入端層層往下逐一調(diào)整,最后通過將實(shí)際輸入與目標(biāo)輸入進(jìn)行對比,直到達(dá)到最小誤差范圍內(nèi)。整個過程就是一個逐層傳播,逐個調(diào)整的過程。
BP神經(jīng)網(wǎng)絡(luò)在實(shí)際運(yùn)用中是包含了雙向傳播的,并不是單一的正向傳播,還多了一個反饋傳播。所謂正向傳播就是數(shù)據(jù)通過輸入節(jié)點(diǎn)進(jìn)入網(wǎng)絡(luò),經(jīng)過隱含層的處理,最終得出一個結(jié)果。反饋傳播是當(dāng)目標(biāo)輸出與實(shí)際輸相差沒有在最小誤差范圍內(nèi),這時節(jié)點(diǎn)就會向他的上一個節(jié)點(diǎn)發(fā)送信息,修改其權(quán)值,然后再正向傳播下來,直到誤差在最小誤差范圍內(nèi)。
具有隱含層的BP網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示。
3?BP神經(jīng)網(wǎng)絡(luò)的計(jì)算
在BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練學(xué)習(xí)時,假設(shè)共有N個訓(xùn)練樣本,先用其中的某一組樣本數(shù)據(jù)輸入到網(wǎng)絡(luò)中(輸入值、輸出值),對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。當(dāng)網(wǎng)絡(luò)穩(wěn)定以后可以拿樣本數(shù)據(jù)中的若干條數(shù)據(jù)進(jìn)行測試,如果出現(xiàn)誤差過大,則需要通過增加數(shù)據(jù)量來提高網(wǎng)絡(luò)的準(zhǔn)確性。把輸入數(shù)據(jù)記作xp、輸出數(shù)據(jù)記作tp。則隱含層的第I個神經(jīng)元在輸入數(shù)據(jù)作用下為:
netpi=∑Mj=1ωijopj-θi=∑Mj=1ωijxpj-θi(i=1,2,…,q)
式中,xpj是輸入節(jié)點(diǎn)J在樣本P作用時的輸入;opj是輸入節(jié)點(diǎn)J在樣本P作用時的輸出;ωij為輸入層神經(jīng)元J與隱含層神經(jīng)I之間的連接權(quán)值;θi為隱含神經(jīng)元I的閾值;M為輸入層的節(jié)點(diǎn)數(shù)。
隱含層第I個神經(jīng)元的輸出為:
opj=g(netpi)(i=1,2,…,q)
式中g(shù)()為激活函數(shù)。
對于SIGMOID型激活函數(shù)表達(dá)式為:
g(x)=11+exp[-(x+θ1)/θ0]
式中,θ1表示偏值,如果偏值為正,則激活函數(shù)會水平向左移動,偏值為負(fù),則激活函數(shù)會水平向右移動;θ0是用來控制激活函數(shù)變化的快慢,如果θ0較小激活函數(shù)就會變化非??欤诤瘮?shù)圖像上表現(xiàn)為陡峭;如果θ0較大激活函數(shù)就會變得比較慢,在函數(shù)圖像上表現(xiàn)為平緩。
隱含層激活函數(shù)g(netpi)的微分函數(shù)為:
g′(netpi)=g(netpi)[1-g(netpi)]=opi(1-opi)(i=1,2,…,q)
隱含層的神經(jīng)元經(jīng)過計(jì)算得出的結(jié)果乘上一個加權(quán)系數(shù)傳遞到輸出層的第K個神經(jīng)元,作為基輸入之一,所有隱含層神經(jīng)元的結(jié)果分別乘上其權(quán)值再相加起來的最終結(jié)果才是第K個神經(jīng)元的真正輸入,即第K個神經(jīng)元的輸入為:
netpk=∑qi=1ωkiopi-θk(k=1,2,…,L)
式中,ωki為隱含層神經(jīng)元I與輸出層神經(jīng)元K之間的連接權(quán)值;θk為輸出層神經(jīng)元K的閾值;Q為隱含層節(jié)點(diǎn)的個數(shù)。
輸出層的第K個神經(jīng)元的實(shí)際輸出為:
opk=g(netpk)(k=1,2,…,L)
輸出層激活函數(shù)g(netpk)的微分函數(shù)為:
g′(netpk)=g(netpk)[1-g(netpk)]=opk(1-opk)(k=1,2,…,L)
通過實(shí)際輸出與目標(biāo)輸出的比對,如果其誤差較大,則由反饋傳播反向的將信息傳遞到隱含層,不斷地修改其權(quán)值,使之達(dá)到最小誤差范圍內(nèi)。完成了一組樣本數(shù)據(jù)的訓(xùn)練后,將其余的數(shù)據(jù)都一一對網(wǎng)絡(luò)進(jìn)行訓(xùn)練。在訓(xùn)練過程中可以保留一組數(shù)據(jù)作為檢驗(yàn)樣本,只把輸入數(shù)據(jù)通過輸入端輸入網(wǎng)絡(luò),得到實(shí)際結(jié)果后與目標(biāo)輸入進(jìn)行比較,可以判斷出該網(wǎng)絡(luò)的效果如何。
4?參數(shù)的優(yōu)選和數(shù)據(jù)的處理
地震的參數(shù)一般有5個主要參數(shù),即地震時間、震中經(jīng)度、震中緯度、震級、深度。一般人對于3級地震就有明顯感覺,5級地震有破壞力,所以作者選取了5級以上的地震發(fā)生次數(shù)作為預(yù)測參數(shù),同時選取地震發(fā)生的次數(shù)、經(jīng)度、緯度、能量、深度作為輸入?yún)?shù),震級作為目標(biāo)輸出。地震釋放的能量是可以通過震級計(jì)算出來的,其計(jì)算公式為:
E=10^4.8×10^(1.5M)
式中,E為釋放的能量,單位為焦耳;M為震級。由于地震所釋放的能量太大,故表中的能量單位為兆焦(MJ),1MJ=106J;深度單位為千米(km)。
中國地震臺網(wǎng)(http://news.ceic.ac.cn),該網(wǎng)站實(shí)時提供了全世界范圍內(nèi)的天然地震的發(fā)生情況以及歷時地震的查詢,并且支持下載到本地表格。筆者選取了2019年各月份發(fā)生的地震作為原始數(shù)據(jù),并通過處理得到新疆地區(qū)發(fā)生的地震的目標(biāo)數(shù)據(jù)。再經(jīng)過匯總得到實(shí)驗(yàn)所需要的數(shù)據(jù)表,如下表所示。
5?MATLAB實(shí)現(xiàn)
本試驗(yàn)采用的是BP神經(jīng)網(wǎng)絡(luò)模型,將網(wǎng)絡(luò)設(shè)計(jì)為一個兩層的BP網(wǎng)絡(luò)。由上表可知輸入數(shù)據(jù)有6維,故輸入層神經(jīng)元個數(shù)為6;輸出數(shù)據(jù)只有一維,故輸出神經(jīng)元個數(shù)為1;中間隱含層神經(jīng)元個數(shù)為13個(隱含層神經(jīng)元個數(shù)一般與輸入神經(jīng)元個數(shù)關(guān)系為q=2M+1,M為輸入神經(jīng)元個數(shù),q為隱含神經(jīng)元個數(shù))。
將前9個月的數(shù)據(jù)全都作為訓(xùn)練數(shù)據(jù),輸入到網(wǎng)絡(luò)。最大訓(xùn)練次數(shù)設(shè)置為1000次,誤差設(shè)置為0.001,學(xué)習(xí)速率設(shè)置為0.1。由于BP神經(jīng)網(wǎng)絡(luò)的參數(shù)需要在[0,1]之間,所以首先要進(jìn)行歸一化處理,處理之后的數(shù)據(jù)如表1-2所示。
經(jīng)過4次訓(xùn)練,網(wǎng)絡(luò)已經(jīng)收斂。
將9月份的參數(shù)作為測試數(shù)據(jù)輸入到網(wǎng)絡(luò)中結(jié)果如圖2所示。
由于輸入數(shù)據(jù)是經(jīng)過歸一化之后的數(shù)據(jù),所示產(chǎn)生的輸出也是歸一化之后的輸出,要想得到原始數(shù)據(jù),我們只需要再進(jìn)行一次反歸一化處理就可以了,如圖3所示。
實(shí)際數(shù)據(jù)為4.8級,預(yù)測輸出為4.796級,由此可見預(yù)測成功。
6?結(jié)語
針對2019年新疆地區(qū)的地震數(shù)據(jù)信息,本文采用了計(jì)算機(jī)高級技術(shù)語言—MATLAB,由于BP神經(jīng)網(wǎng)絡(luò)的輸入數(shù)據(jù)必須在[0,1],所以首先進(jìn)行了歸一化處理,將數(shù)據(jù)輸入到網(wǎng)絡(luò),讓網(wǎng)絡(luò)進(jìn)行訓(xùn)練,最后將9月份地震數(shù)據(jù)作為測試樣本輸入網(wǎng)絡(luò),經(jīng)過反歸一化的處理,成功得到目標(biāo)輸出。當(dāng)然,本文所實(shí)驗(yàn)的方法只是證明了人工神經(jīng)網(wǎng)絡(luò)在地震預(yù)測方面的可行性,選用的數(shù)據(jù)也都是發(fā)生過的數(shù)據(jù),對于未發(fā)生的地震還需要進(jìn)行更深層次的研究。
參考文獻(xiàn):
[1]陳運(yùn)泰.地震預(yù)測——進(jìn)展、困難與前景[J].地震地磁觀測與研究,2007,28(2):1-24.
[2]李國勇.神經(jīng)模糊控制理論及應(yīng)用[M].電子工業(yè)出版社,2009.
[3]姜金征,等.人工神經(jīng)網(wǎng)絡(luò)在地震預(yù)測中的應(yīng)用[J].山西建筑,2013,39(1):21-23.
作者簡介:陳威(1995—),男,本科,長江大學(xué)地球物理與石油資源學(xué)院在讀研究生。