曹 念 孫華芬 史朝陽 侯克鵬
(1.昆明理工大學 國土資源工程學院,昆明 650093;2.云南省中-德藍色礦山與特殊地下空間開發利用重點實驗室,昆明 650093)
邊坡的穩定性對露天礦山的安全影響重大,邊坡易在邊坡高度、地形地貌、巖體結構、層理等內在因素及地下水、降雨、地震、人類工程活動等外在條件的影響下而發生失穩[1-3]。邊坡一旦發生變形失穩破壞災害,不僅對周邊地區人員的生命和財產安全造成巨大的危害,而且還會造成非常嚴重的經濟損失。因此,對邊坡的變形進行預測十分重要。
近年來,隨著機器學習的興起,有許多學者將機器學習運用于邊坡形變預測中。如歐陽斌等[4]建立PSO-BP神經網絡邊坡位移預測模型,使用PSO算法對BP神經網絡算法進行優化;劉沖等[5]運用Elman神經網絡對支持向量機模型進行優化;鄒義懷等[6]建立BP神經網絡邊坡穩定預測模型;姚怡等[7]建立PCA-SVM模型對邊坡穩定性進行分析;胡軍等[8]采用改進灰狼算法與SVM算法相結合確定邊坡的形變狀態,并驗證了模型的可行性。但每種算法均有其特定的優勢與不足,如BP神經網絡需要較多的樣本對其進行訓練,若訓練樣本較少,模型的預測精度可能不會那么準確;LSTM模型的超參數取值直接決定了LSTM的訓練速度和效果,易使模型陷入局部極小值;SVM對非線性數據有良好的處理能力,然而,其核函數參數g與懲罰因子系數c初始選取值對于模型復雜度與預測精度有很大影響[9-11]。因此,如何快速有效地獲取最優核函數參數及核懲罰因子是一個亟待解決的問題。鑒于SVM核函數參數g和懲罰因子系數c值初始選擇參數對模型預測精度有很大影響,本文采用鯨魚優化算法(WOA)確定支持向量機(SVM)核函數和懲罰因子參數,以提高模型的預測準確度。
WOA是MIRJALILI等觀察座頭鯨獵捕行為提出的一種優化算法。座頭鯨捕食主要包括包圍獵物、發泡網攻擊、搜索捕食三種方式[12-13]。
1.1.1 包圍獵物
設置鯨魚算法的初始鯨魚規模、迭代次數、變量維數及變量上下限等參數。鯨魚發現獵物的位置,隨機選擇一個鯨魚個體作為導航目標進行捕食活動,其余鯨魚也逐漸向其聚攏。這時空間中最好的捕食位置是不確定的,假設最優的空間位置距離捕食的獵物是很接近的,可用以下公式對鯨魚的位置進行更新:
D=|CX*(t)-X(t)|
(1)
X(t+1)=X*(t)-AD
(2)
式中:t為當前迭代次數,A和C為系數向量,X*(t)表示目前為止空間中鯨魚最好的位置解,X(t)表示當前鯨魚的位置向量,D表示鯨魚與獵物之間的距離,每次迭代中若出現更優的鯨魚空間位置解便需要更新X*(t),其計算公式為:
A=2a·r-a
(3)
C=2r
(4)
式中:r為[0,1]之間的隨機向量,a為收斂因子,隨著迭代次數的增加不斷增加,從2線性地降至0。
1.1.2 發泡網攻擊
鯨魚發現獵物,可能會選擇螺旋式或收縮包圍吐出氣泡來捕食。若以收縮包圍的方式來捕獲獵物,則其余鯨魚向當前空間位置中最優的鯨魚位置聚攏,可以通過減少式(3)中a的值實現,當a減小時,A的變化范圍也會縮小,a的計算公式見式(5),其數學模型可表示為:
(5)
式中,Tmax表示最大行迭代次數。
此時,鯨魚收縮包圍的數學模型可表示為式(2)。式中系數向量A的取值范圍為(-1,1)。
若鯨魚的捕食方式為螺旋式靠近獵物,則其數學模型可表示為:
X(t+1)=X*Debqcos(2πl)+X*(t)
(6)
式中:b為常量系數,q為[-1,1]之間的隨機數。
假設選擇螺旋式或收縮包圍來捕獲獵物的概率均為0.5。鯨魚優化算法的數學模型可表示為:
(7)
式中:p為[0,1]之間的隨機數。
1.1.3 搜索捕食
在搜索包圍時系數向量A的取值范圍為(-1,1),若系數向量A的取值范圍不在(-1,1)中,這時沒有最優捕食的鯨魚位置,鯨魚群會隨機選取一條鯨魚向其靠近,其數學模型可表示為:
D=|CXrand-X(t)|
(8)
X(t+1)=Xrand-AD
(9)
式中:Xrand表示鯨魚的隨機位置,向量系數|A|≥1。
VAPNIK等于1992年首次提出了SVM算法。支撐向量機的主要思路是:通過非線性映射,將輸入數據映射到一個高維空間中。在結構風險最小化的原則基礎上,在空間中構建一個超平面,以此進行線性回歸預測[14-15]。
(10)
約束條件為:
(11)
1)Sigmoid核函數
k(xi,x)=tanh(kxi·x+r)
(12)
式中:k和r為核參數,其中,k>0,r<0。
2)徑向基核函數(RBF)
(13)
3)多項式核函數(poly)
k(xi,x)=(xi·x+μ)v
(14)
式中:v為多項式核函數的階數,μ=0時為齊次多項式,μ≠0時為非齊次多項式。
本文選取徑向基核函數(RBF)作為SVM的核函數。
步驟1:收集數據,確定訓練集與樣本集的樣本數量,對數據進行歸一化處理。
步驟2:建立支持向量機模型,設置鯨魚優化算法的參數(初始鯨魚規模、最大迭代次數、變量維數及變量上下限),通過鯨魚優化算法來對支持向量機的核函數寬度因子及懲罰系數進行確定。
步驟3:計算初始鯨魚的個體適應度值,更新當前鯨魚的最優空間位置。當p<0.5且|A|<1,則按照公式(6)更新位置;若|A|≥1,則按照公式(8)、(9)更新鯨魚位置。
步驟4:計算鯨類群體的個體適應度,并將其與原始群體的適應度進行比較。如果適應度比原始群體的適應度更好,則更新鯨魚的最優空間位置;否則,就保持原始的鯨類群體的個體來更新鯨魚的最優空間位置。
步驟5:當迭代次數達到最大時,輸出最優個體及適應度值;若未達到最大迭代次數,則重復步驟3~5。
步驟6:迭代次數達到最大時,獲得SVM最優核函數因子及懲罰因子參數值,將訓練集代入優化后的SVM模型進行訓練,將測試集代入模型中,輸出結果。
步驟7:選擇均方根誤差(RMSE)、平均絕對誤差(MAE)及相關系數(R2)對模型預測準確性進行評價。
均方根誤差(RMSE)、平均絕對誤差(MAE)及相關系數(R2)的數學表達式分別為:
(15)
(16)
(17)
用于本次實驗訓練和測試的數據來源于文獻[16-18]的60組數據,用前45組數據作為訓練樣本集,后15組數據作為測試集樣本集,如表1所示。將容重、內聚力、摩擦角、邊坡角度、邊坡高度、孔隙水壓力作為模型的輸入,將邊坡安全系數作為模型的輸出。
表1 樣本數據集
建立支持向量機模型,選用RBF作為核函數,設置鯨魚算法的初始鯨魚規模為30、最大迭代次數為200次、變量維數為2,懲罰因子系數C的變量上下限為[0.01,1],核函數參數g的上下限的范圍為[10,100],采用MATLAB2021建立WOA-SVM模型,鯨魚優化算法確定的SVM懲罰因子系數C的值為3.108 1,核函數參數g的值為1.752 3。
將訓練集代入優化后的SVM模型對模型進行訓練,并將測試集代入,對邊坡安全系數進行預測,迭代次數與適應度函數值之間的關系如圖1所示,其預測結果如圖2所示。
圖1 迭代收斂曲線
圖2 測試集預測值與真實值的對比
為了對比WOA-SVM模型對邊坡安全系數預測的準確度,把WOA-SVM與SVM、RF、BP幾種模型預測結果進行對比,計算模型的均方根誤差(RMSE)、平均絕對誤差(MAE)及相關系數(R2),其結果如表2所示。
表2 預測模型評價結果
由表2可知,WOA-SVM模型對邊坡安全系數預測的RMSE為0.102,MAE為0.058,均為四個模型中最小的,R2為0.931,為四個模型中最大的,說明采用WOA算法對SVM模型進行優化提升了模型的預測準確度。
邊坡穩定性對于露天礦山安全起著關鍵作用,其穩定性受到多種因素影響,通過對邊坡安全系數進行預測可以對邊坡的穩定狀態進行判斷。本論文試圖將WOA-SVM算法與邊坡穩定性的預測問題相結合,運用鯨魚優化算法對支持向量機的懲罰系數與核函數參數進行確定,獲得優化后的SVM模型。并將收集的邊坡數據劃分為訓練集和測試集導入優化支持向量機模型,預測邊坡安全系數。預測結果表明:與傳統SVM、RF、BP等算法進行對比,鯨魚優化算法改進的SVM模型在邊坡安全系數預測方面具有更高的精準度。WOA-SVM算法構造簡單,易于實現。本論文的研究對判斷露天煤礦邊坡穩定狀態有一定的現實意義。