基于GASA-BP神经网络的煤层瓦斯含量预测方法研究*
2022-09-21陆卫东魏国营
马 磊,陆卫东,魏国营,,3
(1.河南理工大学 安全科学与工程学院,河南 焦作 454000;2.新疆工程学院 安全科学与工程学院,新疆 乌鲁木齐830023;3.煤炭安全生产与清洁高效利用省部共建协同创新中心,河南 焦作 454000 )
0 引言
煤层瓦斯含量是描述单位质量煤容纳瓦斯体积的量,是预测瓦斯涌出量和煤层突出危险性的重要参数,瓦斯含量的精准预测对瓦斯灾害治理具有重要意义[1-2]。
近年来,随着机器学习和智能算法的快速发展,人工神经网络、支持向量机和极限学习机等方法在煤层瓦斯预测中得到了广泛应用[3-5]。魏国营等[6]利用主成分分析法(Principle Component Analysis,PCA)提取瓦斯含量影响因素的主成分,并用自适应混合粒子群算法优化支持向量回归机(Vector Regression Machine,SVM)的初始参数构建PCA-AHPSO-SVR瓦斯含量预测模型;林海飞等[7]利用粒子群优化算法(Particle Swarm Optimization,PSO)优化BP神经网络(Back Propagation Neural Network,BPNN)的初始权值和阈值,构建PSO-BPNN瓦斯含量预测模型;汪吉林等[8]将构造指数、煤层埋深、煤层厚度和原始瓦斯含量作为模型输入,构建BPNN瓦斯含量损失量预测模型;曹博等[9]采用PCA法降低数据维度,利用遗传算法(Genetic Algorithm,GA)搜索BPNN的初始参数,构建GA-BPNN瓦斯含量预测模型;温廷新等[10]利用改进的果蝇优化算法优选极限学习机(Extreme Learning Machine,ELM)的参数建立IFOA-ELM瓦斯预测模型;付华等[11]利用蚁群聚类(Ant Colony Clustering,ACC)算法优化Elman神经网络建立绝对瓦斯涌出量预测模型。对BPNN易陷入局部极小的陷阱且收敛速度慢的问题,学者都利用改进了的单一算法优化模型初始参数,但瓦斯含量影响因素多且各影响因素之间非线性关系复杂,再加上单一智能算法的改进程度的局限性导致预测模型稳定性和准确率低。为解决这类问题,将GA和具有时变且最终趋于零概率突跳性的模拟退火(Simulated Annealing,SA)算法整合成GASA混合优化算法,该算法吸取2类算法的优点,克服GA易早熟的缺点,提升BPNN的寻优训练速度和最优解质量。
本文拟利用灰色关联分析法筛选瓦斯含量的地质影响因素,建立预测参数体系,将GA和SA整合为GASA混合算法协同初始化BPNN参数建立GASA-BPNN瓦斯含量预测模型,以期得到更高效和精准的预测模型。
1 建立模型
1.1 相关理论
GA是模拟自然界遗传机制和达尔文生物进化论的并行随机搜索算法[12]。GA将待优化的参数编码为若干个个体形成群体,通过遗传操作来效仿生物的进化过程,利用适应度值来评价个体的质量,通过循环迭代和适应度函数引导种群共同进化,使最优个体逼近问题全局最优解。
SA[13]是基于Monte Carlo迭代求解策略的1种随机搜索算法,出发点是基于固体物质的退火过程与组合优化问题之间的相似性。SA由初始高温开始,利用具有概率突跳性的Metropolis抽样准则以一定概率接受邻域中次优解随机搜索,随着温度不断下降,最终找到全局最优解。
依据SA在搜索过程中逐渐趋于0的概率突跳性和GA优胜劣汰的优势,将GA和SA整合成GASA混合算法,避免算法落入局部极小的陷阱;在结构方面,GA是依据邻域函数对群体并行搜索,而SA每次搜索时只针对1个个体,GASA混合算法相当于在GA中群体的每个个体下均串行1个SA,使个体的邻域搜索结构更加丰富,增强算法搜索能力和效率。GASA算法优化流程包括以下10个步骤[14]:
1)初始化GA。设定种群规模N,初始化种群PK,设定最大遗传代数M,遗传迭代次数K=1。
2)定义适应度函数。
3)评价PK适应度值。判断是否满足遗传停机条件?若满足,选择适应度最大的个体作为最优解输出,算法结束;若不满足,执行步骤4)~9)。
4)对种群PK执行遗传交叉和变异生成种群PK0,并评价PK0适应度值。
5)初始化SA参数。设定种群PK0为SA的初始解,令i=0,设定初温T=Ti(足够高),确定每个T状态下Metropolis链长L,令链中迭代次数Q=1。
6)对当前温度T和Q=1,2,3,…L状态下,重复执行步骤7)~9)。
7)对当前群体的每个个体随机扰动产生新的群体,评价新群体适应度。
8)计算新群体和当前群体各个体适应度值的差值ΔE。若-ΔE<0,则接受新个体;若-ΔE≥0,计算接受概率,即判断P=exp(-ΔE/T)≥rand是否成立,若成立,也接受新解;否则拒绝新解。
9)令Q=Q+1,判断条件Q>L是否成立,若成立,则i=i+1,按温度衰减函数进行降温,即T=Ti+1,其中T
10)PK种群经遗传操作产生种群PK0,种群PK0作为SA的初始解经退火操作产生PK+1,若新种群PK+1没有满足遗传停机条件,则由SA产生的种群PK+1作为GA的初始种群再参加迭代寻优。
1.2 建立GASA-BPNN预测模型
BPNN是由误差逆向传播算法训练的多层前馈神经网络,在结构上由输入层、若干隐含层和输出层组成,各层采用权重参数全连接方式,其核心是信息从输入层经隐含层处理后传递到输出层计算误差,若误差不满足要求,将误差信号反向传递给各节点,节点更新参数,反复迭代直至满足要求,最终构建能逼近复杂非线性映射的模型[15]。但BPNN初始参数对模型性能的影响十分敏感,随机初始化参数是导致BPNN陷入局部极值、收敛速度慢和模型精度低的主要原因。因此,利用GASA算法初始化BPNN的参数来代替传统方法,有效地提高BPNN训练速度和预测精度,GASA算法初始化BPNN参数具体流程如图1所示。
图1 GASA初始化BPNN参数流程Fig.1 Procedure of GASA to initialize BPNN parameters
2 现场应用
2.1 瓦斯含量影响因素分析及建立数据集
根据焦作矿区某矿瓦斯地质条件和瓦斯分布规律研究情况[16],瓦斯含量(X0,m3/t)影响因素选取可量化处理的以下8个因素:煤层埋深(X1,m)、煤层厚度(X2,m)、倾角系数(X3)、上覆基岩厚度(X4,m)、围岩等效系数(X5)、断层复杂系数(X6)、褶皱复杂系数(X7)和底板标高(X8,m)[6]。在该矿选取300组瓦斯含量及影响因素的数据作为实验数据集,训练集和测试集利用10折交叉验证的方式划分,部分数据见表1。
表1 瓦斯含量及影响因素数据Table 1 Data of gas contents and influencing factors
2.2 确定BPNN结构
利用灰色关联分析法筛选主控因素为模型的输入。灰色关联计算步骤如下[17]:
1)确定参考序列和比较序列:参考序列为瓦斯含量(X0),比较序列为瓦斯含量的8个影响因素。
2)数据按公式(1)进行归一化处理。
(1)
式中:xl(h)为样本编号为h的第l评价指标的数值;h为样本编号,h=1,2,…,n;l为评价指标,即瓦斯含量的各影响因素,l=1,2,…,m;xmax和xmin分别是评价指标的最大和最小值。
3)按公式(2)计算关联度系数。
(2)
式中:ξe(k)为比较序列xe对参考序列x0在第k指标上的关联系数,k=1,2,…,n;ρ∈[0,1]为分辨系数。
4)按公式(3)计算关联度。
(3)
式中:n为样本数量;wk为指标权重。
关联度计算结果见表2。由表2可知:影响因素X4和X5的关联度相近,说明这2个因素对含量影响效果一样,只需保留1个即可说明效果,因此,剔除X5。因素X3和X7的关联度不足0.5,属低相关度,因此剔除,从而确定输入层节点数为5。
表2 灰色关联分析结果Table 2 Results of grey correlation analysis
BPNN隐含层节点数过少会造成参数无法得到充分训练和预测精度低的问题,节点过多会造成过拟合现象。依据经验公式(4)确定隐含层节点数范围为[4,12][18]:
(4)
式中:W为隐含层节点数;c是输入层节点数;q为输出层节点数;B是1~10范围内的整数。
通过比较不同节点数模型的误差试凑出最佳隐含层节点数,结果见表3。由表3可知:当W=12时误差最小,因此,网络隐含层节点确定为12。研究表明三层BPNN能任意逼近任何复杂非线性系统,因此,GASA-BPNN预测模型的结构被确定为5-12-1型BPNN。
表3 隐含层节点数与平均相对误差Table 3 Numbers of hidden layer nodes and average relative errors
2.3 模型应用
模型应用具体流程如下[14]:
1)划分测试集与训练集。首先将数据按公式(1)归一化到[0,1]范围内。然后将数据集分层抽样划分10个互斥子集,每次利用某个子集作为测试集,其余作为训练集进行10组训练和测试,重复10次,10折交叉验证示意如图2所示[19]。
图2 10折交叉验证示意Fig.2 10-fold cross-validation diagram
2)GA种群初始化。采用浮点数的编码规则对85个参数进行编码,每个个体代表1套权值和阈值,并随机生成50个个体的种群PK。
3)GA参数设定。设定遗传最大迭代次数为300,迭代次数K=1,当满足最大遗传迭代次数时遗传停机,交叉概率pc=0.7,变异概率pm=0.005。
4)定义适应度函数。适应度函数根据预测均方误差(Mean Square Error,MSE)进行设定,MSE越小,个体适应度值越大。
5)评价初始种群PK每个个体的适应度,依据适应度值进行排序。
6)GASA停机判定。判断是否满足最大遗传迭代次数,若满足,则优化结束,转至步骤7)~11);否则,K=K+1,转步骤12)。
7)初始化BPNN。将步骤6)优化后的解赋值给BPNN,设定最大训练次数为H=750,记录迭代次数为S=0,隐含层和输出层的激活函数分别选择logsig函数和purelin函数。
8)输入数据集。数据按照BPNN的正向向前传输,第f个隐含层神经元的输入如式(5)所示:
(5)
式中:γf为第f个隐含层神经元的输入;vvf是输入层第v个神经元和隐含层第f个神经元之间连接的权值。
第j个输出节点的输入如式(6)所示:
(6)
式中:βj为第j个输出神经元的输入;wfj为隐含层第f个神经元与输出层第j个神经元的连接权值;bf为隐含层第f个神经元的输出。
9)更新BPNN权值和阈值。预测均方误差反向传播给各个节点,节点误差自适应学习率梯度下降法更新参数如式(7)所示:
(7)
式中:μ(S+1)为第S+1代的学习率;μ(S)为第S代的学习率;Sin为增量系数;Sde为减量系数;E(S+1)为第S+1代的误差;E(S)为第S代的误差。
当误差以较少的趋势逼近目标值时,表明模型训练方向正确,可增大学习速度;当误差的增加超过允许范围时,表明模型训练方向错误,应降低学习率。
10)BPNN停机判定。判断是否满足停机条件(设定最小误差为停机条件),若满足,网络结束学习完成模型建立,转步骤11);否则判断是否H=S,若是则返回7);若不是,则S=S+1返步骤8)。
11)模型仿真及评价。将测试集输入GASA-BPNN模型测试,利用MSE、迭代次数和预测相对误差进行模型性能评价。
12)GA选择。采用轮盘赌选择法筛选个体,个体xu的适应度值为f(xu),则个体xu被选择的概率为式(8):
(8)
式中:N为群体中个体数目总和。
(9)
式中:λ1+λ2=1,λ1>0,λ2>0。
14)GA变异。随机选择个体基因型X=x1x2…xb…xS,将xb作为突变点,按公式(10)进行遗传运算。
(10)
式中:UB,LB分别为xb的上、下边界值;r为随机数;K为进化代数;Δ(t,y)的定义为式(11):
(11)
式中:q为控制非一致性参数,取0.8。
15)评价PK0适应度。评价PK0的适应度值,设定PK0为退火算法的初始种群。
16)SA参数初始化。将所有经过遗传运算的个体进行退火。设定初始温度T=100 ℃,冷却系数0.98,停机准则,令Q=1,马尔可夫链长L=60。
17)对群体中的每个个体进行扰动产生1个新解,计算新旧群体每个个体的适度值的差值,根据Metropolis抽样准则判断是否接受新解。
18)令Q=Q+1,判断是否在马尔可夫链中,若在则转步骤17),若不在链中,则退温,再判断是否达到SA停机条件,如满足停机,则SA算法结束,转步骤4);否则,Q=1,转步骤17)。
2.4 模型性能对比与结果分析
为了验证GASA-BPNN瓦斯含量的预测效果,在同等条件下分别建立BPNN和GA-BPNN模型对比分析。首先利用GA算法和GASA算法分别初始化BPNN的参数30次,最优个体的平均适应度变化曲线如图3所示,由图3可得GASA算法和GA优化过程平均适应度分别在第92次和第177次迭代时完成寻优,GASA算法寻优速度明显快于GA算法并且最优适应度大于GA算法的最优适应度,说明GASA算法在参数寻优过程中效率和效果均优于GA算法。
图3 平均最优个体适应度值曲线Fig.3 Curves of average optimal individual fitness value
其次,将经过10次10折交叉验证划分的100组训练集分别输入BPNN模型、GA-BPNN模型和GASA-BPNN模型中按照误差自适应学习率梯度下降法进行参数学习,3种模型分别训练100次,100次训练平均均方误差曲线如图4所示,图4显示GASA-BPNN和GA-BPNN分别在第332次和第459次训练时达到目标误差线,而BPNN在第736次训练时仍未达到目标误差,说明经GASA优化后的模型对样本学习所需的训练次数明显减少并且权值和阈值更接近最优参数。
图4 平均均方误差收敛曲线Fig.4 Curves of average mean square error convergence
最后,将100个测试样本集分别输入3种模型中预测计算,各组预测平均相对误差见表4,从表4可知,各组GASA-BPNN模型预测的平均相对误差和10组总平均相对误差明显低于其他模型。
表4 各组测试集平均相对误差Table 4 Average relative error of each group of test set %
选取样本编号为1到30的30个样本集作为研究对象,分析30个样本在10组仿真测试中均是测试集时的预测性能,得到实测值与平均预测值对比如图5所示,平均预测相对误差对比如图6所示。由图5可得GASA-BPNN的预测值较GA-BPNN和BPNN最接近实测值,由图6可得GASA-BPNN模型预测的平均相对误差最小且相对误差波动最小,说明GASA-BPNN模型预测稳定性强并且预测准确率更高,能满足预测目标和工程需求。
图5 实测值与平均预测值对比Fig.5 Comparison of measured values and average predicted values
图6 平均预测相对误差对比Fig.6 Comparison of average prediction relative error
3 结论
1)将GA和具有时变概率突跳性的SA整合为GASA算法,该策略突破了单一智能算法改进程度的局限性,相同环境下该算法在BPNN初始参数寻优过程中效率和效果均优于GA算法。
2)利用灰色关联分析法消除瓦斯含量影响因素相关性,建立瓦斯含量预测参数体系从而确定BPNN输入层节点个数,减少数据维度,降低模型训练的计算量和预测误差。
3)利用GASA算法优化BPNN的权值和阈值,有效地解决BPNN收敛速度慢和易陷入极小的问题,与其他模型相比,经过GASA优化的BPNN对数据的学习迭代次数明显减少并且GASA-BPNN模型能更加准确地预测瓦斯含量,对煤矿瓦斯治理具有重要意义。