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