張 炎,劉立龍*,梁月吉,徐 勇,黃順謀,陳金磊
(1.桂林理工大學 測繪地理信息學院,廣西 桂林 541006;2.廣西空間信息與測繪重點實驗室,廣西 桂林 541006;3.鄭州騰飛建設工程集團有限公司,河南 鄭州 450000)
攔蓄水流的大壩通??梢詭盹@著的經濟效益,然而一旦發生決堤事件,將會嚴重損害大壩周邊人民的生命財產安全,實時掌握大壩的變形規律并做好預測至關重要[1]。經過長期的大壩監測研究發現,影響大壩變形的因素主要有氣候、庫水位、材料特性、時效和溫度等,其中溫度、時效和庫水位占比重最大[2]。大壩位移是大壩變形的直接體現,其具備高度的非線性與隨機性,傳統的預測方法難以滿足現今大壩變形監測的高精度要求[3]。隨著大壩監測模式的不斷改變,組合預測模型越來越多地應用到大壩變形監測領域中。陳波等[4]提出采用瑞利分布構造滯后函數,分析了大壩變形受到模擬寒區復雜溫度荷載的影響,構建了考慮溫度連續滯后效應和幅值削減效應的寒區混凝土壩變形預測預報模型。馬廣臣等[5]通過動態權重粒子群算法——自適應模糊神經網絡組合法來構建大壩變形預測模型,利用改進粒子群算法對自適應模糊神經網絡中模糊層的適應度值進行參數尋優,使預測模型的穩定性得到加強。胡清義等[6]采用將IDE應用于優選對OSVR中的懲罰參數和核參數,引入的自適應因子對基本差分進化算法進行改進,建立了壩體、壩基位移與材料參數的非線性關系,從而得到壩體及壩基變形模型。目前所提及的生物智能算法參數尋優存在運算效率較低且參數設置較為復雜的問題,需要進一步改進。
本文提出利用天牛須搜索(Beetle Antennae Search,BAS)算法優化隨機森林(Random Forest,RF)算法來建立大壩水平位移預測模型。RF算法在許多領域已得到廣泛的應用,其具備抗過擬合和預測精度高的優勢。利用計算量低且運算速度快的BAS優化算法來為RF回歸算法選取參數最優解,能夠近一步提高模型預測的精準性。將改進后的模型應用于大壩水平位移的預測中,并與傳統的預測模型進行對比,驗證其穩定性及現實性。
2017年,Jiang等[7]提出了一種新的生物智能算法——BAS算法,也稱為甲殼蟲須搜索算法。天牛在覓食的過程中,主要是根據左右觸須接收的信息來判別目標具體方位及距離,與蜂群算法、灰狼算法等相比,該算法僅需要一個獨立個體,參數少、計算簡單、搜尋速度較快[8-9]。具體過程是:天牛通過左右雙須可以同時接收到食物散發氣味的濃度,如果左觸須收集到的食物氣味的濃度高于右觸須,則天牛向左觸須提供的方向移動,反之,則向右觸須提供的方向移動。整個過程實質上就是尋找散發氣味最濃的食物的具體位置[7]。搜索過程如圖1所示。

圖1 天牛搜尋食物過程Fig.1 Process of longhorn beetles searching for food
根據天牛搜尋食物的過程,可以總結出天牛搜索算法的關鍵步驟:(1)根據天牛在現實中覓食的行為可以模擬出在虛擬世界中天牛在多維空間中計算函數極值的結果情況;(2)盡管實際天牛的左右兩須長度不一,虛擬天牛必須保持左右兩須相互對稱;(3)天牛覓食過程中,身體前進方向具備隨機性,且移動距離與左右觸須間距離成比例。具體過程如下:
① 確定隨機方向
天牛在搜尋食物的過程中,前進的方向是隨機的,左右兩須所指方向也具備不確定性,則其前進方向向量可以表示為:
(1)
式中,n為空間維數;rand(·)為隨機方向。
② 確定天牛左右須的空間坐標
通過天牛覓食的行為來模仿天牛觸須情況以確定左右須坐標,表示為:
(2)
式中,xl為左須指定坐標;xr為右須指定坐標;xt為在迭代第t次時天牛所處的具體位置;Lt為第t次迭代時天牛兩須之間的距離。
③ 選定適應度函數表達式
(3)
式中,f(·)為適應度函數;fl,fr分別為天牛的左、右兩須的適應度函數,對于待優化的函數值f,判斷左右兩須的值的大?。?/p>
若fl 若fl>fr,則天牛朝著右須的方向前進距離s,即x=x-s×normal(xl-xr)。 綜上情況,可以將以上2種情況采用符號函數sign統一寫成: x=x-s×normal(xl-xr)×sign(fl-fr), (4) 式中,normal為歸一化函數,可進一步表示為: x=x-s×a×sign(fl-fr)。 (5) ④ 確定下一次迭代時天牛的前進距離及方向 在迭代搜尋的過程中,步長隨著迭代次數的增加也在隨之改變,從而確保最大范圍搜索到氣味濃度最大的食物的位置,可以表示為: xt=xt-1+st×a×sign(fl-fr), (6) 式中,st為迭代第t次的步長。 天牛在搜尋食物的過程中,天牛的行進步長s與兩須之間的距離L0之間的比值是個固定常數,即: s=c×L0, (7) 式中,c為步長因子,c∈[0,1],通??扇=0.95,則: st=0.95×st-1+0.01。 (8) 在天牛算法尋優的過程中,剛開始,為保證全局范圍內尋優,避免陷入局部最優,搜索步長應足夠大,在搜索尋優后期,隨著迭代次數的增加,步長將隨之逐步減小。為提高算法的收斂速度,當迭代第i次的適應度值fi小于當前的最佳適度值fm,步長調節機制可以改進如下: (9) 式中,θ∈[0,2],為隨機選取的常數。當fi大于歷史最佳適度值fm時,則步長因子為c,否則,步長因子為g。通過不斷減小步長因子來提高算法尋優的收斂速度,使適應度值逐漸穩定于最佳值。 RF算法是Breiman等提出的一種由Bagging和分類回歸樹(Classification and Regression Tree,CART)相結合的分類回歸模型[10]。在訓練集中利用bootstrap重抽樣技術來隨機抽取樣本集,其中決策樹是通過二分遞歸分割技術將樣本集進行一分為二的分割,引入袋裝法和特征子空間法來對訓練樣本集進行抽樣,在促進決策樹生長的過程中,毫無約束、最大限度地成長,最終多棵決策樹組成RF分類器,對數據訓練集進行分類預測,將預測均值作為最終預測結果[11]。彌補決策樹單一分類器所存在的易陷入局部最優及預測結果存在偶然性的缺陷。 在RF算法中,各個單一決策樹之間毫無關聯,獨立存在,所以分節點處的特征值均是隨機抽取的[12]。在決策樹分枝的過程中,主要是通過最小信息化原則依據每個子節點上的基尼不純度平均減小值來劃分出最佳分類特征,依次分枝形成下一個子節點,最終建立無約束的回歸模型樹。針對分類問題,CART使用基尼指數(Gini)作為評判標準,若有n棵樹,則: (10) 式中,Gini為基尼指數;i為特征分類數量;Pi為目前特征類別的概率;1-Pi為特征樣本特征歸類錯誤的概率。由式(10)可以看出,特征分類越平均,Gini的值越大;分類越不均勻,Gini值越小。 對于回歸問題,在n個節點分枝成為2個節點之后,Gini將趨近于最小化,則該特征值對應的Gini為: |Gini|=min[min∑(wi-b1)2+∑(wi-b2)2], (11) 式中,在分枝為2個節點處的樣本集y1,y2中,wi為輸入樣本;b1,b2分別為2個樣本的輸出均值。 在利用RF建模的過程中,盡管算法會受到眾多參數的影響,但其中能夠決定模型預測精度及穩定性的主要參數是決策樹的個數和分裂屬性個數,常用ntree和mtry表示。ntree的值越大,預測過擬合的效果越小,一般不小于100。mtry是指決策樹在進行分裂時所生成的節點數量,其值越大,則子模型間的差異越小[13]。目前,常規RF算法中常利用人工經驗、網格搜索的方法進行RF參數的標定,所提供的參數在訓練過程中難以達到擬合結果最佳的效果。引入BAS算法來進行RF模型參數調優,進一步來提高RF模型的預測精度。 由混凝土大壩結構成因分析,大壩產生水平位移主要受溫度、水壓和時效的影響,從而產生變形、裂縫、滑動力和滲流等現象[14]。這些因素之間呈現出非線性關系,傳統的預測模型有時會受到多重共線性的影響,最終的預測效果難以達到實際工程的要求[15]。本文提出利用RF方法來解決多重變量間的交互作用,考慮到RF算法的預測精度受到決策樹個數和分類屬性個數的影響,進而引入天牛尋優算法進行參數優化,最終利用BAS-RF組合算法來構建大壩水平位移預測模型,具體步驟如下: ① 利用統計學方法對收集的大壩水平位移監測數據進行初步處理,剔除存有缺陷的數據,保證參與實驗數據的可靠性,并將數據集分為訓練集和測試集,進行歸一化; ② 初始化BAS算法的參數,設定步長因子、最大迭代次數和天牛的初始位置; ③ 選定BAS參數優化中的適應度函數,分析理解ntree,mtry與均方根誤差之間的函數關系來構建BAS算法的適應度函數,具體如下: (12) ④ 確定天牛初始的位置,首先需要計算出天牛左右須的適應度函數值f(xl)和f(xr),比較保留記錄最佳函數值的天牛位置; ⑤ 更新迭代天牛的位置,對左右須收集到的氣味濃度進行比較,獲取最佳食物氣味濃度的傳播方向,選定前進方向的步長值,計算出天牛下一次所到達的位置; ⑥ 根據設定的最大迭代次數或預先設定的適應函數值的理想精度是否達到,判斷之后的操作,若滿足要求,則參數輸出進行下一步,否則重新迭代更新天牛位置,繼續參數尋優過程; ⑦ 獲取迭代結束輸出的最佳參數值,將其帶入RF預測模型中,計算輸出預測值,進行精度評定分析。具體的操作流程如圖2所示。 圖2 BAS-RF預測模型流程Fig.2 BAS-RF prediction model flowchart 本文數據選擇的是豐滿大壩30號壩段1985年1月—1988年7月的壩頂水平位移及同期溫度、時效以及庫水位的監測數據[16]。豐滿大壩壩頂全長1 080 m,其中最大的壩高91.7 m,壩頂高程加固后為267.7 m。大壩共有60個壩段,左右兩邊有37個壩段,11個溢流壩段,11個廠房取水壩段和1個過渡壩段,每個壩段的長度均為18 m,最大壩基寬度65 m,壩頂寬度9.0~13.5 m。將所選用的30號壩的200組監測數據中的150組作為訓練樣本集用于預測模型建立,50組數據作為訓練模型的檢測。大壩水平位移序列如圖3所示 。 圖3 大壩水平位移序列Fig.3 Horizontal displacement sequence of the dam 大壩水平位移變形主要受溫度、時效和水壓的影響,即: δ=δθ+δT+δH, (13) 式中,δθ為時效分量;δT為溫度分量;δH為水壓分量。 根據文獻[17]通過屬性約簡和重要性評價結果選定時效分量(θ,lnθ),溫度分量(sin(2πt/365),sin(4πt/365),cos(2πt/365),cos(4πt/365))和水壓分量(H,H2,H3),共9項影響因子作為輸入量,大壩水平位移作為輸出值。 針對RF算法中參數的選擇,傳統RF算法中選用網格搜索法來尋找ntree和mtry兩個參數,最終的預測效果往往難以達到理想值。本文引入BAS算法來進行參數優化,建立大壩水平位移預測模型,相較于常規方法,預測結果更為穩定。 網格搜索算法(Grid Search Algorithm,GSM)是一種通過遍歷給定的參數組合來優化模型表現的方法,是常規RF算法中尋找參數的常用方法[18]。其將所有參數可能存在的值進行排列分組,并將所有的組合利用網格的形式呈現出來,全部用于RF模型的參數值,利用訓練數據構建模型,選出預測效果最優的模型所對應的參數值即為所尋找的最適參數值[19]。對于RF算法中的ntree和mtry兩個參數,分別將其尋優區間設置為[10,800]和[1,15],且尋優間隔為4和1,選擇均方根誤差作為評判的目標函數,從而獲取RF算法中的參數值。 在利用BAS算法進行優化尋參時,最大迭代次數設置為100,維數為2,天牛初始步長為1,步長衰減因子為0.95,且確定ntree,mtry和均方根誤差值間的函數關系,設定兩參數的取值區間分別為[10,800]和[1,15]。通過選定的訓練數據集通過BAS算法優化迭代選定出最優解,如圖4所示。當迭代次數達到15之后,目標函數達到最小值,此時的均方根誤差為0.534 mm。 圖4 天牛迭代尋參Fig.4 Longhorn beetles iterative search for parameters 為了驗證BAS-RF預測模型的優越性,本實驗分別利用BP,LSSVM,RF及BAS-RF四種方法來建立大壩水平位移預測模型,其中通過GSM和天牛搜尋算法為RF算法建模所提供的參數分別為(171,1)和(155,1),2種算法最終選定的參數相差不大,但GSM在尋參的過程中迭代的次數為1 213,尋參時長要遠遠大于天牛搜索算法,表明天牛搜索算法收斂速度更快。在4種方法建立大壩水平位移預測模型后,將選定的測試集輸入各個預測模型進行精度檢驗,獲取其預測曲線,如圖5~圖8所示。 圖5 RF建模預測結果Fig.5 RF modeling prediction results 圖6 BP建模預測結果Fig.6 BP modeling prediction results 圖7 LSSVM建模預測結果Fig.7 LSSVM modeling prediction results 圖8 BAS-RF建模預測結果Fig.8 BAS-RF modeling prediction results 利用150組訓練集數據建立水平位移預測模型,并通過50組測試集數據進行檢測,獲得4種預測模型的大壩水平位移預測曲線圖。其中,利用BP神經網絡法所構建模型的預測值與檢測值間的曲線吻合度最低,表明傳統BP神經算法構建預測模型的穩定性仍需進一步提升。相比于BP神經網絡算法、LSSVM和RF三種方法,BAS-RF組合算法構建的大壩水平位移預測模型的曲線走勢與測試集曲線圖最為接近,相差最小。為更加清晰地展現4種模型預測結果與真值間誤差的變化及整體波動范圍,繪制出模型預測誤差變化曲線,如圖9所示。 圖9 4種方法的殘差結果Fig.9 Residual results of the four methods 由圖9可以看出,4種預測模型的擬合誤差曲線的波動范圍均為-3~3 mm,擬合效果較為理想。相較于BP神經網絡預測模型,LSSVM預測模型與RF預測模型的誤差變化范圍較為接近,其波動范圍要略小于BP神經網絡。而通過天牛須算法優化后的RF算法構建預測模型的誤差范圍最小,大致處于-1~1 mm,其預測精度明顯要優于其他3種預測模型,穩定性相較于常規RF也得到提升。為了進一步比較分析4種預測模型的預測精度,分別計算出各個模型預測結果的誤差變化區間、均方差、均方根誤差和平均絕對誤差來作為模型預測精度的評定參數,如表1所示。 表1 4種模型預測精度統計 由表1可以看出,相比于其他3種預測模型,BP神經網絡模型的預測結果誤差變化區間為[-2.274,2.075],波動范圍較大,且均方根誤差為1.086 mm,要明顯大于RF和LSSVM所構建的預測模型,說明傳統BP神經網絡構建預測模型的穩定性及精確度需要進一步提高。RF算法和LSSVM算法建模的預測誤差區間、均方差等比較接近,其模型預測效果也較為理想,但精度不高,結合圖5和圖7可知,二者局部范圍波動較大,誤差值也隨之明顯變大,可能出現了局部最優的問題。經過BAS優化后的RF能夠提高收斂速度,且避免在后期迭代的過程中陷入局部最優,能夠全局搜索參數最優值,從而提高模型大壩水平位移預測精度。因此BAS-RF能夠較好地處理大壩水平位移與影響因子之間的非線性關系,具有一定的適用性。 針對當前大壩水平位移預測模型精準度及穩定性存在的不足,引入生物智能組合算法來構建預測模型,并與常規模型進行對比,具體結論如下: ① 提出一種BAS算法與RF算法相結合的建模預測方法,將其應用于大壩水平位移預測中,可以快速地提取出RF算法的最佳參數,解決了該算法建模難以確定最適參數的問題。 ② 通過實訓數據,與傳統的BP神經網絡算法、最小二乘支持向量機算法、RF算法構建預測模型進行比較分析,驗證了該組合算法在大壩水平位移預測中具有較高的擬合精度,其尋參速度及預測精度也得到了明顯提升,為以后的大壩水平位移預測提供一定的參考。2 隨機森林算法
2.1 CART決策樹
2.2 參數的選取
2.3 BAS-RF預測模型構建


3 實驗分析
3.1 數據來源

3.2 網格搜索尋參
3.3 天牛搜索尋參

3.4 預測精度分析






4 結束語