基于DE-Xgboost的U71Mn钢粗糙度预测模型

2021-06-02 03:13
计算机测量与控制 2021年5期
关键词:正则粗糙度误差

(河海大学 机电工程学院,江苏 常州 213022)

0 引言

锰元素质量分数介于11%和18%之间的合金钢被称为高锰钢,其耐磨性很好。由于其所具备的耐冲击、高耐磨及抗疲劳特性,U71Mn高锰钢被大规模的应用到铁路事业上[1-2]。但当铣削参数配置不合理时易导致加工硬化与应力集中,零件加工后表面粗糙度发散,难以满足铁轨的装配精度[3-4]以及使用寿命[5]。基于此原因U71Mn材料特性一直为国内学者的重点研究方向: 暨南大学范宇[6]研究了不同时效温度对水韧后高锰钢(Mn13、Mn18)组织结构、力学性能、磨损特性及磨损硬化的影响;北京理工大学于启勋[7]从切削过程特性、切削力、刀具磨损耐用度诸方面阐明了高锰钢的切削加工性,并建立了多元线性回归预测模型。

此外表面粗糙度作为加工中须被约束的重要参数,传统试切法、经验切法[8]效率较低,加工者资历要求较高,易导致资源浪费。在工业4.0[9]的趋势下更是成为国内外诸多学者的重点研究方向。

表面粗糙度预测模型大致可以分类如下类别:统计学、机器学习及深度学习回归模型。Li et al[10]在2018从切削液压力出发,基于 Weierstrass-Mandelbrot函数建立了精确的粗糙度预测模型。Kong et al[11]在2020年提出一种结合贝叶斯矩阵分解的线性回归模型;马尧[12]在2020年基于线性回归与主成分分析算法在预测粗糙度的同时可对粗糙度影响因子进行有效分析。上述回归模型大多依赖于最小二乘与凸优化[13]原则进行求解,算法复杂度低可读性强,但U71Mn等难加工金属所对应的强多元非线性关系,线性回归预测精度通常难以满足要求。机器学习与深度学习算法,因其强大的非线性拟合能力在各类工程系统中有着广泛的使用。学者鲁娟[14]2020年使用PSO-SVM算法精确预测蠕墨铸铁加工过程中的表面质量。深度学习模型,虽尚存一些诸如可解释性与原理的”黑盒”问题,但通过多层神经网络可对高维数据进行有效解析,在图片识别[15]、文本翻译等任务相对机器学习模型均有更优的表现。其中卷积神经网络在表面粗糙度检测[16-17]中也有所使用,但当前主流ResNet150(he et all),VGG16网络其训练参数均属于千万级别,综合考虑其参数修正与前向传播,普通计算机难以求解,此外因参数较多当模型样本数目较少时易产生稀疏学习导致过拟合现象。

本模型为降低模型误差上界,使其具有良好的泛化性。提出一种使用混合编码DE[18]优化的Xgboost模型,Xgboost由chen et all[19]提出,近年来在Kaggle与天池等数据挖掘赛事中有着十分优秀的性能表现,但模型误差对诸如:最大数深度(整数)、集成内核(选择项)、最大纵向采样深度(浮点数)等参数初始值设置极为敏感,故使用混合编码的差分进化算法进行模型参数调优。

1 材料特性与数据处理

1.1 加工环境与数据处理

U71Mn高锰钢材料作为一种难加工金属本身的硬度并不高仅有180 HB左右,其抗拉强度和韧性较高,其化学与物理成分如表1所示。

表1 U71Mn钢材料性质

U71Mn高锰钢的切削加工性能主要由其硬度所决定,此外,铣削参数、工件安装方式、铣削方式、热处理状态等都会对铣削过程产生影响,主要表现为以下几点:(1)加工硬化:在铣削过程中,高锰钢的面心立方晶格结构受到外力冲击,晶格产生滑移从而导致单相奥氏体组织向着硬度较高的马氏体转变,硬度急剧升高,产生强烈的冷作硬化现象。(2)切削力大和应力集中:由于高锰钢工件在铣削过程中切削温度高,其加工表面会发生化学反应生成厚度约为0.1~0.3mm的三氧化二锰层,导致切削力增大。(3)切削温度高:前面也已经多次提到,高锰钢切削时会产生大量的热,而且高锰钢的导热性很差,大约是碳钢的1/4左右,热量散发不出去,最终就会导致切削区温度不断的升高,降低刀具寿命,提高生产成本。基于上述特性选择进给量f(mm/z)、铣削深度ap(mm)、铣削宽度ae(mm)、主轴转速n(r/min)作为输入变量,使用M-V5CN组合机床与4齿硬质合金平底立铣刀进行铣削加工。最终获取了1 000组数据样本,表2为部分数据。

表2 部分铣削样本

表面粗糙度由于光电轮廓仪任选零件加工后表面三处均匀表面取均值获得。

1.2 加工环境与数据处理

从表2易知n相对f、ap、ae数据量波动较大,为消除数值量偏差干扰使用式(1)进行标准化处理。

(1)

式中,nor为标准化数据;i为样本索引,j为特征索引。μj为第j个特征均值,sj为其标准差;最终样本80%基于作为训练与验证集4折交叉验证图1原则进行模型训练,余下20%为测试集样本。选用最大误差errmax、平均绝对误差mae、方差std与决定系数作为模型性能评价指标。

2 Xgboost回归原理

Xgboost是一种通过梯度提升树进行的监督学习算法,设训练集样本(xi,yi),其中xi∈Rm,yi∈R,xi为维度为m的一个样本。若Xgboost包含K颗树,可得模型定义表达式(2):

FK=FK-1(xi)+fK(xi)

(2)

式中,fK为第K颗集成回归树。FK-1为先前K-1颗回归树所组成的函数项;为使模型有效训练,选用 MSE均方损失项l作为评价指标,将其转化为有监督的优化目标式(3):

(3)

式中,x=[n,f,ap,ae];θ为Xgboost模型超参数;n为训练集样本数目;Ω为正则化函数,其中K为回归树的数目;T为叶子节点数,γ为l1正则化系数;w为节点权重即为l2正则化项用以约束回归树分裂次数;Xgboost算法在当次迭代t中各回归树直接优化上轮t-1轮残差,结合泰勒公式可将第t轮目标函数Obj二阶展开为式(4):

(4)

式中,yis-1为第t-1轮样本i的输出预测值;g,h分别为模型的一阶与二阶损失梯度函数。ft(xi)为第t轮的树模型,最终样本会被分配到各叶子节点进行加权输出联立式(2)可得第t轮残差优化目标式(5):

(5)

式中,Ij为叶子节点j所划分的样本集,将所有样本特征进行了划分。对于固定的树结构基于凸优化原则可求解出叶子节点j的w最优解式(6):

式中,g,h为基于式(5)求得样本i的特征的梯度与偏置;结合式(3)减去引入该叶子节点的代价γ即可得各特征对应叶子节点所占输出权重。得到叶子节点的最优分布权重wj*后,对于固定的树状结构引入正则化系数,可以求得最优的目标函数值式(7):

(7)

在式(7)中,令Gj=∑i∈Ijgi,Hj=∑i∈Ijhi,则有式(8):

(8)

式中,可直接作为树模型评价指标,基于式(8)可以得到其一般算法迭代流程:

(1)每轮增加一个新的模型优化式(2);

(2)基于MSE均方误差得到其优化目标式(3);

(3)计算误差梯度式(4)得到其一阶gi与二阶hi梯度误差表达;

(4)根据贪心算法及梯度生成树ft;

(5)基于式(8)选择最优切分点;

(6)计算叶子节点权重式(6);

(7)将新新生成树加入模型得到FK,返回(1)。

此外Xgboost支持随机行列采样。即对特征数量(m)及样本数目(n)进行有放回的随机采样。通过引入随机性有效避免直接优化残差可能带来的过拟合现象,此外还可减小迭代运算复杂度。该算法已封装在Python的Xgboost工具箱通过命令(pip install XGBoost)可直接安装。图1为使用该工具箱自适应参数配置下模型训练与验证集方差波动。

(学习率lr=0.3,列采样比例
cc=0.6,行采样比例lc=0.5,最大树深度mp=7,回归树
数量T=100,内核kernel=tree’,正则化系数γ=0.31)
图1 Xgboost误差波动

x

(

)

y

:r(

),MAE(

),

err

max

(

),std(

)

(n)

(m

3 DE-Xgboost模型的建立

式(9)即为Xgboost算法的迭代流程,下使用群体智能算法对下列超参数:学习率lr,列采样比例cc,行采样比例lc,最大树深度mp,回归树数量T,内核kernel,正则化系数γ进行全局寻优。其中超参数lr、cc、lc、γ均为浮点数可以直接基于浮点数编码的遗传算法(Gentic Algorithm,GA)、粒子群优化(Particle swarm optimization,PSO)等算法进行非线性寻优。但超参数T、mp为整数,kernel为选择项,无法基于浮点数编码寻优,为降低运算复杂度并对超参数之间非线性关系进行有效解耦,不考虑使用二阶段优化求解算法。

差分进化算法其基本思想源于遗传算法,同其他进化类算法思想一致对候选种群进行操作,通过把一定比例的多个个体的差分信息作为个体扰动量,使算法在跳跃搜索距离与方向上具有自适应性。并且相对于GA算法DE无需对种群算子进行二进制编码以及解码过程。基于上述特性,DE算法具有极强的局部开采能力。本DE优化Xgboost算法大致可分为如下步骤:

(1)确定个体编码方式。本模型待优化参数为: 学习率lr(浮点数),列采样比例cc(浮点数),行采样比例lc(浮点数),最大树深度mp(整数),回归树数量T(整数),内核ker(0、1规划),正则系数γ(浮点数);对于种群个体x可以写成如式(9):

x=[lr,cc,lc,mp,T,kernel,γ]

(9)

(2)确定种群数目NP为50,基于rand函数将其初始化写入矩阵pop,计算适应度fit。

(3)基于种群适应度fit,对种群pop所有特征进行变异式(10)与交叉式(11)操作;

Vi,g+1=xr1,g+F(xr2,g-xr3,g)

(10)

(11)

式中,g为当前迭代次数;r1,r2,r3∈{1,2,……,NP}且互不相等;F为变异因子,为区间[0.3,0.7]之间的线性衰减函数,可有效保证迭代初期最大化搜索范围,与终止时程序收敛;确定变异因子后通过式(11)即可进行交叉操作,式中,CR为交叉因子决定该特征取代个体分量值得概率,此处取常数0.5。

(4)选择操作,基于式(12)决定是否在下轮迭代中替换该个体,即保留最优参数。

x(i,g+1)=

(12)

(5)边界处理对越界的特征重新初始化。

(6)根据Xgboost迭代流程更新种群适应度fit,并且判断是否达到迭代终止条件,否则返回(3)。

设置进化次数G为100,适应度函数与XGBoost一致使用MSE均方误差。按照上述参数配置进行迭代,图2为DE进行寻优寻优误差波动。

图2 DE参数寻优

图中,在第20次迭代时模型已经收敛。经DE算法全局搜索模型最优超参数为: 学习率lr=0.415,列采样比例cc=0.75,行采样比例lc=0.641,最大树深度mp=5,回归树数量T=200,内核kernel=tree’,正则化系数γ=0.41。

与DNN、SVM等机器学习算法模型一致,Xgboost模型其初始超参数直接决定模型的性能上限以及收敛区间。虽然使用算法优化器可以在一定程度内缓解对于初值的依赖性,但在Xgboost模型中为保证模型的收敛以及泛化性,训练迭代流程中已引入贪心与随机采样思想,根据”没有免费的午餐[20]”原则随之带来的代价便是初值敏感性。

4 实验结果与分析

为直观评估本DE-Xgboost模型的性能,除未经DE优化的Xgboost算法外。依次建立了DNN、GA-SVM模型进行性能对比;DNN为包含两个全连层的神经网络模型其神经元数目依次为64,16,基于误差反向传播原则使用BP进行训练,算法优化器为随机梯度下降(Stochastic Gradient Descent,SGD)。GA-SVM,即为与DE-Xgboost思想一致使用遗传算法寻优SVM超参数,最终参数为:kernel=rbf’(高斯内核),正则化系数γ=0.7;平滑系数gamma=1.1;软间隔系数C=0.14;对样本集基于五折交叉验证原则进行处理,表3为上述各模型在验证集样本中的泛化性能。

表3中,因模型训练样本数目较少,神经网络模型在测试集上各项指标均不理想。相比之下在机器学习中的典型SVM、Xgboost模型在小样本条件下性能表现较为优秀。

表3 模型性能对比

其中经DE算法进行优化的Xgboost模型,有着最小的测试集平均绝对误差、方差、最大误差,模型泛化性误差稳定,性能可靠,且绝对系数高达88.4%,对测试集样本解释性最高,有理由相信,该DE-Xgboost模型可有效担任U71Mn高锰钢粗糙度预测任务。

5 结束语

基于U71Mn高锰钢材料性质分析了其加工过程中加工硬化、应力集中现象的产生原因。作为典型的难加工金属,铣削参数与加工后表面粗糙度具有较强的非线性关系,提出了一种使用DE算法优化的Xgboost模型,证明其相对主流DNN、SVM类算法有着更优的精度与性能。且作为一种树型模型其运算复杂度较低,通过Xgboost求解模块,可以直接求解该模型表达式并具有直接部署于单片机等嵌入式开发设备的潜质。

猜你喜欢
正则粗糙度误差
CBCT图像引导的放疗前后半程摆位误差分析
攥得紧就一定拿得牢吗?
隧道横向贯通误差估算与应用
隧道横向贯通误差估算与应用
任意半环上正则元的广义逆
sl(n+1)的次正则幂零表示的同态空间
绿色建筑结构设计指南
地铁轮轴压装试验情况浅析
刀尖圆弧半径对活塞异形销孔粗糙度影响分析
浅谈数控机床的特点