孫永長, 劉艷麗, 黃曉紅, 宋 超*, 程朋飛
1. 華北理工大學人工智能學院, 河北 唐山 063210 2. 華北理工大學河北省工業(yè)智能感知重點實驗室, 河北 唐山 063210 3. 華北理工大學電氣工程學院, 河北 唐山 063210 4. 河鋼集團鋼研總院, 河北 石家莊 050000
我國是鋼鐵生產(chǎn)和消費大國。 冶金過程中產(chǎn)生的廢鋼作為鋼鐵工業(yè)重要的可持續(xù)發(fā)展資源, 主要用于長流程轉(zhuǎn)爐的煉鋼添加料或短流程電爐的添加料, 是高爐煉鋼的不可或缺的原料之一, 不僅比礦石煉鋼耗能低, 節(jié)省鋼企成本, 還能減輕環(huán)境污染, 對環(huán)境友好。 世界范圍內(nèi)每年產(chǎn)生的廢鋼量約3~4億噸, 但回收率不高。 如何對廢鋼進行合理配置不僅是冶金行業(yè)需要考慮的重要方面, 對于中國發(fā)展全廢鋼電爐煉鋼也具有重要的戰(zhàn)略意義[1]。 對廢鋼進行有效分類, 是電爐煉鋼的關鍵環(huán)節(jié), 能有效加快鋼廠煉鋼流程, 助力冶金行業(yè)的可持續(xù)發(fā)展進程。
目前利用廢鋼外觀、 尺寸作為分類標準的方式較為繁瑣, 需要檢測人員具有大量經(jīng)驗且學習成本較高, 而利用傳統(tǒng)檢測方式如火花直讀、 紅外光譜法[2]和X熒光檢測[3]在實驗環(huán)境要求, 樣品制備過程等方面較為嚴苛和復雜, 對樣品表面?zhèn)σ草^大, 很難達到快速精準分類的要求。 激光誘導擊穿光譜(laser-induced breakdown spectroscopy, LIBS)是一種快速且高效的光譜分析技術, 可以通過采集等離子體光譜對被測物質(zhì)進行分析, 樣品需求量少、 破壞性小、 無需復雜的樣品制備且快速高效, 近年來在冶金工程、 環(huán)境資源檢測、 生物醫(yī)學分析、 地質(zhì)分析、 農(nóng)業(yè)和軍事[4-11]等多種領域都有廣泛應用。
機器學習算法結(jié)合LIBS進行材料的分類識別在近年來有廣泛的研究。 Zhang等[12]以全譜數(shù)據(jù)、 全譜標準化數(shù)據(jù)和前四條強譜線分別建立偏最小二乘判別分析(partial least squares discriminant analysis, PLS-DA)模型, 并通過五折交叉驗證確定最優(yōu)潛變量數(shù)對兩種不同的鋼渣進行分類識別, 經(jīng)對比, 前四條譜線作為輸入建立的定性模型識別率達到96.67%, 證明該定性模型能夠應用于生產(chǎn)中, 有助于鑒別鋼渣質(zhì)量。 后來的研究中[13], 通過獨立分量分析(independent component analysis, ICA)提取光譜有效特征, 將其作為輸入小波神經(jīng)網(wǎng)絡(wavelet neural network, WNN)模型, 建立的ICA-WNN模型用來對3類煤灰樣品進行分類, 最終準確率為98.89%, 驗證了LIBS與WNN相結(jié)合對煤炭工業(yè)在線分析的合理性和有效性; Liu等[14]為了對三類航空用鋁進行快速準確分類, 首先使用基于連續(xù)圖像定位技術實現(xiàn)對數(shù)據(jù)的準確采集, 再以Cu, Zn等元素的高斯歸一化譜線強度值作為輸入建立多維高斯概率密度分布模型, 平均識別率為99.15%, 表明此方法有助于對金屬進行高性能分類; Dong等[15]利用機器學習結(jié)合LIBS對東北5個產(chǎn)地的人參進行產(chǎn)地分類識別, 利用主成分分析(principal component analysis, PCA)提取有效成分并減少維度, 分別建立PCA-SVM和PCA-BP-ANN分類模型, 得到的平均精度為99.5%和99.08%, 證明了BP-ANN訓練速度更快, 結(jié)果穩(wěn)定且分類精度高, 可實現(xiàn)對人參產(chǎn)地的快速識別; Zhang等[16]利用隨機森林算法(random forest, RF)與LIBS相結(jié)合對9種不同的鋼樣進行分類, 采用袋外誤差與交叉驗證優(yōu)化模型參數(shù), 并與PLS-DA等算法進行對比分析, 結(jié)果表明, 利用隨機森林算法對鋼樣分類的效果優(yōu)于其他模型, 所建立的模型能夠有效快速且精準實時的預測鋼種類別; Pan等[17]利用PCA結(jié)合極限學習機(extreme learning machine, ELM)對不同種類鋁合金進行識別, 選取主要差異元素共21條譜線進行主成分分析, 將21維特征減少至8維, 建立PCA-ELM模型, 使得分類準確率達98.01%, 且通過多次分類過程驗證了模型的良好效率和穩(wěn)定性。
上述研究表明, 機器學習算法結(jié)合LIBS在材料分類領域具有可行性。 本研究利用基于XGBoost算法的XGBSFS特征選擇算法對輸入的光譜特征進行篩選, 減少輸入矩陣的維度, 最大程度降低了模型復雜度, 建立優(yōu)化的機器學習分類模型, 實現(xiàn)了對不同種類的廢鋼樣品精準快速分類, 并驗證了模型的準確性和有效性。
XGBSFS算法[18]是一種基于XGBoost算法和改進的序列浮動向前選擇策略的特征選擇算法, 其利用XGBoost的樹模型的獨特優(yōu)勢, 以XGBoost算法的重要性度量指標作為特征選擇的重要依據(jù), 即基于XGBoost算法中的FScore、 AverageGain和AverageCover作為特征選擇指標。 設有生成的葉子節(jié)點上的所求特征集合X, 重要性指標可以表示為
FScore=|X|
(1)
AverageGain=∑GainX/FScore
(2)
AverageCover=∑CoverX/FScore
(3)
其中, Gain為X中每個葉子結(jié)點分割后的增益值, FScore為特征分裂次數(shù), AverageGain為特征的平均增益, AverageCover為特征的平均覆蓋率。 將其中兩個重要性指標參與到改進的序列浮動向前策略中, 根據(jù)指標對特征進行添加和刪除, 確定最終特征。 這種雙向特征搜索算法優(yōu)于一般的單向選擇算法, 能夠有效避免模型陷入局部最優(yōu)的情況。
支持向量機(support vector machine, SVM)是通過在高維輸入特征空間尋找最大間隔超平面, 即最優(yōu)解, 從而實現(xiàn)對樣本分類。 SVM通過非線性變換轉(zhuǎn)化為某維特征空間φ中的線性分類問題來解決現(xiàn)實生活中的非線性分類問題, 這種非線性變換即核函數(shù)
K(x,z)=φ(x)φ(z)
(4)
式(4)中,x和z為輸入空間中的值,φ(x)和φ(z)為映射到特征空間φ中的值。
即非線性支持向量機算法過程為在訓練數(shù)據(jù)集T={(xi,yi)},i=1, 2, …,N中, 選取合適的核函數(shù)和懲罰系數(shù)C(C>0), 與線性問題類似, 構造求解凸二次規(guī)劃問題。
(5)
(6)
0≤αi≤C,i=1, 2, …,N
(7)
(8)
對于支持向量機而言, 選擇合適的核函數(shù)、 懲罰系數(shù)等參數(shù), 是廢鋼分類問題的快速精準實現(xiàn)環(huán)節(jié)中重要的一環(huán)。
k最鄰近分類算法(k-Nearest Neighbor, kNN)的基本步驟為利用訓練樣本數(shù)據(jù)找出與待分類樣本距離最近的k個樣本并判斷樣本的類別, 以k個樣本中出現(xiàn)最多的類別作為未知樣本的預測類別。
算法中判斷待分類點與其他點的距離的計算方式可以分為歐式距離, 漢明距離等。 一般采用歐氏距離作為依據(jù), 歐氏距離表示為
(9)
需要對kNN中的重要參數(shù)k進行優(yōu)化。 若k很小, 容易受到噪聲的影響, 發(fā)生過擬合; 若k很大, 則會增大計算量, 發(fā)生欠擬合, 都會影響分類效果。 選擇合適的參數(shù)能夠提升廢鋼分類的準確性和實用性。
圖1為用于廢鋼分類識別的激光誘導擊穿光譜實驗系統(tǒng)結(jié)構示意圖。 系統(tǒng)采用自主研發(fā)的具有獨立自主產(chǎn)權的便攜LIBS廢鋼成分檢測儀, 內(nèi)置獨立自主知識產(chǎn)權的基于瑞芯微RK3399 pro的嵌入式LIBS高精度定標分析軟件系統(tǒng), Lapa-80型固體脈沖激光器(脈沖能量80 mJ可調(diào), 頻率0~20 Hz可調(diào)), AvaSpec-Mini4096CL小型光纖光譜儀2塊(波長范圍: 170~300 nm, 290~400 nm), 獨立自主知識產(chǎn)權的高精度光路探頭, 不共軸光路, 最優(yōu)激光焦點到樣品表面距離LTSD為2 mm, 保證了檢測精度。
圖1 實驗系統(tǒng)結(jié)構Fig.1 Experimental system structure
實驗樣品均為國家標準樣品, 成分見表1。 編號1—6樣品為編號為GSB A68072-92的1—6號碳素結(jié)構鋼; 7—12為GSB-03-2615的1—6號低合金鋼; 13—18是編號為YSBS23207-97的A1—A6號中低合金鋼。
表1 鋼樣組成元素含量(Wt%)Table 1 The concentrations of steel components (Wt%)
實驗在標準大氣壓和室內(nèi)溫度25 ℃下進行。 便攜LIBS廢鋼成分檢測儀設置最優(yōu)實驗條件及參數(shù), 激光器電壓130 V, 脈沖頻率2 Hz, 積分時間1.05 ms, 延遲時間1.28 μs。 采集數(shù)據(jù)時, 每個樣品表面均勻選取28個不同檢測位置, 每個位置用脈沖激發(fā)30次, 前5次激發(fā)用于清洗樣品表面污漬, 取第6~30次為有效數(shù)據(jù); 然后進行k值校驗去除粗大誤差光譜,k值設置為2.5, 將剩余光譜數(shù)據(jù)取平均值, 降低脈沖能量抖動和不同位置的光譜波動對廢鋼LIBS光譜數(shù)據(jù)造成的不穩(wěn)定性; 最后得到18個樣品(3類鋼種)共504組數(shù)據(jù); 從每類鋼種中抽取一個樣品, 即選擇1#, 10#和17#號樣品作為測試集, 用于驗證模型性能, 將除1#, 10#和17#以外的樣品作為訓練集用于模型的訓練。
3.1.1 基線校正及譜線篩選
圖2為7#樣品的一個光譜圖。 由于鋼鐵材料自身的基體效應以及實驗條件的波動, 會產(chǎn)生連續(xù)背景干擾, 為了減弱這種干擾, 需要對全光譜進行基線校正, 使光譜基線平整。 而對于實驗中獲得的激光誘導擊穿光譜而言, 光譜數(shù)據(jù)中夾雜著無關的噪聲, 且數(shù)據(jù)的維數(shù)龐大, 若利用全光譜數(shù)據(jù)作為輸入訓練模型, 會因數(shù)據(jù)中存在的無關因素對模型造成干擾, 影響實驗結(jié)果, 不利于模型的建立。 廢鋼中各種元素在不同含量的情況下, 對應的元素譜線的強度值也不同, 兩者之間存在較為明顯的相關性, 對于不同牌號的廢鋼, 可以利用有代表性的元素譜線作為分析線訓練模型, 以提高分類的準確性和效率。
圖2 鋼樣光譜圖Fig.2 Spectrum of steel sample
查詢美國國家標準與技術研究院(National Institute of Standards and Technology, NIST)發(fā)射譜線數(shù)據(jù)庫結(jié)合實驗所得的光譜數(shù)據(jù), 對元素譜線進行分析和選取。 以自吸收效應小、 譜峰完整的原則對特征譜線進行選擇, 共篩選出具有代表性的Cu, Si, C, Mn和Cr等元素共16條譜線, 具體的元素譜線波長在表2中列出。
表2 實驗所用各元素及對應的特征譜線Table 2 Characteristic lines of selected elements
3.1.2 歸一化處理
歸一化對光譜數(shù)據(jù)前期處理尤為重要, 將篩選出的16條各元素譜線進行歸一化處理, 可以減少譜線波動, 增強譜線強度與不同牌號鋼種之間的相關性, 提升分類準確率。 為了得到更好的分類效果, 對未進行歸一化、 標準正態(tài)變量變換(standard normal variate, SNV)和內(nèi)標法歸一化等三種方法進行對比以選擇最優(yōu)的歸一化方法。 圖3(a), (b)和(c)分別為Ni元素在231.58 nm處的譜線強度在未歸一化、 SNV處理和內(nèi)標法處理下的強度與濃度之間的相關圖, 可以看出,由于在原譜線中本身相關性不高, 導致使用SNV方法處理后沒有產(chǎn)生良好的校正效果, 而經(jīng)過內(nèi)標法處理, 針對的選擇了內(nèi)標線進行歸一化, 相關性明顯提高。 因此, 在對篩選出的內(nèi)標線進行不同歸一化處理對比后, 選擇內(nèi)標法作為歸一化方法更能體現(xiàn)各元素濃度與其譜線強度間的相關性, 依據(jù)更精確的線性關系能夠?qū)Σ煌N類的鋼種進行更好的區(qū)分。 歸一化所用的內(nèi)標譜線選取強度在各個樣品中較為穩(wěn)定的Fe元素在波長為271.44 nm處的強度值, 對16條譜線強度做同樣的歸一處理, 將最后得到的504×16維的特征數(shù)據(jù)矩陣, 用于后續(xù)的特征選擇、 模型建立和驗證。
圖3 Ni元素經(jīng)不同方法處理后含量與強度相關圖(a): 無歸一; (b): SNV; (c): 內(nèi)標法Fig.3 Correlation diagram of content and intensity of Ni element treated by different methods(a): Untreated; (b): SNV; (c) Internal standard
本文所提出的廢鋼牌號智能快速識別算法流程如圖4所示。 具體流程為: 首先將獲取到的原始數(shù)據(jù)進行光譜數(shù)據(jù)預處理, 如基線校正、 歸一化等, 以此減少波動的影響, 增強譜線強度與不同牌號廢鋼的相關程度; 接著在高維度的光譜譜線中選擇多條特征元素譜線作為模型輸入, 通過XGBSFS算法去除對識別結(jié)果決定性較小的譜線, 優(yōu)化模型輸入; 最后與高效的SVM和kNN模型相結(jié)合進行訓練, 得到變量優(yōu)化的預測模型, 完成對不同牌號的快速智能識別。
圖4 廢鋼牌號智能識別算法流程圖Fig.4 Flow chart of intelligent recognition algorithm for scrap steel grade
建立廢鋼識別模型前需要利用XGBSFS算法進行特征選擇。 首先對篩選出的16條特征譜線進行重要程度排序, 以便于后續(xù)的特征選擇過程。 利用XGBoost算法實現(xiàn)計算特征重要性排序, 通過網(wǎng)格搜索法確定算法相關參數(shù)。 確定學習率、 樹最大深度和葉子結(jié)點最小樣本數(shù)分別為0.1, 4和1。 實驗獲取到的訓練集(Train)數(shù)據(jù)共420組, 即訓練集數(shù)據(jù)矩陣為420×16維, 測試集(Test)數(shù)據(jù)為84組, 即測試集數(shù)據(jù)矩陣為84×16維。 利用訓練集數(shù)據(jù)進行訓練, 建立XGBoost集成學習樹模型, 其測試集的準確率為95.2%。 說明利用篩選得到的16條特征譜線作為模型輸入所生成的XGBoost模型針對不同種類的鋼種的特征變量進行有效劃分和學習, 特征劃分較好, 可以得到可信的特征重要性度量值。
經(jīng)過XGBoost進行特征節(jié)點分割并建立出有效的分類樹后, 得到AverageGain和AverageCover特征重要性度量結(jié)果, 將其作為作為特征選擇指標。 將特征按AverageGain重要性度量進行由大到小排序, 標記為特征集1; 按AverageCover重要性度量進行由小到大排序, 標記為特征集2, 作為后續(xù)特征選擇的候選特征子集。 圖5(a)和(b)分別為16條譜線特征在兩個重要性度量下的指標值。
圖5 (a)AverageGain重要度量; (b)AverageCover重要度量Fig.5 (a) AverageGain importance measure; (b) AverageCover importance measure
利用排序好的特征, 建立XGBSFS-kNN與XGBSFS-SVM牌號識別模型并選擇準確性和穩(wěn)定性較好的識別模型作為最終的智能識別算法模型。
得到兩組特征候選子集后, 以特征集1開始, 依照重要程度向最終備選特征集中添加一個特征, 若添加新特征后能提高模型準確率, 則保留新特征, 否則不進行添加。 每添加一個新特征后, 對當前備選特征集根據(jù)特征集2進行特征去除, 去除的原則與添加新特征原則相同, 以提高模型準確率為前提, 直到?jīng)]有滿足條件的特征去除為止, 記此過程為一輪。 經(jīng)過多輪的特征的添加與刪除操作后, 得到最終的備選特征集即為本次模型特征選擇的最后結(jié)果。
對kNN模型進行特征選擇。 在每一輪的特征選擇過程中, 均采用5折交叉驗證法對kNN中的參數(shù)k進行尋優(yōu), 以模型在訓練集上的分類準確率作為特征添加和去除的標準。 圖6(a)為以kNN作為基分類器的特征選擇過程, 隨著選擇輪次的迭代, 模型準確率逐漸升高, 在第8輪后達到最優(yōu), 此時得到最優(yōu)特征集為Ni元素波長231.58 nm, Cr元素波長284.99 nm共2條特征譜線。 以420×2的特征矩陣作為輸入, 模型通過交叉驗證的準確率為99.76%, 獲得最優(yōu)參數(shù)k=40, 圖6(b)為kNN模型在測試集上的廢鋼分類預測情況。 模型在測試集上的分類準確率為98.80%, 建模時間1.64 s, 具有較高的識別精度。
圖6 (a)kNN特征選擇過程; (b)分類識別效果圖Fig.6 (a) Feature selection process of kNN; (b) Classification recognition result graph
以SVM模型作為基分類器進行特征選擇。 圖7(a)為SVM模型在特征選擇過程中分類準確率隨迭代輪次的變化圖, 可以得出當輪次達到10時, SVM模型效果最優(yōu), 且后續(xù)效果不再變化。 此時SVM模型在16個特征中選擇出2條特征譜線, 分別為Ni元素波長227.01 nm, Cr元素波長284.99 nm。 使用與kNN模型相同的訓練集, 以5折交叉驗證的方法確定參數(shù), 得到模型的最優(yōu)懲罰系數(shù)C為18,g為3.9, 此時交叉驗證的準確率為99.35%。 通過訓練, XGBSFS-SVM模型在測試集上的分類準確率為100%, 建模運行時間為2.79s, 如圖7(b)為該模型在測試集上的分類效果圖, 證明模型預測效果的良好和穩(wěn)定性。
圖7 (a)SVM特征選擇過程; (b)分類識別效果圖Fig.7 (a) Feature selection process of SVM; (b) Classification recognition result
為了對比在特征選擇前后模型的整體效果, 分別建立特征選擇前的kNN與SVM模型, 以420×16維的訓練集作為輸入, 利用交叉檢驗確定模型參數(shù), 最后得到的模型在測試集上的準確度分別為95.23%和96.42%。 表3為特征選擇前后兩種模型的分類效果對比。
從表3中可以看出, 實驗建立的XGBSFS-kNN模型準確率保持在98%以上, XGBSFS-SVM模型則提升到100%, 表明經(jīng)XGBSFS算法選擇出的特征具有更強的代表性, 與不同種類的廢鋼相關性更強, 能夠?qū)Σ煌铺柕膹U鋼進行有效識別。 在建模時間方面, 由于特征維度的變化, 兩種建模時間均有所減少, kNN模型由3.26 s提升到1.64 s, SVM模型由3.10 s提升到2.79 s。 由于XGBSFS-kNN在分類策略上的邏輯較XGBSFS-SVM簡單但快速, 所以精度略低于SVM模型, 而速度高于SVM模型。 經(jīng)過對比, 選用精度較高、 速度良好的XGBSFS-SVM模型作為廢鋼牌號的快速智能識別模型。 在經(jīng)過特征篩選后, 保留了在光譜中較為穩(wěn)定且不易受干擾的譜線, 且去除對模型影響較小的譜線后沒有對分類效果造成干擾。 總體來說, 兩種算法模型經(jīng)過特征選擇后在分類精度與建模時間上都有所提升, 充分說明經(jīng)過XGBSFS算法篩選特征后, 能夠?qū)Ψ诸愋Ч绊戄^小的特征剔除, 保留更重要的特征, 簡化模型, 提升模型效果, 建立的優(yōu)化模型能夠?qū)I(yè)中不同種類的廢鋼分類問題提供一種快速可行的方案。
表3 建模結(jié)果對比Table 3 Comparison of modeling results
將LIBS與XGBSFS特征選擇算法相結(jié)合, 建立XGBSFS-kNN與XGBSFS-SVM兩種機器學習模型對3類不同種類的廢鋼進行分類識別。 經(jīng)過XGBSFS算法進行特征篩選后, 16個輸入特征均減少至2個; XGBSFS-kNN與XGBSFS-SVM模型在測試集的84組數(shù)據(jù)中的識別準確率為98.8%和100%, 建模運行時間均有所提升, 最終選用XGBSFS-SVM模型作為廢鋼牌號快速智能識別模型。 實驗結(jié)果證明XGBSFS算法結(jié)合SVM算法不僅能夠篩選出有效特征, 簡化模型, 且性能優(yōu)于未進行特征選擇的模型。 將優(yōu)化模型與LIBS結(jié)合能夠?qū)Σ煌悇e的廢鋼進行有效分類識別, 為加快電爐煉鋼進程提供了一種滿足快速和精準要求的檢測識別方法。 在后續(xù)的研究中, 將逐步增加各類鋼樣的數(shù)量, 以使模型學習到更多信息, 提升分類性能與泛化能力。