孫 毅
(太原理工大學水利科學與工程學院,山西太原030024)
土地是維系人類繁衍生息的基本資源。水土流失現象危害極嚴重,首先會直接導致可耕作土地資源的減少[1],其次流失的土壤會引起河道的淤積問題[2],此外水土流失也是土壤養分流失的重要誘因[3]。因此,開展水土流失機制、防治和預報等方面的工作,對環境保護、農業增產和促進經濟社會的可持續性發展具有極其重要的作用和意義。
目前,諸多學者從水土流失機制和預測2個方面開展了較多的科學研究,并取得了一定的成果。在水土流失機制方面,主要開展了降水[4-5]、坡度和坡型[6-7]、植被類型和植被覆蓋度[8-9]、土壤類型[10-11]、耕作措施[12-13]對土壤侵蝕量的影響研究,結果表明,這幾項因素對侵蝕量的影響均較為顯著。在土壤侵蝕預測方面,主要構建了一系列的經驗模型[14-16]和物理模型[17-18],隨著人工智能算法的發展,反向傳播(back propagation,簡稱BP)神經網絡在土壤侵蝕預測方面得到了廣泛的應用[19-23]。但前人建立的模型輸入項常常忽略了一些重要因素,主要包括植被覆蓋程度[20]、土質因素[21-22]、降水[23]等。此外,前人所建立的模型還存在適用范圍小、所采用的傳統算法存在搜索空間大,易陷入局部極值點等問題,這幾點限制了前人建立的模型在實際預測中的廣泛應用。因此,對全國較大范圍內土壤侵蝕量預測的研究有待進一步深入,模型優化算法的改進也是十分必要的。
萬有引力搜索算法(gravitational search algorithm,簡稱GSA)和人群搜索算法(seeker optimization algorithm,簡稱SOA)具有較好的收斂速度和尋優精度。目前,基于萬有引力算法和人群搜索算法優化后的BP神經網絡模型在水土流失方面的預測還未見相關報道,同時哪種模型更適合土壤侵蝕預測研究同樣也有待進一步深入。因此,本研究旨在構建基于萬有引力算法和人群搜索算法優化的BP神經網絡模型,實現土壤侵蝕的準確預報,以期為水土流失預測工作提供支持。
BP神經網絡是目前應用最廣泛的神經網絡模型之一。圖1為BP神經網絡的工作原理和基本網絡結構,它主要由輸入層、隱含層和輸出層3部分構成,m、q、n分別為這3層神經元的節點數,三者的職責各不相同,輸入層負責接收外界的輸入信息、隱含層負責內部信息的變換處理、輸出層負責向外界傳輸處理結果。完成1次完整的正向傳播處理后,若輸出信息與期望不吻合,便進入誤差反向傳播機制,通過不斷調整各層之間的網絡權值和閾值,使神經網絡的誤差平方和最小,如此反復直至達到期望要求為止。

萬有引力算法將所有粒子當作有質量的物體,在尋優過程中,所有粒子做無阻力運動。每個粒子都會受到空間中其他粒子萬有引力的影響,并產生加速度,向質量更大的粒子運動。由于粒子的質量與粒子的適度值相關,適度值大的粒子其質量也會更大。因此,質量小的粒子在朝質量大的粒子趨近的過程中逐漸逼近最優解。GSA的具體流程為
(1)設置初始化算法中所有粒子的位置與加速度,并設置迭代次數與算法中的參數。
(2)對每個粒子計算該粒子的適應值,利用公式(1)更新重力常數。

式中:G(t)表示隨引力變換的萬有引力常數;G0表示在t0時刻的G取值;T表示最大迭代次數;t表示時間;a表示粒子的加速度。
(3)由計算得到的適應度,利用公式(2)和公式(3)計算每個粒子的質量。

式中:fiti(t)表示粒子i的適應值;best(t)表示t時刻的最優解;worst(t)表示t時刻的最差解;mi(t)、mj(t)表示將第 i、j個粒子的適應值分別規范化到[0,1]之間;Mi(t)為粒子i的質量;N為粒子數。
(4)利用公式(4)至公式(7)計算每個粒子的加速度。


式中:ε表示1個非常小的常量;Maj(t)表示作用粒子j的慣性質量;Rij(t)表示粒子xi和xj的歐氏距離;(t)表示在第t次迭代過程中粒子i受到的作用力;(t)表示在第t次迭代過程中,個體j作用于個體i的力;Mii(t)表示被粒子的慣性質量;Mpi(t)表示作用粒子i的慣性質量;(t)、(t)為第j個和第i個粒子在第k維空間的位置;xi(t)和xj(t)為t時刻第i個和第j個粒子的位置;randj表示[0,1]區間的偽隨機數;t)表示粒子i在第k維空間t時刻的加速度。
(5)根據公式(8)計算每個粒子的速度,然后更新粒子的位置。

(6)如果未滿足終止條件,返回步驟(2);否則,輸出此次算法的最優解。
SOA模擬人的智能搜索行為,立足傳統的直接搜索算法,以搜索隊伍為種群,搜尋者位置為候選解,通過模擬人類搜尋“經驗梯度”和不確定推理,完成對問題測定的最優求解。SOA的實現步驟及具體過程如下:
(1)t→0。
(2)初始化。在可行解域隨機產生s個初始位置:

其中,i=1,2,3,…,s;t=0;M 為搜索空間中維數 j的最大值。
(3)評價。計算每個位置的目標函數值。
(4)搜尋策略。計算每個個體i在每一維j的搜索方向dij(t)及步長αij(t)。
(5)位置更新。按公式(9)更新每個搜尋位置。
(6)t→t+1。
(7)若滿足停止條件,停止搜索;否則,轉至步驟(3)。
其中,每一步分別計算每個搜尋者i在每一維j的搜索方向 dij(t)和步長 αij(t),且 αij(t)≥0,dij(t)∈{ -1,0,1)(i=1,2,3,…,s;j=1,2,3,…,M)。dij(t)=1 表示搜尋者 i沿著 j維坐標的正方向前進;dij(t)=-1表示搜尋者i沿著j維坐標的負方向前進;dij(t)=0表示搜尋者i沿著j維坐標保持靜止。確定搜索方向和步長后,根據公式(10)和公式(11),進行位置更新,通過不斷更新搜尋者的位置,得到更好的搜尋者,直到得到滿意的結果。

本研究中的數據來源于《中國水土保持公報》[24],樣本為全國不同水土流失典型監測點的土壤侵蝕量資料。圍繞影響土壤侵蝕量的諸多因素,從中篩選出物理意義表達明確和影響程度較高的5項作為該模型的輸入項,分別為地形、坡度、土壤類型、植被措施和降水。該模型的輸出項為土壤侵蝕量,總樣本數為194個,以7∶3的比例將該樣本分為訓練集和預測集,即樣本數分別為136個和58個。
當隱含層數量增加時,一定程度上會提高模型精度,但也可能會造成模型過于復雜等問題,通常選擇單隱含層為宜。隱含層節點數量一般通過經驗法與試算法相結合進行確定。根據經驗公式(12)可知,最優節點數范圍為4~12。輸入層和隱含層、隱含層和輸出層之間的信息傳遞分別采用logistic函數和purlin函數進行傳遞,神經網絡的訓練函數為trainlm,訓練目標誤差為0.000 1,最大訓練次數為5 000次。

式中:m為輸入層節點數;q為隱含層節點數;n為輸出層節點數;a為1到10之間的整數。
由圖2可知,當隱含層節點數增加時,神經網絡模型模擬值與實測值的平均相對誤差(mean absolute percentage error,簡稱MAPE)和均方根誤差(root mean square,簡稱RMSE)均呈現先逐漸減小后逐漸增大的變化趨勢。在多次試算中,當隱含層節點數為7個時,經過2 384次訓練后,模型的訓練誤差為7.108 9×10-5,能夠達到模型的訓練精度要求。因此,認為7個為合理的節點數。綜上所述,本研究中模型的拓撲結構為5-7-1。

圖3為訓練樣本的訓練效果圖。由圖3-a可知,BP、GSA-BP和SOA-BP模型的預測值與實測值間的線性方程的斜率分別為 0.988 3、0.998 3、1.010 0,說明所建立的 3 種模型的預測值和實測值間均具有較好的一致性。由圖3-b可知,BP、GSA-BP、SOA-BP模型的絕對百分誤差分別介于0.11% ~11.83%、0.07% ~9.85%和 0.10% ~6.70% 之間,平均相對誤差分別為6.73%、4.44%和 3.18%,3種模型的訓練誤差大小表現為BP>GSA-BP>SOA-BP。此外,采用t檢驗統計學方法對3種模型的預測值和實測值間的差異性進行分析。由表1可知,3種模型的預測值與實測值之間均無統計學差異。綜上所述,3種模型均滿足較好一致性、較高模擬精度的條件,達到了訓練要求,均可以用來進行土壤侵蝕量的預測工作。總體而言,SOA-BP模型的訓練效果最優。


表1 實測值與預測值t配對檢驗結果(訓練組)
由圖4-a可以看出,BP、GSA-BP、SOA-BP模型的預測值與實測值間線性方程的斜率分別為0.988 3、0.989 0和0.999 5,說明建立的3種模型的預測值和實測值間均具有較好的一致性。由圖4-b可知,BP、GSA-BP、SOA-BP模型的絕對百分誤差分別介于 0.35% ~13.89%、0.43% ~9.88%、0.01% ~6.81%之間,平均相對誤差分別為7.60%、5.63%、3.62%,說明 SOA-BP模型的預測誤差最小。此外,采用t檢驗統計學方法對3種模型預測值和實測值間的差異性進行分析。由表2可知,3種模型的預測值與實測值間的差異性均未達到顯著水平。綜上所述,3種模型的預測值與實測值之間具有較好的一致性和較高的模擬精度,為土壤侵蝕預測提供了一種高效準確的定量研究方法。相對而言,3種模型的預測效果好壞表現為SOA-BP>GSA-BP>BP。


表2 實測值與預測值t配對檢驗結果(預測組)
本研究以我國水土流失典型監測點土壤侵蝕模數為樣本,建立了基于BP神經網絡的土壤侵蝕預測模型,并分別采用萬有引力搜索算法和人群搜索算法對權值和閾值進行優化,從而得到GSA-BP、SOA-BP預測模型,并對3種模型的性能好壞進行對比研究。主要結論為(1)GSA-BP和SOABP模型分別融合了2種算法的局部搜索、全局迭代能力和神經網絡的泛化能力,可以實現全國水土流失典型監測點土壤侵蝕量的準確預報。(2)BP、GSA-BP、SOA-BP模型訓練樣本的平均相對誤差分別為6.73%、4.44%、3.18%,3種模型的訓練樣本誤差大小表現為BP>GSA-BP>SOA-BP。(3)BP、GSA-BP、SOA-BP模型預測樣本的平均相對誤差分別為7.60%、5.63%、3.62%,3種模型的預測誤差大小表現為BP>GSA-BP>SOA-BP。