时间:2024-07-28
刘晓悦 季红瑜
(华北理工大学电气工程学院,河北 唐山 063000)
岩爆又称冲击地压,是指发生在深埋地下高应力岩体开挖工程中的一种动力破坏现象,由于硐室应变能的突然释放引起严重的动态危险,整个过程中伴随着岩体破裂、剥落、分裂、弹射等现象[1-3]。随着地下工程开挖深度的日益增加,岩爆危险频繁发生,不仅延误工期,造成巨大的经济损失,更威胁着施工人员的生命安全。
由于影响岩爆发生因素众多,且成因机制复杂,国内外相关学者综合多种影响岩爆因素,提出多种指标判据,如Russense判据、RQD指标判据、贾愚如判据、秦岭隧道判据等。随着机器学习的快速发展,人工智能已应用于岩爆预测预警中。机器学习通过建立各岩爆指标同岩爆强度之间的关系,减少岩爆预警参数选取及数值确定方面的人为干预,从而提高预测精度[4-6]。多种著名机器算法已应用于该领域中[7],如神经网络、随机森林、朴素贝叶斯等。但每种分类器都有其不足之处,如BP神经网络[8]收敛速度较慢;随机森林对低维数据分类效果较差,处理回归问题上易出现过拟合情况;朴素贝叶斯[9]对属性有关联的样本集分类效果不理想。由于岩爆发生是一个不确定且复杂的过程,单一分类器预测结果不够精准,因此引用集成分类算法,从而提高其预测准确度。
本研究综合集成算法在岩爆等级预测方面的优势,将BAS算法优化后的SVM同AdaBoost集成算法相组合对岩爆进行等级预测。SVM作为一种监督式学习方法,算法简单,且具有较好的鲁棒性,广泛地应用于回归分析及统计分类方面,但其分类效果受惩罚因子和核函数参数的影响较大。BAS算法作为一种基于天牛觅食原理的仿生优化算法,该方法高效简单,可快速跳出局部极值,有效地解决了SVM参数寻优问题。AdaBoost作为集成算法Boosting族算法中最著名的代表,具有较低的泛化误差,不易过拟合。综合以上分析,建立AdaBoost-BAS-SVM岩爆倾向性等级预测模型,应用于194组岩爆实例数据进行训练测试,并将该模型与SVM、BAS-SVM、AdaBoost-SVM 3组模型进行对比,证明了AdaBoost-BAS-SVM模型的可靠性及实用性。
AdaBoost[10]算法作为集成算法 Boosting算法中最具有代表性的算法,其核心思想是纠正弱分类器所犯的错误。AdaBoost算法属于一种迭代算法,通过调整迭代次数将弱学习器提升为强学习器。与Bagging算法不同,AdaBoost算法采用串行方式训练弱分类器,通过增加对前弱分类器分类错误样本的关注度,将训练后的弱分类器结合为一个强分类器,其基本结构如图1所示:
给定基分类器并构建训练集:G={(x1,y1),(x2,y2),…,(xN,yN)},其中xi为样本特征向量,yi为样本类别标签,yi∈{- 1,1},i=1,2,…,N,N表示样本总数。AdaBoost算法具体实现步骤如下。
(1)初始化训练集数据的权值向量D1:
式中,w1i为第i个样本第1次迭代时的权值。
(2)对基分类器ht进行迭代运算,迭代至第t次时(t=1,2,…,T,T为迭代总次数),计算ht在分布Dt下的预测误差率et:
计算ht所占权重αt:
更新训练样本权值向量Dt+1,并对Zt进行归一化处理:
对基分类器进行线性加权组合,最终获得集成分类器H(x):
1.2.1 支持向量机(SVM)原理
SVM作为一种解决二分类问题的线性分类器[11],通过在特征空间中寻找具有最大间隔的超平面,从而实现区分不同类别的样本。SVM算法属于机器学习中监督学习算法,处理中小型数据样本、非线性、高维分类问题,有较强的泛化能力。
SVM核心思想是在正确划分训练集的同时,使划分超平面wx+b=0几何间隔最大。定义样本空间中样本点(xi,yi)到超平面的距离,即几何间隔γi为
式中,w=(w1,w2,…,wd)表示超平面法向量,决定其方向;x为输入数据;b表示位移项,通常为某实数。
为求得最大间隔划分超平面,即γi最大,可转化为有约束最优化问题:
将式(7)中的每条约束添加拉格朗日乘子ai≥0,将有约束问题转化为无约束问题,构造的拉格朗日函数如下所示:
根据对偶原理,将式(8)进一步转化,得到式(7)的对偶问题:
求出最优解α*、w*,得到最终分类决策函数:
由于输入空间分为线性分类问题和非线性分类问题,针对非线性分类问题,该方法需将样本从原始空间映射到高维特征空间,从而样本在此特征空间内线性可分。在高维特征空间中运用线性支持向量机,该方法的核心是通过核函数K(x,xi)替换xi和xj在特征空间内的内积,因此核函数的选择不同会生成差异的支持向量机,典型支持向量机网络如图2所示。
支持向量机算法的关键在于核函数及相关参数的选取,常见的核函数有线性核函数、径向基(RBF)核函数、拉普拉斯核函数等,RBF核函数在处理非线性分类问题上表现优异,因此本文选用RBF函数作为核函数。
1.2.2 基于BAS的SVM参数优化
天牛须搜索(BAS)算法[12]是一种基于昆虫天牛搜索行为启发而提出的元启发式优化算法。该算法模拟了天牛须的作用和自然界中天牛的随机行走机制,实现了探测和搜索两个主要步骤。天牛在捕食或寻找配偶时,会摆动身体一侧的触角来接收气味。即天牛随机地利用2根触角探索附近的区域。若天牛一边的触角探测到高浓度的气味时,它就会转向同一边,否则它就会转向另一边。与群智能相比,BAS具有更高的搜索效率,已应用于许多工程优化问题的求解。BAS建模步骤如下:
Step1:天牛须的方向是任意的,定义一个随机的方向向量来表示,并进行归一化处理。
式中,rand(·)为随机函数;k为位置维数。
Step2:定义天牛左右须的搜索行为坐标。
式中,xr为右侧搜索区域内位置;xl为左侧搜索区域内位置;d为感知长度,该长度初始设定足够大,随着时间的增加而减小,以避免陷入局部极小值;t为迭代次数。
Step3:更新天牛位置。
式中,f(·)为适应度函数;δ为搜索步长,δ、d更新函数如下:
将BAS优化后的SVM同AdaBoost算法相结合,建立基于AdaBoost-BAS-SVM算法的岩爆倾向等级预测模型,从而提高岩爆预测精度。
岩爆发生机制复杂,影响因素相对较多,本研究根据岩爆的特点、成因及发生的内外条件,进行综合分析考虑,选取岩爆倾向性预测评价指标,分别为岩石脆性系数σc/σt、应力系数σθ/σc、弹性能量指数Wet。将岩爆烈度等级分为4类:N(无岩爆活动)、L(轻度岩爆活动)、M(中度岩爆活动)、H(剧烈岩爆活动)。参照王元汉[13]研究成果,各评价指标与岩爆烈度对应关系见表1。
基于AdaBoost集成学习的岩爆预测流程如图3所示,步骤如下:
Step1:确定BAS参数优化后的SVM为AdaBoost集成学习的弱学习器。
Step2:确定模型超参数:最佳迭代次数(即最佳弱学习器个数)、AdaBoost集成学习的学习率(Learning Rate,LR)。
Step3:根据已获得的AdaBoost集成学习参数对分类器训练。
Step4:将已训练好的AdaBoost分类器经测试集进行检测,并输出分类结果。
评价机器学习模型优劣可通过多种评估指标进行衡量,如本文混淆矩阵作为常用的评定监督学习算法性能工具,有助于ML模型分类性能的可视化。岩爆等级分类混淆矩阵如表2所示,其中A、B、C、D分别表示岩爆等级N、L、M、H,矩阵中AA、BB、CC及DD为预测正确的样本数,其余组合为预测错误的样本数。
本文选用准确率(Accuracy,ACC)、精确率(Precision,Pr)、召回率(Recall,Re)、F1得分、受试者工作特征(Receiver Operating Characteristic,ROC)曲线以及ROC曲线下面积(Area Under ROC Curve,AUC)6个指标对分类模型性能好坏进行评估,定义如下:
ROC曲线以假正例率(FPR)为横轴,以真正例率(TPR)为纵轴,对应不同阈值绘制曲线,以体现2指标变化的对应关系。对学习器进行比较时,若学习器A的ROC曲线位于学习器B的上方,则可判定A是优于B的;若两者的ROC曲线出现交叉时,则可通过比较ROC曲线下面积AUC,AUC值越大,学习器性能越好。
本研究收集了194组国内外已发表文献中部分矿山岩爆实例的原始数据[14-16],并将样本原始数据采用MATLAB程序绘制成箱线图(如图4所示)。箱线图中所示的最小值、最大值、中位数、第一四分位数(Q1)以及第三分位数(Q3),反映出岩爆样本数据分布不均且存在少数异常值。所收集到的数据集中4类岩爆数据较不均衡,其中无岩爆(N,30组)、轻度岩爆(L,49组)、中度岩爆(M,82组)以及剧烈岩爆(H,33组)。多数分类算法在处理不均衡数据集时都不能获得较好的分类效果,这是由于分类算法会更多地关注多数类别,从而降低模型对少数类别的分类效果。因此为了解决数据集不平衡引起的问题,本文选用随机采样方法处理数据集,其基本原理通过随机复制少数类别数据从而增加其出现频率,使各岩爆类别样本频数呈均衡。
为提高模型的收敛速度,对原始样本数据进行归一化处理,将数据处于区间[0,1]之间,从而使不同维度之间的特征在数值上有一定比较性。由于文章篇幅限制,仅列出部分原始数据及归一化处理后的数据如表3所示。对处理后的数据按照7∶3的比例划分训练集和测试集。为防止模型出现过拟合现象,在划分之前采用随机打乱处理,从而提高模型泛化能力。
基于岩爆预测模型SVM提高精确度的目的,本文于1.2.1节中确定径向基函数为核函数,采用BAS算法对SVM中的惩罚参数C及核函数内的gamma参数进行优化。BAS作为启发式优化算法,其寻优过程具有随机性,本文通过多次对比试验确定算法参数设置:天牛步长衰减系数eta=0.95,天牛须初始步长step=0.8,天牛体型系数c=3,最大迭代次数iter-max=200。经过多次迭代寻得SVM参数最优取值C=5.751,gamma=15.675。
迭代次数及学习率(Learning Rate,LR)作为Ada-Boost集成算法中的重要参数,对分类结果准确率影响很大。一般情况,迭代次数过小,易出现欠拟合现象;迭代次数过大,又易过拟合。同时,在保证同样训练集拟合效果的前提下,LR较小则需增加弱学习器的迭代次数。因此,为获得最佳参数,绘制迭代次数—错误率曲线图,学习率分别取0.2、0.4、0.5、0.9、1.0,如图5所示。
由图5可知,迭代次数达到46时,5条点线图走势趋于平稳,且模型训练时间同迭代次数大致成正比关系。因此,最佳迭代次数(即最佳弱学习器个数)设置为46。
由图5中所示的5条LR下曲线可知,分类错误率在LR>0.5时相对较小,所以LR取值应在0.6~1.0之间。进一步改变LR取值,分别绘制LR=0.6,0.7,0.8,0.9,1.0的分类错误曲线,如图6所示。可知,当LR=0.8时错误率最低,因此参数LR设置为0.8。
分别将 SVM、BAS-SVM、AdaBoost-SVM 以及AdaBoost-BAS-SVM 4种分类预测模型在测试集进行对比分析,并将预测结果绘制相应的混淆矩阵图,如图7所示。
通过所得的混淆矩阵分别计算出各岩爆分类模型的准确率,其中SVM和BAS-SVM单个分类器的准确率分别为61.0%和66.1%,验证了BAS优化后的SVM分类器较传统的SVM分类正确率有所增加,分类识别能力有一定提升,但准确率依旧相对较低。AdaBoost-SVM和AdaBoost-BAS-SVM的准确率分别为72.9%和78.0%,均高于单一分类器。由此可见,对于数据不均衡的样本,单一分类器具有一定局限性,AdaBoost集成学习算法能更准确地划分岩爆等级。
表4显示了4个模型在测试集的精确率、召回率以及F1得分。针对得分不均衡数据样本,上述3个指标更能体现预测模型的优劣。从表中可得,Ada-Boost-BAS-SVM相对于其他模型精确率最高,可达0.759,较单一分类器SVM提高了0.191。结果表明该模型的可行性以及实用性。
分别绘制4种模型下测试集上的ROC曲线,并计算出相应的AUC值,如图8所示。由图可得,Ada-Boost-BAS-SVM的ROC曲线,由于阈值取值的改变,TPR随着FPR递增而增加,整体走势呈上凸状态,且位于其他模型的上方。从AUC值也可看出,Ada-Boost-BAS-SVM的AUC值最高为0.866,与传统单一分类器SVM相比增加了0.187。由此可见,本文提出的AdaBoost-BAS-SVM岩爆预测模型是合理且有效的。
(1)SVM相关参数的优化对岩爆预测结果精确度有较大的影响。本研究采用BAS算法对惩罚参数C及gamma参数进行择优,在一定程度上提高了SVM模型的预测精度
(2)本研究将AdaBoost集成算法同BAS优化后的SVM算法相结合,融合两种算法的优点,解决了单一分类器相对不稳定的问题,提高了模型的收敛速度、泛化能力及预测精度。
(3)将本研究建立的AdaBoost-BAS-SVM模型与SVM、BAS-SVM、AdaBoost-SVM 3组模型进行对比分析,所建模型预测准确性显著提高,证明了本研究所建的岩爆等级预测模型的可行性及有效性。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!