APP下载

基于DA-XGboost算法的复杂机械产品质量预测*

2021-03-26海,

组合机床与自动化加工技术 2021年3期
关键词:特征选择蜻蜓步长

董 海, 田 赛

(沈阳大学 a.应用技术学院;b.机械工程学院,沈阳 110044)

0 引言

随着信息技术的发展,复杂机械产品制造过程中相关质量数据的采集对制造产品质量的影响日益重要。从机械产品构成的角度来看,机械产品从整体分解到部件,再从部件分解到零件的过程中,产品质量特性数据集的维度会随之提高[1]。正是由于复杂机械产品自身特性和生产方式的影响,复杂机械产品的质量特性数据集普遍存在着高维度、小样本和数据不平衡等特点。

目前,国内外学者通过把智能算法与机器学习算法相结合进行复杂机械产品质量预测。Hsu W H[2]通过结合决策树和遗传算法(GA)的特征选择算法,降低决策树的分类错误率。Li A D等[3]建立改进的非支配排序遗传算法(NSGA-II),提高对关键质量识别的分类准确率。Rao Haidi等[4]结合人工蜂群和梯度增强决策树的特征选择,进行关键产品质量识别。李岸达等[5]提出多目标鲸鱼优化特征算法,利用多样性帕累托排序策略,解决关键质量特性识别中非平衡制造过程数据问题。贾振元等[6]利用灰关联分析法分析影响产品质量特性的主要因素,再采用BP神经网络实现对产品质量特性的预测。徐兰等[7]以灰色关联度为目标函数,结合粒子群算法和BP神经网络进行质量预测。蒋晋文等[8]采用XGboost(eXtreme Gradient Boosting)算法识别出对质量影响较大的特征变量,对制造业进行质量预测。李先飞等[9]针对SVM参数选择精度不高、收敛速度慢的问题,提出改进遗传蜂群算法(IGBCA)对SVM进行参数优化。针对复杂机械产品质量预测中高维小样本不平衡数据集的分类问题,遗传算法和粒子群算法等存在训练速度慢,易陷入局部极值问题,SVM参数选取盲目性。

本文采用蜻蜓算法(Dragonfly Algorithm, DA)[10]进行质量预测特征值选择,其特点有结构简单、易于实现且鲁棒性强等,再结合XGboost进行质量预测。基于DA-XGboost的复杂机械产品质量预测流程,首先,对数据进行标准化和缺失值处理,保证数据的有效性。其次,以智能算法中的蜻蜓算法对制造过程中的CTQs进行识别,降低数据集的维度。最后,采用机器学习中的XGboost集成分类算法,进行质量预测,如图1所示。

图1 基于DA-XGboost 的复杂机械产品质量预测流程图

1 蜻蜓算法概述

1.1 蜻蜓算法

蜻蜓算法主要根据蜻蜓群体的两种行为模式:静态群体和动态群体。其中,静态群体和动态群体的主要特征分别是飞行路径的局部移动性和方向一致性,并且均依靠以下5种个体行为,其计算公式如下:

(1) 分离

(1)

其中,X为当前个体的位置;Xj为第j个附近个体的位置;N为相邻个体的个数。

(2) 结队

(2)

其中,Vj为第j个相邻个体的速度。

(3) 内聚

(3)

(4) 觅食

Fi=X+-X

(4)

其中,X+为食物所在的位置。

(5) 躲避外敌

Ei=X-+X

(5)

其中,X-为敌人所在的位置。

为了在搜索空间里更新蜻蜓的位置并模拟其飞行行为,设置了两个向量:步长向量(ΔX)和位置向量(X)。

位置向量和步长向量计算如下:

Xt+1=Xt+ΔXt+1

(6)

ΔXt+1=(sSi+aAi+cCi+fFi+eEi)+ωΔXt

(7)

其中,s为分离权重;a为结队权重;c为内聚权重;f为觅食因子;e为外敌因子;Si为第i个体分离后的位置;Ai为第i个体结队后的位置;Ci为第i个体内聚后的位置;Fi为第i个体食物的位置;Ei为第i个体外敌的位置;ω为惯性权重;t为当前的迭代次数;Xt为当前t代种群的位置;Xt+1为t+1代种群的位置;ΔXt+1为t+1代位置更新步长。

当周围无邻近蜻蜓时,定义蜻蜓遵照如下随机游走行为:

Xt+1=Xt+Le′vy(d)Xt

(8)

其中,t为当前迭代次数;d为位置向量维数;Le′vy为设定的飞行函数,计算公式如下:

(9)

(10)

1.2 算法流程

算法流程框架如图2所示。

图2 DA流程图

具体算法:

步骤1:初始化DA参数。如初始化种群数量和空间维度等。

步骤2:初始化X和ΔX。随机初始化个体的位置和步长。

步骤3:更新权重值。进行各个权重的初始化。

步骤4:计算所有个体评价函数值,更新X+和X-。根据位置X计算个体对应的函数值,再通过比较,寻找蜻蜓的最优个体和最差个体。

步骤5:寻找领域内蜻蜓。通过计算欧式距离,判断邻域内是否存在其他蜻蜓。存在其他蜻蜓,应用式(6)和式(7)更新蜻蜓的位置和步长,反之,应用式(8)更新相应的位置。

步骤6:计算S,A,C,F,E。使用式(1)~式(5)计算各个行为度。

步骤7:更新位置向量(X)和步长向量(ΔX)。

步骤8:判断是否结束算法的下一次迭代,直到达到最大迭代次数终止,若此时迭代过程满足终止条件,则直接停止,若不满足终止条件,则迭代次数加1,继续执行迭代,跳转执行步骤2。

2 基于XGboost的复杂机械产品质量预测

XGboost[11]相对于传统的GBDT,XGboost不仅支持CART(Classification and Regression Trees),还支持线性分类器,降低模型的方差,使学习到的模型更加简单,避免过拟合。

假设模型有K个决策树,即:

(11)

(12)

因此,得到XGboost算法的目标函数,如式(13)所示。

(13)

对目标函数泰勒展开,如式(14)所示:

Ω(fj)+constant

(14)

其中,gi、hi分别是1阶和2阶导数。

(15)

移除常数项有:

(16)

对于树,定义其正则项为:

(17)

其中,ωt为树f中第t个叶子节点上的分值;T为树f中叶子节点的总数目;γ,λ为XGboost自定义参数,γ为L1正则的惩罚项,λ为L2正则的惩罚项。

将It={i|q(xi)=t}定义为第t个叶子点,即:

(18)

对上式求导并求其极值,可得:

(19)

(20)

由式(20)可知,目标值越小,整个树的结构最优。

3 案例分析

3.1 数据集选择

通过如下实例验证本文所建预测模型和所提特征选择算法。该数据集为UCI数据库中SECOM数据集,属于高维且样本量较少的数据。如表1所示,该数据集是半导体的最终质量,其中“N1”“N2”…“N590”表示样本的质量特性,“-1”表示合格,“1”表示不合格。

表1 SECOM数据集

3.2 仿真分析

以SECOM数据集为例,图3表示利用蜻蜓算法(DA)、遗传算法(GA)、粒子群算法(PSO)表示在搜索过程中随着迭代次数的增加适应值函数的曲线,其中适应值函数综合了分类精度和特征子集的特征量。

图3 数据集收敛曲线图

可以看出DA在19代时收敛于0.32,PSO在30代收敛于0.4,GA在61代收敛于0.15。DA更早收敛,说明在前期有可能找到更优解并向更优的区域搜索并收敛。

表2列出10次运行结果的中值、最优值、标准差及选择的特征数量。由实验结果可知,DA在精确度和选择的特征数量指标表现优于GA和PSO。

表2 SECOM数据集结果

将降维后的数据分别用XGboost和SVM进行分类,并选择在ACC指标和AUC指标来评价所构建的复杂机械产品质量预测模型,参数K为5、10、15、20、25、30时的实验结果如表3所示。

表3 DA-XGboost与DA-SVM预测结果

表3为DA特征选择算法下XGboost与SVM的ACC与AUC指标对比,可以看出:无论参数K取何值时,大多数的情况下XGboost的ACC值和AUC值均比SVM值大且参数K取25时最优。

综上可知:对于复杂机械产品的高维小样本不平衡数据集,XGboost的预测结果皆优于SVM,表明XGboost更适合应用于复杂机械产品质量的预测。

4 结论

本文针对复杂机械产品的高维小样本数据不平衡,采用基于DA-XGboost算法进行复杂机械产品质量预测,最终可得到结论如下:

(1)采用特征选择算法DA识别制造过程中的CTQs,有效降低了复杂机械产品质量特性数据集的维度。

(2)提出基于XGboost集成分类算法,构建了复杂机械产品质量预测模型,该算法可以有效降低模型的复杂度,防止过拟合。

(3)通过仿真实验表明,基于DA-XGboost的质量预测模型在对复杂机械产品质量进行预测时,其特征选择算法的迭代速度、精确度和选择的特征数量明显要高于GA与PSO,分类性能也明显优于SVM,同时验证了该算法具有良好的稳定性。

猜你喜欢

特征选择蜻蜓步长
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
蜻蜓
蜻蜓点水
Kmeans 应用与特征选择
蜻蜓
联合互信息水下目标特征选择算法
基于特征选择聚类方法的稀疏TSK模糊系统
基于逐维改进的自适应步长布谷鸟搜索算法
一种新型光伏系统MPPT变步长滞环比较P&O法
基于特征选择和RRVPMCD的滚动轴承故障诊断方法