吳 雪,馮巍巍,蔡宗岐,王 清
1. 哈爾濱工業(yè)大學(威海),山東 威海 264209 2. 中國科學院海岸帶環(huán)境過程與生態(tài)修復重點實驗室(煙臺海岸帶研究所),山東 煙臺 264003 3. 中國科學院海洋大科學研究中心, 山東 青島 266071 4. 中國科學院大學, 北京 100049
塑料制品在日常生活中隨處可見,迄今為止全球生產(chǎn)的83億噸塑料中,有10%以塑料碎片的形式積累在海洋和淡水系統(tǒng)中,使塑料污染成為快速增長的環(huán)境問題[1]。塑料經(jīng)過降解,變?yōu)槲⑺芰希⑺芰峡赡茏鳛槲轿廴疚铩?病毒等的載體對人類和其他生命形式具有潛在的危害。為了研究微塑料在環(huán)境中的運輸過程以及對環(huán)境的污染情況,在現(xiàn)場對微塑料進行識別檢測是非常有必要的[2]。
現(xiàn)階段,微塑料的識別檢測方法大部分為目視法,光譜法和熱分析法[3],然而目視法具有很大的主觀性,熱分析法在檢測過程容易損壞樣品,光譜法包括拉曼光譜法和近紅外吸收光譜法,拉曼光譜不僅需要大量的數(shù)據(jù)預處理[4],而且由于熒光作用的影響,需要對樣品進行前處理[5]。近紅外光譜檢測技術利用近紅外吸收帶探測聚合物官能團的拉伸和彎曲模式,通過微塑料獨特的化學成分和成鍵模式識別微塑料[2]。機器學習算法在數(shù)據(jù)處理方面表現(xiàn)出強大的性能,利用機器學習算法與近紅外光譜結合,可以實現(xiàn)現(xiàn)場實時快速檢測,具有快速,高效,無損等特點。
采用近紅外光譜檢測結合XGBoost機器學習分類算法可快速識別海水中的微塑料,不僅操作簡單,適用范圍廣,而且攜帶方便,可以實現(xiàn)現(xiàn)場實時快速檢測[6]。
近紅外光譜檢測系統(tǒng)由照明系統(tǒng)、 分光系統(tǒng)以及接收系統(tǒng)組成,圖1為微型近紅外光譜檢測系統(tǒng)結構示意圖。首先利用帶光源的積分球測得未放置樣品時的光通量,然后放置樣品進行測量;測得的樣品光譜數(shù)據(jù)通過接收光纖經(jīng)光譜收集模塊和光譜處理模塊進行處理,處理后的光譜數(shù)據(jù)經(jīng)光電轉換模塊進行光電轉換后進入數(shù)據(jù)處理模塊進行數(shù)據(jù)處理。
圖1 近紅外光譜檢測系統(tǒng)
K折交叉驗證將原始數(shù)據(jù)集劃分為相等的K份(“折”),選取其中的一份作為測試集,其他部分作為訓練集,重復K次,通過訓練集來計算模型的準確率,取平均準確率為模型的最終準確率[4]。其中10折交叉驗證不僅能準確描述模型的泛化能力,而且具有較好的穩(wěn)定性和識別速率[7]。本工作采用10折交叉驗證。
圖2 K折交叉驗證結構示意圖Fig.2 K-fold cross-validation structure
混淆矩陣(confusion matrix)又稱誤差矩陣,一種特定的矩陣呈現(xiàn)算法性能的可視化效果,每一列代表預測值,每一行代表實際的類別,混淆矩陣能夠全面的反映模型的性能[8]。
1.3.1 數(shù)據(jù)降維
原始的近紅外光譜在900~1 750 nm范圍內(nèi)具有512個數(shù)據(jù)波段,不同的近紅外光譜數(shù)據(jù)波段對模型識別的準確率的重要性程度不同,XGBoost算法屬于集成算法,在特征考慮方面相對全面。因此利用XGBoost算法對近紅外光譜數(shù)據(jù)波段的重要性程度進行評估,篩選出重要性程度高的特征波段,達到提高模型識別準確率和速度的目的[9]。
1.3.2 SVM,XGBoost模型的構建
支持向量機算法利用超平面分離數(shù)據(jù)點,通過最大化超平面到兩個子類中兩個最近數(shù)據(jù)點的距離(即邊距m)[10],達到分類的目的。
XGBoost是一種基于樹的集成算法,內(nèi)部決策樹采用回歸樹[11],該算法已被證明是一種可靠、 高效的機器學習問題解決器[12]。XGBoost算法不斷通過誤差添加回歸樹進行擬合,然后把這些回歸樹進行集成劃分進行分類。
圖3為XGBoost算法和SVM算法識別微塑料模型建立的流程,數(shù)據(jù)集輸入后利用XGBoost算法進行特征提取,然后進行重組,將預處理后的數(shù)據(jù)集分為測試集和訓練集兩部分,利用SVM算法和XGBoost算法對訓練集進行學習建模[13],利用測試集評估模型的整體性能。
圖3 XGBoost和SVM算法識別微塑料Fig.3 XGBoost and SVM for microplastic detection
1.3.3 模型參數(shù)的選擇
XGBoost包含較多的超參數(shù),目前對超參數(shù)的調整選擇并沒有明確的規(guī)則[11],本文運用網(wǎng)格搜索(GridSearchCV)對模型影響較大的超參數(shù)n_estimators即迭代次數(shù)、 learning_rate即學習率、 min_child_weigh即最小的葉子節(jié)點權重、 max_depth即樹的最大深度、 gamma即葉子節(jié)點分裂時所需要的最小的損失減小量進行選取。
GridSearchCV不僅可以遍歷每一種參數(shù)的可能性,找到最佳參數(shù),而且可以利用交叉驗證有效的避免偶然性[14]。
采用微型近紅外光譜儀對丙烯腈、 丁二烯、 苯乙烯的三元共聚物(acrylonitrile butadiene styrene,ABS),聚丙烯腈(polyacrylonitrile,PAN),聚碳酸酯(polycarbonate,PC),聚對苯二甲酸乙二醇酯(polyethylene glycol terephthalate,PET),聚甲基丙烯酸甲酯(polymethyl methacrylate,PMMA),聚丙烯(polypropylene,PP),聚苯乙烯(polystyrene,PS),聚氯乙烯(polyvinyl chloride,PVC),熱塑性聚氨酯(thermoplastic polyurethane,TPU),乙烯-醋酸乙烯酯共聚物(ethylene-vinyl acetate copolymer,EVA),聚對苯二甲酸丁二醇酯(polybutylene terephthalate,PBT),聚己內(nèi)酯(polycaprolactone,PCL),聚醚砜(polyethersulfone,PES),聚乳酸(polylactic acid,PLA),聚甲醛(polyoxymethylene,POM),聚苯醚(polyphenylene oxide,PPO),聚苯硫醚(polyphenylene sulfide,PPS),聚四氟乙烯(poly tetra fluoro-ethylene,PTFE),聚乙烯醇(polyvinyl alcohol,PVA),苯乙烯-丁二烯-苯乙烯嵌段共聚物(styrenic block copolymers,SBS)20種常見的微塑料樣品采集近紅外光譜數(shù)據(jù)。選取900~1 750 nm近紅外光譜波段,可準確地檢測出PC,PET,PS,TPU,PBT,PES,PPO,PPS和SBS的苯環(huán)吸收振動峰以及PC,PET,PMMA,TPU,EVA,PBT,PCL和PLA的酮羰基吸收振動峰。積分時間150 ms,對20種微塑料測取了1 260個樣本數(shù)據(jù)。每種微塑料樣品的部分近紅外光譜圖如圖4所示。
圖4 微塑料樣品原始近紅外光譜Fig.4 Original Near Infrared spectra of microplastics
利用XGBoost算法對近紅外光譜512個特征波段的重要性進行評估,篩選出了重要性程度高的65個特征波段[4],對數(shù)據(jù)進行降維,圖5為XGBoost篩選出的重要性程度位于前30的數(shù)據(jù)點。
圖5 重要程度位于前30的光譜變量Fig.5 The 30 most important spectral variables
運用GridSearchCV對n_estimators,learning_rate,gamma分別在100~900,0.01~0.09,0.00~0.40中網(wǎng)格搜索選取最佳超參數(shù),其中min_child_weigh和max_depth一起調參,在1,3,5中進行最佳超參數(shù)選擇。如圖6所示,確定n_estimators取700,learning_rate取0.07,min_child_weigh=1和max_depth=1,gamma取0.0為最佳超參數(shù)。
使用已進行降維操作后的測試集樣本對已建立的SVM和XGBoost模型進行評估。由圖7的SVM混淆矩陣可以看出,SVM模型對11種微塑料的識別準確率達到100%,有4種微塑料的識別準確率達到90%以上,有4種微塑料的識別準確率達到80%以上,1種微塑料的識別準確率為76%。由圖7的XGBoost混淆矩陣可以看出,XGBoost模型對15種微塑料的識別準確率達到100%,識別準確率達到90%以上的有3種,2種微塑料的識別準確率達到83%以上。
由表1和圖8可以看出,在同等條件下,XGBoost模型的識別準確率為97%,而SVM模型的識別準確率為95%;且XGBoost模型的Accuracy score,Precision score,Recall和F1-score的平均準確率均高于SVM模型。綜上所述,SVM模型的整體性能低于XGBoost模型。
圖6 不同n_estimators,leasning_rate,max_depth,gamma下CV平均準確率Fig.6 CV average accuracy of n_estimators, learning_rate, max_depth, gamma
圖7 SVM和XGBoost混淆矩陣Fig.7 SVM and XGBoost confusion matrixes
表1 XGBoost和SVM算法運行結果對比Table 1 Comparison of operation results between XGBoost and SVM algorithms
續(xù)表1
圖8 XGBoost和SVM10折交叉驗證下準確率, 精準率,召回率,F(xiàn)值
微塑料可能作為吸附污染物、 病毒等的載體對人類和其他生命形式具有潛在的危害,為了研究微塑料在環(huán)境中的運輸過程以及對環(huán)境的污染情況,在現(xiàn)場對微塑料進行識別檢測是非常有必要的。通過近紅外光譜檢測系統(tǒng)測得環(huán)境中常見的20種微塑料標準樣品的光譜數(shù)據(jù),利用XGBoost特征重要性排序,提取65個光譜數(shù)據(jù)點,對數(shù)據(jù)降維。運用GridSearchCV對影響XGBoost模型較大的超參數(shù)進行選取,確定n_estimators,learning_rate,min_child_weigh,max_depth,gamma的最佳超參數(shù)分別為700,0.07,1,1,0.0。對XGBoost模型和SVM模型進行10折交叉驗證評估和混淆矩陣評估,確定XGBoost模型、 SVM模型對20種微塑料的識別準確率分別為97%和95%;通過混淆矩陣可以看出XGBoost模型對微塑料識別的準確率優(yōu)于SVM模型。綜上所述,XGBoost模型微塑料識別整體性能優(yōu)于SVM模型,為實際微塑料快速識別提供技術支撐。