何曉華
(中鋼集團馬鞍山礦山研究總院股份有限公司,安徽馬鞍山243000)
爆破作業作為最主要的破巖方式之一,目前被廣泛應用于水利、礦山、隧道等領域[1-3],其成本低,見效快,但是爆破作業有時不可避免地會對周圍的環境和工作人員產生不良的影響,比如爆破振動、飛石、噪音、粉塵[4]等,這些不良的影響輕則帶來經濟損失,嚴重的話則會引發經濟糾紛或者導致人員傷亡,從而影響礦山的正常作業。究其原因,主要是影響爆破效果的因素過于復雜,這些影響因素相互影響,與爆破效應之間構成了一個復雜的關系,難以用一個函數來概括所有的影響因素;為了避免或者減輕這些危害的產生,各個國家都制定不同的爆破安全判據,比如德國、英國、美國等,我國也制定了《GB 6722—2014爆破安全規程》,與此同時,眾多學者考慮采用數值模擬,經驗判定,或者數值計算的方式對爆破效應進行分析,所產生的結果對減輕爆破危害帶來了很大的益處。
然而,目前對于爆堆的研究主要還是集中對爆堆形態和爆破巖石質量的研究上[5-6],對于爆堆位移的研究目前在爆破領域仍然有待于進行深入挖掘和分析。爆堆位移主要可以分為爆堆前沖位移和爆堆后沖位移,爆破前沖位移是指巖石被爆破氣體推動從而整體產生向前位移的現象;爆堆后沖位移是指爆破作業后礦巖在工作面后方的沖擊力作用下,爆堆整體向后位移的現象。傳統的露天礦爆堆位移分布測定主要是采用攝影法,然后借助圖像分析的技術對成果進行鑒定,但是這種技術往往需要耗費大量的時間,鑒定結果也受攝影技術的影響。本研究考慮將先進的監督式學習技術應用到爆堆位移的預測和分析上,目前比較流行的監督式學習方法有支持向量機、隨機森林、神經網絡等。支持向量機(SVM)[7]作為機器學習領域中非常重要的一種算法,最開始由Vapnik等人提出,同其他機器學習算法一樣,其衍生于統計學習理論。支持向量機方法更擅長處理小樣本和高維度的問題,因此,一經提出便得到了廣泛的應用,能夠很好地處理非線性映射問題。支持向量機可以用來處理分類和回歸問題,其涉及到的超參數較少,主要是C值和g值,因此,借助啟發式算法對支持向量機的超參數進行優化,無需耗費太多的時間,也不易產生局部極值問題??紤]到本研究所要分析的爆堆位移預測模型涉及到的影響參數較多,而且可用的數據集較少,因此作者考慮將網格搜索方法(GSM)和遺傳算法(GA)[8-11]與支持向量機模型相結合,建立了基于GSM/GA-SVM的爆破前沖和后沖距離預測模型。
在SVM算法中,可以利用核函數向高維空間映射并解決非線性的分類問題,但是核函數參數和懲罰因子C值對相應預測的精度有很大的影響。當C值變化時,模型的容錯能力變小,泛化能力也隨之減小,當調高相關參數時,其精度有所增加但容易出現過擬合的問題。傳統的方法中人為因素比重較大,主觀性較強。遺傳算法(GA)是模仿自然界中生物進化機制(優勝劣汰和遺傳變異)來搜索樣本空間最優解的優化方法。GA算法設置相應的適應度函數并對運算后子代進行相應的優化,使其收斂并得到最優解。
根據GA的相關特性[8],將其與SVM結合起來并對算法中的參數進行優化,具體步驟如下:
(1)收集露天爆破引起后沖數據并進行相應預處理,進行歸一化處理來避免各部分數值相差太大而造成偏差,將樣本數據分為訓練樣本和測試樣本,訓練SVM后沖模型,計算相應的交叉概率。
(2)設置懲罰因子C和不敏感參數g的閾值,用一定方式進行編碼,構建合適數量的種群并對其進行初始化。
(3)構建適應度函數判斷個體的適應情況,計算適應值。若滿足相應的條件,則進行解碼獲得最優的參數C和g,將獲得的參數輸入到SVM中收集相應的誤差。
(4)根據適應值和閾值來剔除適應性較差的個體,采用輪盤賭法算子,確保選中適合的樣本。
(5)將群體內部的個體根據交叉概率來進行部分的交叉,并用變異概率來改變樣本中的一些特征,隨機選擇變異的個體。
(6)判斷新一代的群體是否滿足收斂條件,若滿足則結束相應的迭代并用相關的GA-SVM算法來解決露天爆破爆堆后沖問題,其計算流程圖如圖1。不符合條件則返回繼續更新參數并進行計算。

SVM中將樣本數據由現有空間向更高維度轉化過程中,涉及到相關參數的優化方法有很多。常見的有人工試算、粒子群優化和遺傳算法等方式。人工試算過程中不確定性因素較多,同時主觀性比重較大,因個體差異而產生變化;遺傳算法模塊較為靈活,使得算法實現過程中代碼較為復雜且難以實現。同時時間復雜度較為明顯,計算過程會耗費較長的時間;粒子群優化算法在尋求最優解過程中收斂過早,并且尋找局部最優解的能力較差。網格搜索法空間復雜度較為明顯,但是其搜索到的可能組合較為全面。先設置大步長進行粗略搜索,獲得目標的大致范圍并根據設置的小步長來進行精確搜索,具體步驟如下:
(1)采用網格搜索方法來建立SVM的懲罰因子C、參數g值和相應的搜索步距。其中C和g的范圍都為2-8~28,其值太小時會影響模型的學習能力,步長都設定為0.5,建立起一個C-g坐標系。
(2)采用科學的方法實地收集數據并進行相應的處理。將爆堆數據根據實際需要進行均勻分組,任意挑選其中一組作測試之用,其他數據用來訓練模型。根據C-g坐標系隨機選擇一個參數來進行訓練并用測試數據來驗證,計算錯誤率。
(3)運用建立的GSM-SVM模型來對所有收集的樣本來進行交叉驗證訓練預測值。
(4)判斷預測值是否滿足收斂條件,若不滿足則更新參數繼續計算,若滿足則記錄相應優化值,用等高線繪出各組C、g值相對應的預測準確率,進而獲得最優C、g值。
(5)用露天爆破爆堆前沖測試數據驗證優化的GSM-SVM預測模型計算流程圖如圖2所示[10]。

在露天采礦中,往往采用爆破的方式進行礦石的開采工作,爆破作業雖然高效但是由于爆破效果受眾多因素影響,因此爆破作業可能會產生一些不良的影響,比如會引起爆堆前沖和后沖,前沖會導致爆堆沿抵抗線方向拋出一定距離,當這一距離過大時,可能會導致部分礦石移動到臨近的臺階上,從而影響運輸工作,并且可能會對工作人員帶來危險;爆破后沖則會引起爆破威力沿著抵抗線相反的方向進行傳播,從而會降低周圍巖石的穩定性。因此必須控制好爆堆的前沖距離和后沖距離。為準確預測爆堆前沖距離和后沖距離,本次實驗選擇第1排的炮孔的孔深、孔距、抵抗線距離、坡角、超深長度、藥量、炮孔堵塞長度,以及第2~8排炮孔的孔深、孔距、排距、超深長度、藥量、炮孔堵塞長度作為影響因素,以爆堆的前沖距離和后沖距離作為因變量,分別建立了爆破前沖和后沖距離預測模型。
為了驗證本研究提出的爆破前沖和后沖移動距離預測優化SVM模型的有效性和實用性,在現場進行了大量的爆破實驗,并實錄了40組爆破前沖和后沖移動距離實測數據(表1)作為SVM預測模型的學習訓練樣本和測試樣本,根據預測模型的需要,對于爆破前沖預測模型,將數據集按照8∶2的比例劃分為訓練集和測試集;對于爆破后沖預測模型,將數據集按照7∶3的比例劃分為訓練集和測試集。有時收集到的數據量綱不同或是二者數值相差較大但對目標對象影響程度相同,因此需要對收集到的現場數據進行歸一化處理,使其能夠在同一運算環境中進行計算。令Lv、Sv分別為樣本中變量的最大值、最小值,則任意樣本變量h可規范化為

通過式(1)的歸一化處理之后,各種類型的現場數據都能夠被轉換并限制在區間[-1,1]之間的常量,該步驟使得數據能夠被直接輸入到模型中并進行相關運算。
在數據處理中,經常會遇到特征維度較多甚至特征維度比樣本數量多得多的情況,若直接將所有的影響變量用于構建預測模型,則會產生不良的影響:一是因為冗余的特征會帶來一些噪音,影響計算的結果;二是因為無關的特征會加大計算量,耗費時間和資源。因此在構建預測模型之前,采用PCA降維的技術,PCA降維技術是指降低空間復雜度的情況下最大限度地反映目標本身的特性。理論上講,對目標搜集的信息越多意味著了解越全面,但是隨著樣本維度增加可能會使計算量呈指數增長。為了平衡時間復雜度和預測準確性之間的關系,需要我們盡可能提取少的但又能代表目標本質特征的參數,同時在高維向低維的躍遷過程中盡可能減少數據信息的損失,從而提高整個模型的預測準確性。在本次建模過程中,通過PCA降維技術,將輸入因子由13個下降到6個,從而去除了干擾特征,并節省了計算時間。

注:孔深、孔距、抵抗線、超鉆、堵塞長度、前沖距離、后沖距離的單位為m,坡角的單位為(°),藥量的單位為kg/m3;本次試驗孔徑取120 mm;臺階高度8~10 m;裝藥結構為耦合連續裝藥。
確定爆堆前沖移動距離時,SVM模型輸入向量為第1排的炮孔的孔深、孔距、抵抗線距離、坡角、超鉆長度、藥量、炮孔堵塞長度,以及第2~8排炮孔的孔深、孔距、排距、超鉆長度、藥量、炮孔堵塞長度,模型輸出為爆堆前沖移動距離,在收集的參數和輸出之間由模型建立對應的函數關系。在現場收集到的40組數據基礎上隨機挑選8組用作測試數據之用,其余的32組數據用于訓練模型。在SVM模型中,一定范圍內的C值能提高模型的預測性能,但是其過高會使得回歸效果變差。不敏感參數g用于描述相關曲線的擬合程度,其泛化能力與g值成反比。SVM采用高斯核函數將樣本由低維空間向高維空間的轉換,同時根據GA算法找出C和g的各種組合并根據相應函數尋求最優組合,尋優的迭代過程如圖3所示。GASVM組合模型的算法過程代碼由Matlab實現,在LibSVM工具箱的基礎上進行交叉驗證,最終獲取組合模型最優情況下的C、g值。交叉驗證系數為5,GA算法中相應參數取值如下:樣本大小為20,極限迭代次數為100。其中,C和g的調整范圍是:C∈[0,102],g∈[0,102],分別得到訓練集和測試集的真實值與預測值的對比,如圖4、圖5所示。最后,采用平方相關系數R2和均方誤差MSE 2個指標來衡量組合模型的性能。

式中,Mi,Pi表示實測值和預測值;n表示輸入數據對的數量。


由圖3得出,子代代數增加使得相關函數的適應度接近于一個定值,在這個過程中GA算法的作用得到體現。在進化1代左右后,最佳適應度值收斂,通過計算,當爆堆前沖距離回歸預測模型的SVM超參數為C=5.966 9,g=95.594 8時,對應的訓練樣本R2為99.01%,測試樣本R2=99.99%;詳見表2。根據表2和圖4、圖5中的信息可知,GA-SVM組合模型的預測曲線與實際情況對比可知其貼合度較高,且二者誤差在一個可以接受的范圍內。因此,用該組合模型適用性較強,在爆堆前沖預測方面性能優越。


由上述預測結果可知GA-SVM組合模型具有能夠使SVM算法模型適用范圍更加廣泛,對數據分析更全面的優點。將結構風險降到最低和泛化能力作為SVM的突出特性,二者有機結合起來能夠彌補單個GA算法難以進行系統調控的缺點,同時獲得多個局部最優解并且篩選出整體最優值。SVM算法中凸函數優化求解問題能夠避免篩選的目標值過于片面化,確保得到的是全局最優解,同時有利于降低向量的維度。在爆堆前沖預測問題中,GA-SVM與真實結果較為接近。該組合模型在原有模型適用范圍基礎上,進一步增強其數據整合分析的能力。在現場遇到的此類問題中,可根據實際選取具有代表性的數據進行分析預測。
同理,確定爆堆后沖距離時,SVM模型輸入向量為第1排的炮孔的孔深、孔距、抵抗線距離、坡角、超鉆長度、藥量、炮孔堵塞長度,以及第2~8排炮孔的孔深、孔距、排距、超鉆長度、藥量、炮孔堵塞長度,模型輸出為爆堆后沖移動距離,并根據此建立映射,選取收集的40組爆堆后沖移動樣本中28組為訓練樣本,余下12組作為測試樣本。
處理線性不可分問題時,將目標由低維向更高維度映射時其相關參數的挑選十分關鍵。常見的SVM將徑向基函數納為內置核函數,同樣C和g在預測精度上發揮著至關重要的作用,其會根據上述2個參數的選取不同而異。利用LibSVM中的回歸特性及Matlab實現相關的算法流程代碼,交叉驗證并設置閾值來獲得優化后的目標參數。設定參數對C、g范圍(2-8,28),交叉驗證系數為10,經過模型計算后依照預測精確度最高的那組來挑選相應的參數值。根據最高精確度92.76%,確定對應的C=8,g=0.125,圖6為參數優化過程示意圖。由上述分析可知,該組合模型在預測爆堆后沖距離方面效果良好,能滿足實際工程的需要,同時參數之間的互相解耦保證了運算可行性。圖7和圖8分別為真實值同訓練集及訓練集預測值的對比圖,表3為GSM優化SVM中參數C、g的最佳值及回歸效果評價結果,由圖8及表3可得,模型的預測精度為79.44%,有較好的預期效果,也體現該模型在此種問題的預測方面較為可靠。


本文中提出的GSM-SVM組合模型在預測爆堆后沖距離方面有不俗的表現,同時對于將數據和變量之間的復雜關系進行封裝,使得整體算法流程較為簡潔,增加可讀性。工程實際中收集的參數非常有限且大多屬于非線性問題,GSM-SVM對于非線性問題的動態處理能力使得其更加貼合實際,更具有可操作性。盡管SVM在此類問題的預測方面效果令人滿意,但是對于影響其精度的參數選取和進一步優化方面還有待提高??傮w來講,GSM-SVM組合模型在充分發揮原有模型性能的基礎上,提高了對參數的全面分析和表達的能力。


結合表2、表3可以看出,GA-SVM和GSM-SVM爆堆位移預測模型的效果都很理想,但GA-SVM更優,而GSM-SVM的預測精度相對較低,經過分析,可能是由于以下原因:①遺傳算法在優化支持向量機超參數時相比網格搜索更具有優勢,網格搜索有時易陷入局部最小值;②用于預測爆堆后沖距離的數據集數量比較少,增加數據集的數量有助于構建泛化能力更強的預測模型;③影響爆堆后沖距離的影響因素還有待于深入挖掘,更為科學合理的輸入參數有助于產生更加精確的預測結果;④爆堆前后沖預測評估問題涉及到眾多影響因素,這是一個及其復雜的高維度、非線性問題,而基于支持向量機的預測模型能夠在一定程度上找尋出影響爆堆前后沖的參數與爆堆前后沖的非線性映射。
總體上來說,利用啟發式算法能夠快速有效地協助SVM尋找出最佳的參數組合,在提高SVM預測精度的同時也提升了速度。有鑒于此,采用支持向量機回歸理論,并結合啟發式算法的找尋最優解策略,能夠比較真實地反映爆堆前后沖情況,為爆破參數設計提供一定的參考。當應用到工程實際中時,輸入相應的輸入參數值,能夠通過本文已經構建好的預測模型得出一個預測的爆堆前后沖距離值,并通過調整改進輸入參數的值,最終可以得出一組滿足要求的爆堆前后沖距離值,防止爆堆前后沖距離過大,對其他工作面造成影響。
(1)綜合影響爆堆前后沖距離的參數,并結合SVM的工作機理,利用SVM能有效地解決爆堆前后沖的預測問題,對于爆堆前沖距離的預測采用GASVM預測模型,測試集的預測精度為99.99%,說明GA-SVM模型在預測該組數據集時具有很強的擬合能力,同時也說明影響爆堆位移的因素選擇比較正確。
(2)對于爆堆后沖距離的預測采用GSM-SVM預測模型,測試集的預測精度為79.44%,訓練集的預測精度為92.76%,預測精度明顯不如GA-SVM模型,這可能是由于用于構建預測模型的數據集比較少,或者對影響因素的考慮不夠全面造成的。
(3)在未來的研究中,可以考慮加入更多的數據集,或者是更加全面地考慮影響爆堆前后沖的因素,構建爆堆前后沖距離數據庫,以便隨時調用升級;另一方面,可以考慮采用更為先進的監督室學習方法和啟發式算法,以構建泛化能力更強,預測精度更高的爆堆前后沖預測模型。