葉海旺,胡俊杰,雷 濤,李 寧,王其洲,DAHé MONYEGNI GHISLAIN
(1.武漢理工大學(xué) a.資源與環(huán)境工程學(xué)院;b.安全科學(xué)與應(yīng)急管理學(xué)院,武漢 430070; 2.礦物資源加工與環(huán)境湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430070)
巖石爆破塊度是衡量生產(chǎn)爆破效果最重要的指標(biāo)之一,巖石爆破后的塊度制約著后續(xù)生產(chǎn)過程中的裝載、拖運(yùn)和破碎作業(yè)等。因此國(guó)內(nèi)外專家對(duì)爆破塊度預(yù)測(cè)做了許多研究,Gheibie等提出了一種效果較好的Kuz-Ram爆破塊度預(yù)測(cè)模型[1]。聶軍等證明了GEM方法在爆破塊度預(yù)測(cè)方面的可靠性[2]。史秀志等得出SVM、LS-SVR方法預(yù)測(cè)巖石爆破塊度優(yōu)于Kuz-Ram公式法[3,4]。劉陽等提出隨機(jī)森林和GA-BP神經(jīng)網(wǎng)絡(luò)方法優(yōu)于多元回歸以及BP神經(jīng)網(wǎng)絡(luò)[5]。唐躍等基于10折交叉驗(yàn)證證明了RBF核優(yōu)于線性核,且單次隨機(jī)試驗(yàn)的隨機(jī)誤差大[6]。柳小波等證明了RBF核函數(shù)的神經(jīng)網(wǎng)絡(luò)優(yōu)于BP神經(jīng)網(wǎng)絡(luò)[7]。潘玉忠等證明了SVM模型優(yōu)于BP神經(jīng)網(wǎng)絡(luò)模型[8]。王仁超等基于10折交叉驗(yàn)證證明了隨機(jī)森林模型優(yōu)于BPNN、SVR模型[9]。巖石爆破實(shí)驗(yàn)成本較高,因此爆破塊度預(yù)測(cè)的數(shù)據(jù)樣本量較少,為了讓爆破數(shù)據(jù)得到客觀充分的利用,提高預(yù)測(cè)精度,運(yùn)用留一法(Leave-One-Out,LOO)對(duì)爆破數(shù)據(jù)進(jìn)行預(yù)處理,然后導(dǎo)入XGboost算法(eXtreme Gradient Boosting,XGboost)[10],使用Python 3.7構(gòu)建LOO-XGboost模型來對(duì)巖石塊度進(jìn)行預(yù)測(cè)。
留一法(LOO)屬于交叉驗(yàn)證法的特殊情況,它將每條數(shù)據(jù)都作為一次測(cè)試集,除測(cè)試集外的數(shù)據(jù)皆作為訓(xùn)練集,充分利用所有數(shù)據(jù),訓(xùn)練與數(shù)據(jù)量相同的次數(shù),以此類推得到所有數(shù)據(jù)的預(yù)測(cè)值。
極限梯度提升(XGBoost)屬于集成學(xué)習(xí)算法,是近年來機(jī)器學(xué)習(xí)中表現(xiàn)較好的算法[11],XGboost在目標(biāo)函數(shù)中加上了正則化項(xiàng),此外XGboost算法使用到了二階導(dǎo)數(shù),損失更精確。XGBoost算法基本原理如下[12-15],對(duì)于給定數(shù)據(jù)集D={(Xi,yi)},K個(gè)集成樹模型的輸出為
fk∈F,F={f(x)=wq(x)},(q:R→T,w∈RT)
(1)
式中:F為所有CART樹的函數(shù)空間,每個(gè)fk函數(shù)值為樣本點(diǎn)所在葉節(jié)點(diǎn)的得分。q為多個(gè)樣本點(diǎn)映射到各葉子結(jié)點(diǎn)的函數(shù),T為葉子結(jié)點(diǎn)的個(gè)數(shù),wi代表第i個(gè)葉子結(jié)點(diǎn)的得分。
定義帶正則項(xiàng)的目標(biāo)函數(shù)為
(2)
(3)
式中:γ、λ為均為懲罰系數(shù),經(jīng)過t輪迭代后的目標(biāo)函數(shù)為
(4)
(5)
再設(shè)Ij表示第j個(gè)葉子節(jié)點(diǎn)中所有的樣本,即Ij={i|q(xi)=j},對(duì)xi∈Ij有wq(xi)=wj,則目標(biāo)函數(shù)可寫成
(6)
(7)
則最小損失的目標(biāo)函數(shù)如下
(8)
信息增益(Information Gain)為
(9)
XGboost算法在每輪測(cè)試時(shí)都會(huì)求出一個(gè)最優(yōu)的信息增益,然后根據(jù)這個(gè)最優(yōu)的信息增益來指導(dǎo)生成決策樹,通過不斷迭代找到最優(yōu)樹模型。
T Hudaverdi等收集了世界上6座不同礦山的爆破數(shù)據(jù)建立了包含97組樣本的小型爆破數(shù)據(jù)庫[16],研究人員考慮了主要的爆破設(shè)計(jì)參數(shù)并將其綜合為7個(gè)影響因子:孔距與抵抗線比(S/B),臺(tái)階高度與抵抗線比(H/B),抵抗線與孔徑比(B/D),堵塞長(zhǎng)度與抵抗線比(T/B),炸藥單耗(PF),平均原巖塊度(XB),彈性模量(E),取其中31組爆破數(shù)據(jù)來進(jìn)行模型檢驗(yàn),詳細(xì)數(shù)據(jù)見表1。
表1 爆破數(shù)據(jù)樣本Table 1 Blasting data samples
為了提高預(yù)測(cè)精度,提高求解速度,預(yù)測(cè)之前,對(duì)數(shù)據(jù)進(jìn)行歸一化(Normalization)預(yù)處理,公式如下
(10)
式中:Xnew為處理后的數(shù)據(jù)值,Xmin、Xmax為數(shù)據(jù)中的最小、最大值。
使用Python 3.7軟件建立LOO-XGboost預(yù)測(cè)模型,詳細(xì)步驟如下:
(1)將歸一化后的數(shù)據(jù)導(dǎo)入到Python 3.7中,編寫LOO-XGboost模型程序。
(2)數(shù)據(jù)導(dǎo)入LOO-XGboost程序進(jìn)行訓(xùn)練,然后進(jìn)行參數(shù)尋優(yōu),得到模型優(yōu)化參數(shù)如下:學(xué)習(xí)率為0.30(learning rate=0.30),CART樹數(shù)量為50(n_estimators=50),最大深度為3(max_depth=3),最小葉子結(jié)點(diǎn)權(quán)重為3(min_child_weight=3),通過LOO-XGboos模型,運(yùn)行31次,得到每條測(cè)試集的預(yù)測(cè)值,即31組平均粒徑(X50)預(yù)測(cè)值。
(3)計(jì)算相關(guān)系數(shù)(R2)、均方根誤差(RMSE)、平均絕對(duì)誤差(MAE),流程如圖1,相關(guān)公式如下[17]
圖1 模型建立流程圖Fig. 1 Flow chart of model establishment
(11)
(12)
(13)
將LOO-XGboost模型預(yù)測(cè)的31組平均粒度(X50)與留一法下的支持向量機(jī)回歸(LOO-SVR)、BP神經(jīng)網(wǎng)絡(luò)(LOO-BPNN)、隨機(jī)森林(LOO-RF)模型以及10折交叉驗(yàn)證XGboost模型(10FLOD-XG-boost)的預(yù)測(cè)結(jié)果對(duì)比,預(yù)測(cè)結(jié)果保留2位小數(shù),結(jié)果如表2,圖2。
表2 不同模型的預(yù)測(cè)結(jié)果Table 2 Comparison of prediction results under different models
圖2 不同模型的預(yù)測(cè)結(jié)果折線圖Fig. 2 Line diagrams of prediction results of different models
計(jì)算出各模型的R2、RMSE、MAE作為評(píng)價(jià)指標(biāo),結(jié)果如表3、圖3。
圖3 評(píng)價(jià)指標(biāo)對(duì)比圖Fig. 3 Comparison diagram of evaluation indices
表3 評(píng)價(jià)指標(biāo)對(duì)比Table 3 Comparison of evaluation indices
根據(jù)上述的評(píng)價(jià)結(jié)果可知,LOO-XGboost模型預(yù)測(cè)巖石爆破塊度的效果最好,R2值為0.9128,RMSE為0.0587,MAE為0.0342,而其他模型的R2值分別為0.7478、0.7321、0.8160、0.8320,RMSE分別為0.0998、0.1029、0.0853、0.0814,MAE分別為0.0813、0.0745、0.0531、0.0572,綜上LOO-XGboost預(yù)測(cè)精度與其他模型相比有較大提高,并且證明了在塊度預(yù)測(cè)問題上XGboost算法比SVR、BPNN、RF更優(yōu),LOO比10折交叉驗(yàn)證更優(yōu)。
(1)利用Python 3.7軟件建立LOO-XGboost模型用于巖石爆破塊度的預(yù)測(cè),解決了數(shù)據(jù)集劃分不合理,模型訓(xùn)練次數(shù)不足的問題。
(2)根據(jù)評(píng)價(jià)指標(biāo)對(duì)比結(jié)果得出預(yù)測(cè)效果排序?yàn)椋篖OO-XGboost>10折交叉驗(yàn)證XGboost>LOO-RF>LOO-SVR>LOO-BPNN。其中LOO-XGboost模型預(yù)測(cè)的均方誤差僅為0.0587且相關(guān)系數(shù)達(dá)到了0.9128,證明了此模型的優(yōu)越性。
(3)LOO-XGboost模型充分利用了所有數(shù)據(jù),預(yù)測(cè)精度高,其結(jié)果能作為以后巖石平均粒徑(X50)參考值,對(duì)控制巖石爆破塊度有指導(dǎo)作用,對(duì)精細(xì)化礦山爆破有積極意義。