岳中文,吳羽霄,魏 正,王 貴,王 淵,李 鑫
(1.中國(guó)礦業(yè)大學(xué)(北京)力學(xué)與建筑工程學(xué)院,北京 100083;2.內(nèi)蒙古康寧爆破有限責(zé)任公司,內(nèi)蒙古 鄂爾多斯017010)
在工程爆破之前,準(zhǔn)確預(yù)測(cè)和分析爆破振動(dòng)峰值速度,進(jìn)而優(yōu)化爆破施工設(shè)計(jì)方案是有效減小爆破振動(dòng)危害的主要方法[1]。然而影響爆破振動(dòng)速度的因素眾多,且各因素之間存在復(fù)雜的非線性關(guān)系,目前國(guó)內(nèi)外學(xué)者用來(lái)預(yù)測(cè)爆破振動(dòng)速度的主要方法有經(jīng)驗(yàn)公式法[2-3]、BP神經(jīng)網(wǎng)絡(luò)[4-5]、多元非線性回歸[6-7]等,但存在經(jīng)驗(yàn)公式考慮因素較少、BP網(wǎng)絡(luò)陷入局部最小值且收斂速度慢等問(wèn)題。
基于以上現(xiàn)狀,筆者提出建立基于PCA和GA算法優(yōu)化支持向量機(jī)的爆破振動(dòng)速度預(yù)測(cè)模型。支持向量機(jī)[8-10](SVM)作為一種新的機(jī)器學(xué)習(xí)算法,具有較強(qiáng)的全局尋優(yōu)和小樣本訓(xùn)練能力,能夠解決爆破工程中樣本少、非線性、影響因子多等實(shí)際問(wèn)題。首先采用PCA對(duì)數(shù)據(jù)進(jìn)行降維,提取影響爆破振動(dòng)速度的主成分作為模型的輸入變量,利用GA算法找到SVM模型的懲罰系數(shù)和核函數(shù)參數(shù) 的最優(yōu)參數(shù)組合,最終建立PCA-GA-SVM預(yù)測(cè)模型,同時(shí)與BP神經(jīng)網(wǎng)絡(luò)、傳統(tǒng)SVM和GA-SVM模型對(duì)比,取得了良好的預(yù)測(cè)效果。
支持向量機(jī)(Support Vector Machine,SVM)是Vapnik[11]等于1995年首次提出的一種新的機(jī)器學(xué)習(xí)方法,其基本原理是通過(guò)核函數(shù)在高維空間尋找最優(yōu)分類超平面實(shí)現(xiàn)最優(yōu)分類,解決低維樣本非線性不可分問(wèn)題。其中尋找最優(yōu)分類超平面的優(yōu)化函數(shù)為[11]
(1)
為求式(1)的最優(yōu)解,引入拉格朗日乘子并建立Lagrange函數(shù),將最優(yōu)分類超平面轉(zhuǎn)化為下列的對(duì)偶問(wèn)題,即[11]
(2)
K(xi,x)=exp(-g‖x-xi‖2)
(3)
通過(guò)二次規(guī)劃優(yōu)化算法訓(xùn)練得到式(2)中最優(yōu)的Lagrange乘子,最終得到的回歸函數(shù)為[12]
(4)
主成分分析的原理就是利用Karhunen-Loeve變換[13],計(jì)算原來(lái)變量的協(xié)方差矩陣并轉(zhuǎn)化為對(duì)角矩陣,提取少數(shù)可以代表原始多維變量信息的低維且線性無(wú)關(guān)變量。主成分分析法可以完成數(shù)據(jù)的降維,提高模型處理數(shù)據(jù)的速度,其具體步驟如下:
1)將原始數(shù)據(jù)進(jìn)行歸一化處理,本文采用的是極差化歸一化處理,公式如下:
(5)
式中:xi為待處理的樣本數(shù)據(jù);xmin為樣本數(shù)據(jù)的最小值;xmax為樣本數(shù)據(jù)的最大值;
2)設(shè)總體X有n個(gè)樣本(X1,X2,…,Xn),每個(gè)樣本有m維變量,則觀測(cè)數(shù)據(jù)的矩陣記為
3)將原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化,公式如下:
(6)
4)計(jì)算e=(e1,e2,…,en)T的相關(guān)系數(shù)矩陣,利用∑u=λu求出特征值λi和其特征向量ui。其中,λ1≥λ2≥…λm≥0;
5)通過(guò)計(jì)算得到的m個(gè)主成分,即[13]
(7)
其中,ui12+ui22+…+uin2=1(i=1,2,…,m)
傳統(tǒng)SVM算法對(duì)于懲罰系數(shù)c和核函數(shù)參數(shù)g的選取都是根據(jù)經(jīng)驗(yàn)給定一個(gè)默認(rèn)值,這對(duì)模型的預(yù)測(cè)精度有很大影響。遺傳算法(Genetic Algorithm,GA)作為一種模擬生物界自然進(jìn)化和自然遺傳機(jī)制的現(xiàn)代啟發(fā)式算法,具有全局搜索和全局優(yōu)化的特點(diǎn)[14],被廣泛用于參數(shù)尋優(yōu)問(wèn)題。本文結(jié)合GA算法優(yōu)化SVM的關(guān)鍵參數(shù),采用實(shí)數(shù)編碼方式將c和g進(jìn)行編碼,形成初代種群;選取預(yù)測(cè)值與實(shí)際值的誤差平方和作為適應(yīng)度函數(shù)。對(duì)任意樣本集,其誤差平方和越小,說(shuō)明個(gè)體的適應(yīng)度越好,其參加下一次迭代的機(jī)率越大;通過(guò)選擇、交叉、變異運(yùn)算,產(chǎn)生新一代適應(yīng)度大的群體;不斷重復(fù)迭代,直到達(dá)到最大迭代次數(shù)T,解碼輸出最優(yōu)的參數(shù)組合。
綜合以上原理,PCA-GA-SVM模型建立的實(shí)現(xiàn)流程如圖1所示。
圖1 PCA-GA-SVM模型實(shí)現(xiàn)流程Fig.1 Flow of PCA-GA-SVM model implementation
以內(nèi)蒙古康寧爆破公司福強(qiáng)煤礦爆破工程為例,福強(qiáng)煤礦巖體強(qiáng)度平均值為6.40 MPa,巖石硬度系數(shù)為3。本工程采用深孔臺(tái)階松動(dòng)爆破,臺(tái)階設(shè)計(jì)高度為10 m,鉆孔方式采用垂直鉆孔,布孔采用三角形布孔方式。結(jié)合爆破方案和現(xiàn)場(chǎng)實(shí)際情況,選取填塞長(zhǎng)度X1(m)、高程差X2(m)、最大段藥量X3(kg)、最小抵抗線X4(m)、孔深X5(m)、設(shè)計(jì)單耗X6(kgm-3)、孔距X7(m)、排距X8(m)和爆心距X9(m)作為影響爆破振動(dòng)速度的因子,爆破振動(dòng)速度的實(shí)測(cè)數(shù)據(jù)為Y。在爆破作業(yè)時(shí),采用TC-4850爆破測(cè)振儀進(jìn)行實(shí)時(shí)監(jiān)測(cè),共測(cè)得69組有效爆破測(cè)振數(shù)據(jù)進(jìn)行模型的訓(xùn)練和預(yù)測(cè),實(shí)測(cè)數(shù)據(jù)如表1所示。為使輸入向量的數(shù)據(jù)量綱一致,首先通過(guò)式(5)對(duì)各影響因子的原始數(shù)據(jù)進(jìn)行[-1,1]區(qū)間的歸一化處理,處理后的數(shù)據(jù)如表2所示。
表1 原始爆破實(shí)測(cè)數(shù)據(jù)
表2 歸一化后樣本數(shù)據(jù)
本文利用SPSS軟件對(duì)影響爆破振動(dòng)速度的9個(gè)因子進(jìn)行主成分分析,通過(guò)Correlation Matrix窗口中計(jì)算得到爆破振動(dòng)速度影響因子的相關(guān)系數(shù)矩陣如表3所示。求解矩陣對(duì)應(yīng)的特征值λi,計(jì)算各成分貢獻(xiàn)率及累計(jì)貢獻(xiàn)率,結(jié)果如表4所示。
表3 相關(guān)系數(shù)矩陣
表4 特征值、貢獻(xiàn)率及累計(jì)貢獻(xiàn)率
由表4可知,前4個(gè)因子的累計(jì)貢獻(xiàn)率為89.288%>85%,即這4個(gè)主成分可以代表原始數(shù)據(jù)89.288%的信息,將提取主成分后的數(shù)據(jù)輸入GA-SVM模型進(jìn)行學(xué)習(xí),模型維度由原來(lái)的9維降為4維,可大大提高模型的計(jì)算和收斂速度。各主成分對(duì)應(yīng)的得分系數(shù)如表5所示。
表5 主成分得分系數(shù)
由表5可得出主成分表達(dá)式,即:
F1=-0.183X1-0.729X2+0.871X3
+0.681X4+0.711X5+0.535X6+0.261X7
+0.107X8+0.762X9
F2=0.197X1+0.196X2-0.385X3
+0.519X4+0.573X5+0.399X6+0.081X7
-0.685X8-0.535X9
F3=0.557X1+0.031X2+0.007X3
+0.025X4-0.086X5+0.562X6-0.800X7
+0.305X8+0.051X9
F4=0.689X1+0.084X2-0.037X3
+0.210X4+0.172X5-0.308X6+0.427X7
+0.461X8-0.055X9
根據(jù)前4個(gè)主成分的得分系數(shù)可知,高程差X2、最大段藥量X3和爆心距X9占F1的主要部分,方差貢獻(xiàn)率達(dá)43.005%,可以認(rèn)為F1反映了爆破設(shè)計(jì)參數(shù)對(duì)振動(dòng)速度起主要作用;同理F2主要反映最小抵抗線X4、孔深X5和排距X8的次要影響,方差貢獻(xiàn)率為19.379%;F3反映設(shè)計(jì)單耗X6和孔距X7的相關(guān)信息,方差貢獻(xiàn)率為15.242%;F4反映填塞長(zhǎng)度X1的信息,其貢獻(xiàn)率為11.662%。根據(jù)上述主成分表達(dá)式重新計(jì)算69組原始數(shù)據(jù)樣本,可得到爆破振動(dòng)速度影響因素提取主成分后的數(shù)據(jù)統(tǒng)計(jì)(見表6)。
表6 提取主成分的樣本數(shù)據(jù)
本文采用LIBSVM軟件包進(jìn)行SVM關(guān)鍵參數(shù)的優(yōu)化。該軟件包由臺(tái)灣大學(xué)林智仁教授等開發(fā),可以支持操作者在MATLAB平臺(tái)上對(duì)源代碼進(jìn)行修改、編譯,能夠高效地識(shí)別和訓(xùn)練SVM模型。PCA-GA-SVM預(yù)測(cè)模型的各參數(shù)設(shè)置如下:核函數(shù)設(shè)置為徑向基核函數(shù),種群最大數(shù)量為20,最大迭代數(shù)為100,交叉概率為0.6,變異概率為0.1。從表6中隨機(jī)選取58組數(shù)據(jù)作為學(xué)習(xí)樣本訓(xùn)練GA-SVM模型,剩下的11組作為待測(cè)試樣本進(jìn)行預(yù)測(cè)。經(jīng)過(guò)100次的迭代尋優(yōu),得到的適應(yīng)度曲線如圖2所示。
注:最優(yōu)c=1.899 1、g=1.971 2,均方誤差MSE為0.037 86。圖2 PCA-GA-SVM模型的適應(yīng)度Fig.2 Fitness of PCA-GA-SVM model
由圖2可知,當(dāng)種群迭代100次終止后,SVM模型有最優(yōu)組合(c=1.899 1、g=1.971 2,均方誤差MSE為0.037 86),將其代入模型對(duì)訓(xùn)練樣本仿真測(cè)試,得到樣本擬合回歸曲線(見圖3)??梢钥闯?,PCA-GA-SVM對(duì)于訓(xùn)練樣本集的回歸擬合效果良好,此時(shí)最小均方差MSE=0.003 751,能夠用來(lái)預(yù)測(cè)分析實(shí)際爆破工程中的振動(dòng)速度。
圖3 PCA-GA-SVM訓(xùn)練樣本擬合回歸曲線Fig.3 PCA-GA-SVM training sample fitting regression graph
為測(cè)試PCA-GA-SVM模型的準(zhǔn)確率,通過(guò)與上述相同的訓(xùn)練樣本和測(cè)試樣本,分別與BP神經(jīng)網(wǎng)絡(luò)模型、傳統(tǒng)SVM模型和GA-SVM模型進(jìn)行預(yù)測(cè)對(duì)比。其中,GA-SVM模型中的輸入變量為未經(jīng)PCA分析的原始樣本數(shù)據(jù),傳統(tǒng)SVM模型的參數(shù)利用交叉驗(yàn)證獲得,上述4種模型的測(cè)試結(jié)果如圖4所示。為評(píng)價(jià)模型預(yù)測(cè)精度,各預(yù)測(cè)模型的平均相對(duì)誤差、均方差(MSE)和建模時(shí)間的具體數(shù)值如表7所示。
圖4不同預(yù)測(cè)模型測(cè)試結(jié)果Fig.4 Test results of different prediction models
表7 各模型預(yù)測(cè)效果對(duì)比
從圖4和表7可以看出,BP神經(jīng)網(wǎng)絡(luò)模型預(yù)測(cè)效果最差,其平均相對(duì)誤差為45.46%,均方誤差為0.705 6,這說(shuō)明BP神經(jīng)網(wǎng)絡(luò)模型對(duì)小樣本學(xué)習(xí)和泛化能力較差;GA-SVM模型的平均相對(duì)誤差比傳統(tǒng)SVM模型減小了11.96%,均方差為0.192 0,說(shuō)明經(jīng)GA算法優(yōu)化后得到的關(guān)鍵參數(shù)大大提高了SVM模型的準(zhǔn)確率;而PCA-GA-SVM模型比傳統(tǒng)SVM模型和GA-SVM模型平均相對(duì)誤差分別減小了14.77%和2.81%,均方誤差達(dá)到0.131 5,收斂時(shí)間縮短了10.41 s和3.33 s,進(jìn)一步說(shuō)明了同時(shí)結(jié)合PCA和GA算法建立的PCA-GA-SVM模型具有更快的收斂速度和更高的預(yù)測(cè)精度,能夠準(zhǔn)確地預(yù)測(cè)分析爆破振動(dòng)速度。
1)PCA-GA-SVM模型引入主成分分析法,將影響振動(dòng)速度的主要因素降維轉(zhuǎn)化為4個(gè)線性無(wú)關(guān)的主成分,有效減少了信息重復(fù)和干擾,提高了預(yù)測(cè)模型的效率和收斂速度。
2)結(jié)合GA算法對(duì)SVM中的關(guān)鍵參數(shù)c和g尋優(yōu),得到最佳參數(shù)組合值分別為c=1.899 1、g=1.971 2,克服了傳統(tǒng)的SVM模型參數(shù)不準(zhǔn)導(dǎo)致的預(yù)測(cè)效果不佳的問(wèn)題。
3)結(jié)合現(xiàn)場(chǎng)實(shí)際爆破工程,得到該模型的平均相對(duì)誤差為14.60%,均方差為0.131 5,建模時(shí)間為3.12 s。與其他智能預(yù)測(cè)模型對(duì)比,PCA-GA-SVM模型的預(yù)測(cè)準(zhǔn)確率和收斂速度最好,為爆破振動(dòng)速度的預(yù)測(cè)提供了一種有效的方法。