基于XGBoost的铝合金LIBS光谱分类识别方法 下载: 572次
1 引言
随着我国工业的发展, 铝合金材料因其优异的性能而被广泛应用于各个领域, 但大量的铝合金废料的分类回收成了工业难题。 当前多采用密度分离技术来对铝合金进行分离, 但该技术有着很多缺陷, 且铝合金之间的物理性能差异较小, 其他传统分离技术如磁、 涡流、 颜色感应等分离效果不好, 耗能严重[1], 因此需要新的识别方法来对进行铝合金分类回收。
激光诱导击穿光谱(laser induced breakdown spectroscopy, LIBS)是近年来快速发展的一门崭新的分析技术, 因其能够快速、 全元素分析、 实时、 原位、 远距离检测等优点而受到广泛关注[2]。 该技术利用高功率脉冲激光辐射聚焦在样品表面上, 立即蒸发出少量样品, 引发样品元素的雪崩电离, 产生击穿效应。 样品中各特征元素所产生的原子线和离子线, 是进行定性鉴定的基础。 将LIBS技术应用于合金金属废料回收, 可以快速地对合金废料按不同成分进行识别和分类。
LIBS技术在未经任何样品预处理的情况下原位使用时, 灵敏度、 重现性和准确性无法保证; 但在进行快速分类及对未知对象的成分与参考标准进行比较等方面, 灵敏度和准确性问题则起着较小的作用。 由于LIBS的快速性和鲁棒性, 已有报道在LIBS定性识别和定量分析中使用偏最小二乘判别分析法(PLS-DA)、 主成分分析法(PCA)、 人工神经网络(ANN)、 支持向量机(SVM)、 随机森林算法(RF)等[3,4]。 金属合金类样品因其所含杂质元素种类多、 含量低等特点, 成为LIBS进行识别研究的难点。 现有金属合金类样品识别分析多集中在钢铁样品的分类研究。 Prasanthi Inakollu[5]等通过ANN来预测铝合金的元素浓度, 预测效果优于传统方法。 Liang[6]等将LIBS同SVM相结合, 实现了不同牌号钢材的快速识别, 通过改进SVM模型算法, 满足多分类目的的同时, 避免了冗余信息对识别的干扰, 提高了识别正确率。 Xu[7]等通过蒙特卡洛有放回的重采样技术, 最大限度的提取有效信息来进行变量选择, 提升了SVM对钢铁样品的分类效率, 获得了更好的稳定性和普遍性。 Campanella[8]等将LIBS同“模糊化”的ANN相结合, 在模拟工业环境的条件下实现对铝合金的有效分类。
基于树的XGBoost算法是一类有监督的机器学习算法, 具有正则化、 并行处理运算、 内置交叉验证和高度的算法灵活性等优势[9], 其模型结构简单、 运算量较小, 且准确率较高, 成为近年来机器学习挑战中极受欢迎的算法。 此外, XGBoost算法克服了ANN算法复杂的、 难以解读的黑箱问题, 能够对算法提供详细解释; 同时较SVM等算法, 具有更高的准确率[10]。 对于光谱分析, XGBoost算法能够直接提取谱线特征信息进行预测, 对LIBS识别材料提供很大的帮助。
1 XGBoost算法原理
XGBoost是一种迭代型树类算法, 将多个弱分类器一起组合成一个强的分类器, 是梯度提升决策树(GBDT)的一种实现[11]。 XGBoost是一种强大的顺序集成技术, 具有并行学习的模块结构来实现快速计算, 其通过正则化来防止过度拟合, 可以生成处理加权数据的加权分位数草图[12]。 具体算法步骤如下:
目标函数
在XGBoost中, 每棵树需逐个加入, 以期效果能够得到提升。
如果叶子的节点太多, 模型的过拟合风险就会增大。 所以在目标函数中加入惩罚项Ω(ft)来限制叶子节点个数。
式中, γ为惩罚力度; T为叶子的个数; ω为叶子节点的权重。
完整的目标函数即为
记
得到
求出目标函数最优解
上式可作为树的子叶分数, 树的结构随着分数的增加而优异。 且一旦分裂后的结果小于给定参数的最大所得值, 算法将停止增长子叶深度[13]。
2 实验部分
2.1 仪器及参数
采用自主设计搭建的LIBS系统, 采用调Q开关Nd∶YAG脉冲激光器(Quantel Brilliant B, 波长1 064 nm, 脉冲宽度8 ns, 最大重复频率10 Hz)。 位移平台设计为手动调节的“弓”字型运动方式, 以避免激光脉冲重复作用于样品同一位置。 激光经反射镜、 平凸透镜和平凹透镜聚焦到样品表面, 激发出等离子体。 受激发的等离子体产生的光谱信号通过收集器耦合, 进入直径为100 μm的光纤中, 传输至光谱仪(AVANTES, 3通道拼接, 波长范围170~950 nm, 分辨率全波长范围内小于0.1 nm)。 该系统的光路设计如图1。
2.2 样品
采用6种铝合金样品作为实验样品, 其形态为直径Φ30×5 mm圆柱。 样品编号及杂质元素含量如表1所示。 样品固定在自制的样品盒内, 以保证LIBS的激光激发位置一致。
表 1. 6种待测铝合金样品的杂质元素含量(Wt.%)
Table 1. The values concentration (Wt.%) of impurity elements in six alloys
|
实验采用的激光脉冲能量为200 mJ, 脉冲频率为2 Hz, 采集延迟时间为5 μs, 均在一个大气压的实验环境下进行。 每个样品取100个测量点, 在各测量点上分别测量20次取平均, 以减小误差。 每个样品测试前, 前5个激光脉冲用于对样品表面进行剥蚀, 以清除样品表面的氧化物等杂质。 最终得到6个样品的LIBS光谱数据共600组。 随机打乱各样本光谱数据, 其中取420组光谱数据为训练集, 180组光谱数据为测试集。 采用Python环境下的pandas包对数据集进行数据处理, 用Python环境下XGBoost包对模型进行训练。
2.3 特征谱线分析
为降低测定过程中波动影响, 将各杂质元素谱线强度同基体元素Al 394.40 nm光谱强度相除, 得到六种样品的相对光谱强度如图2所示, 部分波段因光谱仪多通道而被重复采集。 考虑到以生成模型、 统计分析为主要目标, 应尽可能多地选取特征元素, 根据NIST原子发射光谱数据库选择元素的特征谱线, 根据元素含量进行曲线拟合, 同时避开光谱重复波段, 共筛选出10种LIBS光谱数据的特征谱峰, 如表2所示。 选取这些谱线数据使得原本的连续谱简化为10组光谱的特征谱峰, 降低了原数据量, 提高了模型的运行速率。
图 2. 六种铝合金的典型光谱矩阵图
Fig. 2. The spectral matrices of six kinds of standard aluminium alloy
表 2. 分析所用谱线
Table 2. Spectral lines for analysis
|
2.4 XGBoost建模
设置训练集和测试集的数据比例为7∶3, 通过对XGBoost算法超参数进行调整, 使得模型模型更加稳定, 具体参数设置如表3所示。
表 3. XGBoost模型的超参数
Table 3. Super parameters of XGBoost model
|
3 结果与讨论
通过XGBoost自带函数算得每种谱线的权重评分如图3所示。 结合表4中各样品杂质元素含量变异系数可知, XGBoost算法对变异系数高的元素(如Cu, Ti, Mn和Cr等)赋予权重较高, 有利于合理区分样品类别。 该权重值会随着XGBoost超参数的不同而发生较小的变化, 但总体不会有很大的改变。
表 4. 6种样品杂质元素含量的变异系数
Table 4. The Coefficient of Variation of all analytical elements
|
下面分别以权重最高的四种元素(Cu, Ti, Mn和Cr)的相对强度值作为横、 纵坐标, 绘制散点图、 直方图及等高线图如图4。 由散点图可以直观地看出, 这四种元素相对强度值可以有效区分六种铝合金样品。 从等高线图及直方图中可以判断出, 随着元素谱线特征权重的提高, 各样品的集中趋势越明显, 且样品之间重合区域越小; 而较低的谱线特征权重下, 各样品点分布较为分散, 且不同样品之间重叠区域范围较大, 不易区分样品。 因此, XGBoost算法可以有效地进行特征评价, 判断出光谱中的特征谱线信息来进行样品判断和识别, 克服了ANN等算法复杂的、 难以解读的黑箱问题。
图 4. 光谱数据在XGBoost的4种特征下的分布图
Fig. 4. Distribution map of spectral data under 4 featres of XGBoost model
实验得到XGBoost分类正确率如表5所示。 从表5可以看出, 样品识别正确率达到96.67%, 误报情况主要集中在1#及3#两类, 其中1#与5#中的Cu含量接近, 而Cu作为影响分类最大的因素, 如果含量接近会使模型因分类界限接
近而产生分类错误; 而3#同2#相比, 虽然3#中Cu的含量较2#多, 但其他Ti、 Mn等元素含量较少, 在模型中所得分数较为接近而容易产生误判, 因此这两类样品易产生误报现象。
表 5. 测试集识别结果
Table 5. Identification results of Test Sets
|
如果训练集样本量足够多, 模型将会更加的稳健, 识别的准确率也会更高。 模型将通过选用铝的非自吸收弱线(如396.15 nm)来进行归一化; 选用更多的特征谱线来进一步优化分类算法, 以提高模型的识别准确率。
4 结论
通过对6种铝合金进行LIBS光谱数据采集, 选择10个特征波长的光谱强度作为特征变量, 构建出铝合金的光谱矩阵, 降低了模型负担。 结合XGBoost算法对数据进行分析和建模, 可对不同铝合金样品进行识别, 识别准确率达到96.67%, 同时对元素谱线特征权重进行有效地区分。 实验结果表明, LIBS通过XGBoost算法可有效识别铝合金样品, 为铝合金分类回收提供了一种新的技术。
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
[11]
[12]
李晨阳, 陈雄飞, 张勇, 王亚文, 田中朝, 王世功, 赵珍阳, 刘英, 刘鹏宇. 基于XGBoost的铝合金LIBS光谱分类识别方法[J]. 光谱学与光谱分析, 2021, 41(2): 624. Chen-yang LI, Xiong-fei CHEN, Yong ZHANG, Ya-wen WANG, Zhong-chao TIAN, Shi-gong WANG, Zhen-yang ZHAO, Ying LIU, Peng-yu LIU. Study on Identification Method Based on XGBoost Model for Aluminum Alloy Using Laser-Induced Breakdown Spectroscopy[J]. Spectroscopy and Spectral Analysis, 2021, 41(2): 624.