侯 翔,湯元斌 (四川文理學(xué)院計(jì)算機(jī)科學(xué)系,四川 達(dá)州635000)
洪水預(yù)報(bào)是一種非常重要的非工程防洪措施,直接影響著防汛、水資源的合理利用和水利工程的管理等。目前,洪水預(yù)報(bào)模型 (如統(tǒng)計(jì)模型、確定性預(yù)報(bào)模型等)都是以實(shí)測(cè)數(shù)據(jù)為基礎(chǔ)建立起來的,由于許多條件的限制,上述洪水預(yù)報(bào)模型難以處理洪水預(yù)報(bào)中各要素之間的內(nèi)在關(guān)系。為此,筆者基于BP神經(jīng)網(wǎng)絡(luò)進(jìn)行了洪水預(yù)測(cè)的研究。
Rumelhart等[1]為了解決多層前向神經(jīng)網(wǎng)絡(luò)的權(quán)系數(shù)優(yōu)化,提出了前饋神經(jīng)網(wǎng)絡(luò)的核心算法——BP算法 (Error Back Propagation,BP),通常將使用BP算法的神經(jīng)網(wǎng)絡(luò)簡(jiǎn)稱為BP神經(jīng)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)解決了權(quán)系數(shù)優(yōu)化的問題,被廣泛應(yīng)用于函數(shù)逼近、模式識(shí)別等方面。
BP神經(jīng)網(wǎng)絡(luò)通常為3層結(jié)構(gòu),也可以是多層結(jié)構(gòu),由輸入層、輸出層和1個(gè)隱含層或者多個(gè)隱含層組成。BP神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)步驟如圖1所示,過程分為以下2個(gè)階段[2]:①信號(hào)正向傳播階段,即輸入信號(hào)從輸入層輸入,經(jīng)隱含層,最后進(jìn)入輸出層被轉(zhuǎn)化成輸出信號(hào)。當(dāng)輸出層不能夠得到理想輸出時(shí),就會(huì)轉(zhuǎn)入誤差信號(hào)反向傳播。②誤差信號(hào)反向傳播階段,即將誤差信號(hào)沿輸入信號(hào)傳播的途徑,從輸出層開始逐層的向前傳播。在返回過程中,誤差信號(hào)不斷調(diào)整各層神經(jīng)元聯(lián)接的權(quán)值。經(jīng)過多次調(diào)整后,使網(wǎng)絡(luò)的輸出信號(hào)無限逼近于理想輸出。
圖1 BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)步驟圖
多層BP神經(jīng)網(wǎng)絡(luò)模型圖如圖2所示。其中,P為輸入量;f(m)為第m層傳遞函數(shù);bm為第m層的偏置值;nm為第m層經(jīng)過累加后的凈輸入值;wm為第m層權(quán)值;om為第m層的輸出值。每一層網(wǎng)絡(luò)的輸出變成了下一層網(wǎng)絡(luò)的輸入,即:
其中首層神經(jīng)元從外部接收的輸入為o0=p;末層(輸出層)的輸出為:o=om。
圖2 多層BP神經(jīng)網(wǎng)絡(luò)模型圖
LM (Levenberg Marquardt)算法既具有Gauss-Newton法的局部收斂能力,又具備了最速下降法的全局特性[4]。通過自適應(yīng)調(diào)整阻尼因子來進(jìn)行收斂,提高了收斂速度,因而訓(xùn)練速度比其他算法快。LM算法公式如下:
式中,wb為聯(lián)接權(quán)值和閾值的向量;j(k)為一階雅可比矩陣;I為單位矩陣;mu為阻尼因子。
州河是嘉陵江流域渠江的一條支流,始于宣漢縣江口,蜿蜒流向西南,經(jīng)宣漢城南門、西北、東林、洋烈至千丘旁入達(dá)縣境。由東北向西南,經(jīng)達(dá)縣羅江鄉(xiāng)紅梁村曹家灣進(jìn)入達(dá)縣境內(nèi),穿過達(dá)州市和達(dá)縣的羅江、河市、渡市3個(gè)區(qū)的7個(gè)鄉(xiāng),于木頭鄉(xiāng)的大河咀出境,流入渠縣的農(nóng)樂、匯東、匯南等鄉(xiāng),在三匯鎮(zhèn)與巴河相匯,以下始稱渠江干流。州河流域面積8849km2,河長108km。多年平均流量190m3/s,最大流量13700m3/s (1902年),多年平均徑流總量60.1×108m3。河寬一般為200~300m。
在州河流域范圍內(nèi),根據(jù)文獻(xiàn) [3]對(duì)資料的要求,按照易獲取、資料連續(xù)、代表性強(qiáng)等原則[3],篩選出土黃、毛壩、黃金和東林共計(jì)4個(gè)水文站作為該流域的代表,采用2001~2006年間4個(gè)水文站的部分洪水的流量作為訓(xùn)練樣本,選擇2007年的流量作為測(cè)試樣本。利用相應(yīng)洪水流量建立BP神經(jīng)網(wǎng)絡(luò)模型:
式中,Q、Q1、Q2、Q3分別為東林站、土黃站、毛壩站、黃金站的洪水流量m3/s。
建立州河洪水流量預(yù)報(bào)模型時(shí),選擇一個(gè)輸入層、一個(gè)隱含層和一個(gè)輸出層的模型結(jié)構(gòu)。輸入層為3個(gè)節(jié)點(diǎn),即土黃站、毛壩站、黃金站的洪水流量 Q1(t)、Q2(t)、Q3(t);中間層為隱含層,需要通過實(shí)驗(yàn)來確定隱層的結(jié)點(diǎn)數(shù);輸出層為一個(gè)節(jié)點(diǎn),即東林站洪水流量Q(t+Δt),模型結(jié)構(gòu)如圖3所示。
BP神經(jīng)網(wǎng)絡(luò)的傳遞函數(shù)分為線性和非線性2種類型。由于研究對(duì)象為洪水,其具有非線性關(guān)系的特征,因而在建立BP神經(jīng)網(wǎng)絡(luò)時(shí),傳遞函數(shù)采用Sigmoid函數(shù)。為了加快BP神經(jīng)網(wǎng)絡(luò)的收斂性,有必要對(duì)所有的輸入值加以歸一化[4]:
圖3 州河洪水流量預(yù)報(bào)模型結(jié)構(gòu)圖
式中,p為當(dāng)前學(xué)習(xí)樣本;pmax為學(xué)習(xí)樣本中的最大值;pmin為學(xué)習(xí)樣本中的最小值;y為訓(xùn)練歸一化后的數(shù)據(jù)。
要選擇出符合實(shí)際情況的BP神經(jīng)網(wǎng)絡(luò)模型,其中最關(guān)鍵的一步是利用預(yù)測(cè)樣本來不斷測(cè)試已經(jīng)訓(xùn)練好的模型,直到選出適合的模型。而判斷一個(gè)BP神經(jīng)網(wǎng)絡(luò)是否符合實(shí)際情況,主要觀察其預(yù)測(cè)能力的高低,為此必須利用測(cè)試數(shù)據(jù)對(duì)已訓(xùn)練好的模型進(jìn)行檢驗(yàn)。優(yōu)選網(wǎng)絡(luò)訓(xùn)練參數(shù)為:預(yù)測(cè)精度goal=0.0001,學(xué)習(xí)速率lr=0.001,訓(xùn)練次數(shù)epochs=20000,網(wǎng)絡(luò)所用訓(xùn)練函數(shù)為trainlm,其余參數(shù)取默認(rèn)值。將已訓(xùn)練好的 (穩(wěn)定性與收斂性都符合要求)BP神經(jīng)網(wǎng)絡(luò)模型對(duì)2007年汛期 (5~10月)中33次洪水流量進(jìn)行預(yù)報(bào),并以文獻(xiàn) [3]的規(guī)定為標(biāo)準(zhǔn),對(duì)預(yù)報(bào)模型效果進(jìn)行評(píng)定。
圖4 基于BP神經(jīng)網(wǎng)絡(luò)模型的洪水預(yù)報(bào)流量與實(shí)測(cè)流量對(duì)比圖
基于BP神經(jīng)網(wǎng)絡(luò)模型的洪水預(yù)報(bào)流量與實(shí)測(cè)流量對(duì)比圖如圖4所示。由圖4可知,基于BP神經(jīng)網(wǎng)絡(luò)模型的洪水預(yù)報(bào)流量與實(shí)測(cè)流量十分吻合,說明采用LM算法的預(yù)報(bào)精度高,能夠應(yīng)用于洪水預(yù)報(bào)。
洪水具有不確定性即非線性的特點(diǎn),而人工神經(jīng)網(wǎng)絡(luò)能夠處理大規(guī)模復(fù)雜非線性動(dòng)力學(xué)問題。探討了利用BP神經(jīng)網(wǎng)絡(luò)進(jìn)行洪水預(yù)報(bào)的可行性。以州河上游段土黃站、東林站及區(qū)間支流的洪水為研究對(duì)象,基于BP神經(jīng)網(wǎng)絡(luò)建立考慮區(qū)間支流的洪水預(yù)測(cè)模型,利用該模型對(duì)東林站2007年的洪水進(jìn)行了預(yù)測(cè),預(yù)測(cè)結(jié)果與實(shí)測(cè)值十分符合,說明基于BP神經(jīng)網(wǎng)絡(luò)的洪水預(yù)測(cè)模型具有可行性。
[1]閔祥宇 .基于人工神經(jīng)網(wǎng)絡(luò)的渭河上游洪水預(yù)報(bào)研究 [D].蘭州:蘭州大學(xué),2011.
[2]范睿 .基于遺傳算法的神經(jīng)網(wǎng)絡(luò)洪水預(yù)報(bào)研究與應(yīng)用 [D].哈爾濱:哈爾濱工程大學(xué),2005.
[3]SL250-2000,水文情報(bào)預(yù)報(bào)規(guī)范 [S].
[4]閻平凡,張長水 .人工神經(jīng)網(wǎng)絡(luò)與模擬進(jìn)化計(jì)算 [M].北京:清華大學(xué)出版社,2000:26-27.