張 凡
(山西省小浪底引黃工程建設(shè)管理局,山西 太原 030002)
基于GSA-BP神經(jīng)網(wǎng)絡(luò)的河流輸沙量研究
張 凡
(山西省小浪底引黃工程建設(shè)管理局,山西 太原 030002)
根據(jù)《中國河流泥沙公報》數(shù)據(jù)資料,建立了以河流名稱(編號)、時間、徑流量為輸入因子,河流輸沙量為輸出因子,拓?fù)浣Y(jié)構(gòu)為3-10-1的BP神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并針對BP神經(jīng)網(wǎng)絡(luò)模型的不足,采用了萬有引力搜索算法對BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值進(jìn)行優(yōu)化,并對該GSA-BP模型的模擬性能進(jìn)行了分析。結(jié)果表明:所建立的GSA-BP河流輸沙量預(yù)報模型模擬值與實(shí)測值的相關(guān)系數(shù)、平均相對誤差分別為0.999和3.65%,并且兩者之間無顯著的統(tǒng)計學(xué)差異。該模型的模擬值與實(shí)測值之間具有較好的一致性和較高的模擬精度,可以用于河流輸沙特性的定量預(yù)報。
萬有引力算法;BP神經(jīng)網(wǎng)絡(luò)模型;徑流量;河流輸沙量
河流的泥沙狀況,不僅關(guān)系河流本身的發(fā)展演變,也反映了流域的環(huán)境特性、水土流失程度及人類活動的影響。在規(guī)劃、防洪、水資源的利用和保護(hù)以及水土保持等方面的工作中,河流泥沙問題是必須考慮的重要因素。對我國相當(dāng)多的河流來講,治水必治沙,是中國水利的特點(diǎn)之一,也是難點(diǎn)之一[1]。許多學(xué)者圍繞著黃河進(jìn)行了大量的研究,例如黃河的輸沙量變化趨勢、人類活動對河流水沙變化的影響、水沙變化對地貌形成的影響、植被覆蓋對水沙變化的影響等方面的研究,并取得了一定的研究成果。
河流輸沙量的準(zhǔn)確預(yù)報有著至關(guān)重要的作用和意義,前人采用的預(yù)報方法主要包括:水文法及水保法、支持向量機(jī)法、小波神經(jīng)網(wǎng)絡(luò)法[2]、BP神經(jīng)網(wǎng)絡(luò)法等。河流的輸沙量年變化是一個復(fù)雜的非線性過程,可以將該變化過程看作為一個黑箱模型,通過構(gòu)建BP神經(jīng)網(wǎng)絡(luò)模型,從而為河流泥沙的動態(tài)變化研究提供有效工具。但BP神經(jīng)網(wǎng)絡(luò)模型在使用過程中會存在搜索空間大,易陷入局部極值點(diǎn)等問題,限制了它在實(shí)際預(yù)測中的廣泛應(yīng)用。
萬有引力算法(GSA)是基于牛頓萬有引力定律的一種元啟發(fā)式智能優(yōu)化算法,在收斂性方面要優(yōu)于粒子群算法和遺傳算法等智能算法。該算法目前在無人機(jī)航路規(guī)劃[3]、流水線調(diào)度[4]、邊坡穩(wěn)定分析[5]等方面得到了廣泛應(yīng)用,然而在河流輸沙量預(yù)報方面的研究鮮有報道。通過構(gòu)建基于萬有引力算法優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)河流的輸沙量準(zhǔn)確預(yù)報,為河流的水沙管理提供支持。
在1968年,以Rumelhart和McCelland為首的科學(xué)家小組首次提出了BP神經(jīng)網(wǎng)絡(luò),它是目前模擬精度相對較高、應(yīng)用范圍最廣的神經(jīng)網(wǎng)絡(luò)模型之一。通常BP神經(jīng)網(wǎng)絡(luò)由三部分構(gòu)成:輸入層、隱含層、輸出層。誤差反向傳播算法的學(xué)習(xí)過程,由信息的正向傳播和誤差的反向傳播兩個過程組成。外界的輸入信息首先由輸入層接收,并傳遞給中間層神經(jīng)元,然后經(jīng)過中間層的信息處理后,最終傳輸給輸出層,并由輸出層向外界輸出信息。當(dāng)輸出信息與期望不吻合時,便進(jìn)入誤差反向傳播機(jī)制,各層間的權(quán)值矩陣和閾值矩陣進(jìn)行不斷調(diào)整,如此反復(fù)直至達(dá)到期望要求為止。
萬有引力搜索算法GSA將所有粒子當(dāng)作有質(zhì)量的物體,在尋優(yōu)過程中,所有粒子做無阻力運(yùn)動。每個粒子都受到空間中其他粒子萬有引力的影響,并產(chǎn)生加速度向質(zhì)量更大的粒子運(yùn)動。由于粒子的質(zhì)量與粒子的適度值相關(guān),適度值大的粒子其質(zhì)量也會更大,因此,質(zhì)量小的粒子在朝質(zhì)量大趨近的過程中逐漸逼近最優(yōu)解。GSA搜索算法的具體流程如下:
步驟1:初始化算法中的所有粒子的位置與加速度,并設(shè)置迭代次數(shù)與算法中的參數(shù)。
步驟2:對每個粒子計算該粒子的適應(yīng)值,利用公式(1)更新重力常數(shù)。
其中,G(t)表示隨引力變換的萬有引力常數(shù)。G0表示在t0時刻G取值;T為最大迭代次數(shù);t為時間;a為粒子的加速度。
步驟3:由計算得到的適應(yīng)度利用式(2)和式(3)計算每個粒子的質(zhì)量,
其中,fiti(t)表示粒子的適應(yīng)值;best(t)表示t時刻中的最優(yōu)解;worst(t)表示t時刻中的最差解;mi(t)規(guī)范化到[0,1]之間的粒子適應(yīng)值。
步驟4:并利用公式(4)到公式(7)計算每個粒子的加速度。
步驟5:根據(jù)式(8)計算每個粒子的速度,然后更新粒子的位置。
步驟6:如果未滿足終止條件,返回步驟(2);否則,輸出此次算法的最優(yōu)解。
本研究的數(shù)據(jù)主要來源于《中國河流泥沙公報》,經(jīng)過整理得到2005—2013年長江、黃河、珠江、松花江4條河流的徑流量與輸沙量資料。本文將河流名稱(編號)、時間、徑流量3項作為輸入項,將輸沙量作為輸出項,隱含層節(jié)點(diǎn)數(shù)通過試算法進(jìn)行確定。資料總共有36組,其中28組作為訓(xùn)練組,其余8組作為預(yù)測組。
隱含層數(shù)目與模擬精度呈正比,但也可能會造成模型過于復(fù)雜等問題,通常選擇單隱含層為宜。本文采用擴(kuò)張法進(jìn)行節(jié)點(diǎn)數(shù)的確定,通過多次試算,發(fā)現(xiàn)當(dāng)節(jié)點(diǎn)數(shù)為10,經(jīng)過73次訓(xùn)練后,模型的訓(xùn)練誤差為7.1089E-5,能夠達(dá)到了模型的訓(xùn)練精度要求。并且在多次試算中,該條件的節(jié)點(diǎn)數(shù)和訓(xùn)練次數(shù)均最小,因此認(rèn)為10為合理的節(jié)點(diǎn)數(shù)。綜上所述,本研究的模型拓?fù)浣Y(jié)構(gòu)為3-10-1。輸入層傳遞函數(shù)為tansig函數(shù),訓(xùn)練函數(shù)為trainlm函數(shù),輸出層傳遞函數(shù)則為purelin函數(shù)。優(yōu)化算法采用共軛梯度法。訓(xùn)練目標(biāo)誤差為0.000 1。最大訓(xùn)練次數(shù)為1 000次。
圖1 訓(xùn)練組實(shí)測值與預(yù)測值相關(guān)性圖
圖2 訓(xùn)練組樣本相對誤差
圖1為訓(xùn)練組實(shí)測值與預(yù)測值間的相關(guān)關(guān)系圖。由圖1可以看出,實(shí)測值與預(yù)測值構(gòu)成的線性擬合模型的擬合度達(dá)到0.999 0,方程的斜率為1.006 1,說明預(yù)測值與實(shí)測值之間具有較強(qiáng)的線性相關(guān)性,并且預(yù)測值與實(shí)測值之間能夠保持較好的一致性。圖2為訓(xùn)練組各個樣本的相對誤差。由圖2可知,實(shí)測值與預(yù)測值之間的最大相對誤差為13.15%,最小誤差為0%,平均相對誤差為3.06%,模型的平均相對誤差較小。此外,本文采用統(tǒng)計學(xué)方法對實(shí)測值與預(yù)測值之間的差異性進(jìn)行了統(tǒng)計學(xué)分析,結(jié)果如表1所示。由表1可以看出,t值的絕對值小于t檢驗臨界值,即<t0.0(527)=2.052,實(shí)測值與預(yù)測值間的差異并未達(dá)到顯著水平。綜上所述,該BP神經(jīng)網(wǎng)絡(luò)模型具有較好的一致性和較高的模擬精度,達(dá)到訓(xùn)練要求,可以用來進(jìn)行輸沙量的模擬預(yù)報。
表1 實(shí)測值與預(yù)測值t配對檢驗結(jié)果(訓(xùn)練組)
圖4 預(yù)測組實(shí)測值與預(yù)測值相關(guān)性圖
圖5 預(yù)測組樣本相對誤差
圖3為預(yù)測組的實(shí)測值與預(yù)測值間的相關(guān)關(guān)系圖。由圖3可以看出,實(shí)測值與預(yù)測值構(gòu)成的線性擬合模型的擬合度達(dá)到0.998 7,方程的斜率為0.997 5,說明預(yù)測值與實(shí)測值之間具有較強(qiáng)的線性相關(guān)性,并且預(yù)測值與實(shí)測值之間能夠保持較好的一致性。圖4為訓(xùn)練組各個樣本的相對誤差。由圖4可知,實(shí)測值與預(yù)測值之間的最大相對誤差為12.81%,最小誤差為1.19%,平均相對誤差為3.65%,模型的平均相對誤差較小。表2為預(yù)測組樣本的實(shí)測值與模擬值間的統(tǒng)計學(xué)差異性分析結(jié)果。經(jīng)計算,實(shí)測值與預(yù)測值之間并無顯著的統(tǒng)計學(xué)差異。綜上所述,該BP神經(jīng)網(wǎng)絡(luò)模型的預(yù)測效果較好,能夠勝任河流的輸沙量預(yù)報模擬工作。
表2 實(shí)測值與預(yù)測值t配對檢驗結(jié)果(預(yù)測組)
本文將萬有引力搜索算法與BP神經(jīng)網(wǎng)絡(luò)結(jié)合用于建立河流輸沙量預(yù)報模型,把求解BP神經(jīng)網(wǎng)絡(luò)各層權(quán)值、閥值的過程轉(zhuǎn)化為萬有引力搜索最優(yōu)解的過程。以2005—2013年長江、黃河、珠江、松花江4條河流的徑流量與輸沙量資料作為研究樣本,提出了GSABP算法,構(gòu)建了河流輸沙量預(yù)報模型。該算法融合了萬有引力搜索算法的全局尋優(yōu)能力和神經(jīng)網(wǎng)絡(luò)的泛化能力。經(jīng)計算,該模型的訓(xùn)練組與模擬組的預(yù)報相對誤差分別為3.06%和3.65%,模擬值與實(shí)測值之間具有較好的一致性和較高的模擬精度,可以實(shí)現(xiàn)河流輸沙量的準(zhǔn)確預(yù)報。本研究構(gòu)建了河流輸沙量的定量預(yù)報模型,在具體應(yīng)用時,只用輸入河流代碼編號、預(yù)測時間、徑流量,便能準(zhǔn)確預(yù)報該條件下的河流年輸沙量。多種預(yù)測模型的相互結(jié)合,以及模擬算法的改進(jìn),也是進(jìn)一步的研究方向。
[1]吳華林,沈煥庭,朱建榮.河口泥沙通量研究綜述[J].泥沙研究,2001(5):73-79.
[2]彭荔紅,方志山,李祚泳.流域輸沙量和輸沙率的B-P人工神經(jīng)網(wǎng)絡(luò)預(yù)測[J].水土保持學(xué)報,2001,15(S1):22-25
[3]李沛,段海濱.基于改進(jìn)萬有引力搜索算法的無人機(jī)航路規(guī)劃[J].中國科學(xué):技術(shù)科學(xué),2012,10:1130-1136.
[4]谷文祥,李向濤,朱磊,周俊萍,胡艷梅.求解流水線調(diào)度問題的萬有引力搜索算法[J].智能系統(tǒng)學(xué)報,2010,05:411-418.
[5]蔣建國,譚雅,董立明,汪翠.改進(jìn)的萬有引力搜索算法在邊坡穩(wěn)定分析中的應(yīng)用[J].巖土工程學(xué)報,2016,03:419-425.
TV143+.4
C
1004-7042(2017)10-0006-03
張凡(1991-),男,2012年畢業(yè)于太原理工大學(xué)農(nóng)業(yè)水利工程專業(yè),助理工程師。
2017-08-11;
2017-09-19