胡振 陳素彬 張曉琪 唐天國 楊華



摘 ?????要:為了提高近紅外光譜定量分析的精度和效率,提出以改進二進制蝙蝠算法同步優化參數和特征波長的LS-SVM模型。首先將動態速度權重和Cauchy隨機擾動融入蝙蝠算法,并用V-shaped函數將其離散化,得到WCBBA算法;然后以RMSECV為適應度函數,用WCBBA算法對LS-SVM模型的參數和特征波長進行同步優化;最后根據優化結果建立近紅外光譜定量校正模型,并用于180個柴油樣本的運動黏度測定。結果表明,該模型的各項性能指標優異,能夠用于實際檢測工作。
關 ?鍵 ?詞:蝙蝠算法;近紅外光譜;定量模型;參數優化;特征波長
中圖分類號:TQ016;O657.33 ????文獻標識碼: A ??文章編號: 1671-0460(2019)03-0647-05
Abstract: In order to improve the accuracy and efficiency of the quantitative analysis of the near infrared spectrum, a LS-SVM model was proposed to improve the binary bat algorithm's synchronization optimization parameters and characteristic wavelengths. First, the dynamic velocity weight and the Cauchy random disturbance were integrated into the bat algorithm, and the V-shaped function was used to discretize it, the WCBBA algorithm was obtained. Then the RMSECV was used as the fitness function and the WCBBA algorithm was used to synchronize the parameters and characteristic wavelengths of the LS-SVM model. Finally, a quantitative correction model of near infrared spectroscopy was established based on the optimization results, and 180 diesel samples were used to measure the kinematic viscosity. The results show that the model has excellent performance and can be used for practical testing.
Key words: Bat algorithm; NIRS; Quantitative model; Parameter optimization; Characteristic wavelength
近紅外光譜(Near Infrared Spectroscopy,NIRS)分析是目前主流的儀器分析技術之一,具有無損、快速、重復性好、污染少、成本低等優勢,能對各種氣、液、固態樣品進行定量和定性分析,可同時滿足批量檢測的準確度和在線監測的快速性要求,因而廣泛應用于農業、食品、醫藥、化工、材料等領域。但是,近紅外光譜定量分析是一種間接定量技術,需先以化學方法測定樣品的待測屬性值,并在相應的波長范圍采集光譜數據系列;然后將樣品按特定的方法劃分為校正集和驗證集,建立一個該類樣品的近紅外光譜與其待測屬性值之間的校正模型,并檢驗其有效性;最后將該模型應用于未知樣品,即可由其光譜數據計算待測屬性值。
由于各類樣品組分眾多、結構復雜,而近紅外光譜重疊嚴重、信噪比低,加之儀器響應特性和人為操作誤差等不利因素影響,使待測屬性與光譜數據之間并非總是簡單的線性相關,而是更多表現為復雜的非線性關系,因此建模時需運用化學計量學方法和軟件技術,采取先進的建模方法并對模型進行有效的優化,才能得到一個準確、高效、穩健的近紅外光譜定量校正模型。本文以最小二乘支持向量機(Least Squares Support Vector Machine,LS-SVM)為建模方法,主要探討利用改進的蝙蝠算法(Bat Algorithm,BA)優化近紅外光譜定量校正模型的參數和波長等問題,并將該優化模型用于柴油的運動黏度測定。
1 ?近紅外光譜定量校正模型的建立
1.1 ?近紅外光譜的特性及建模要求
近紅外光譜是由分子的非諧振動而從基態向高能級躍遷時產生的,表現為含氫基團X-H(X=C、O、N、S等)在780~2 526 nm波長譜區振動的倍頻和合頻吸收,能反映大多數有機化合物和混合物的組成、結構與狀態信息。各種基團(或處于不同化學環境的同一基團)在近紅外譜區具有特定的吸收波長與強度,其吸收(反射)程度與相應物質成分含量之間的相關性符合Beer-Lambert定律,故可為之建立一個近紅外光譜定量校正模型,即能由物質的近紅外光譜強度預測相應成分的含量。
近紅外譜區吸收帶較寬、吸收強度較弱,且倍頻、合頻譜帶嚴重重疊,致使原始譜圖中存在大量共線性變量和冗余信息;而光譜儀的溫濕度響應特性、樣品粒度(密度)不均、操作失當等因素也難以避免,導致近紅外譜圖通常含有隨機噪聲、基線漂移、雜散光和樣品背景等非目標信息,故其信噪比較低。因此,在建立近紅外光譜校正模型時,應以適當方法進行數據預處理、異常樣本檢測和樣本集劃分,盡量消除其中的干擾信息,增強樣本的代表性,以提高光譜信息與待測屬性之間的相關性;同時采用有效算法從原始光譜中優選特征波長變量,摒棄與待測屬性無關的信息,并對模型參數進行優化,以提高其精度、速度和泛化性能。
1.2 ?LS-SVM校正模型的建立
建立近紅外光譜校正模型的方法可分為線性回歸和非線性回歸兩類。前者包括多元線性回歸(Multivariate Linear Regression,MLR)、主成分回歸(Principal Component Regression,PCR)和偏最小二乘(Partial Least Squares Regression,PLSR)等;后者以BP神經網絡(Back Propagation Neural Network,BPNN)、LS-SVM和極限學習機(Extreme Learning Machine,ELM)為代表。兩相比較,線性方法簡便易行、應用廣泛,但當物質的待測屬性與光譜數據之間的線性相關度較差時,不適合建立線性回歸模型[1];非線性方法適應性強、穩健性好,但通常需要對模型參數進行優化。
LS-SVM支持線性和非線性建模,其訓練為求解線性方程組,預測則是計算各建模樣本與待測樣本之間的核函數,計算量僅取決于校正集的樣本數目,而與光譜維數無關。LS-SVM模型比一般線性模型更穩健性,且避免了人工神經網絡普遍存在的訓練速度慢、易早熟、過擬合和泛化性差等缺陷。在分析檢測工作中,通常利用LS-SVMlab工具箱函數,以MATLAB編程來實現LS-SVM校正模型。
2 ?蝙蝠算法及其改進
2.1 ?基本蝙蝠算法及其缺陷
蝙蝠算法[2]是Xin-She Yang基于蝙蝠的回聲定位特性提出的一種群體智能搜索算法,其求解準確性和有效性優于常用經典算法,且模型簡單、效率高,具有潛在并行性和分布式特性。其基本過程為:
對于非線性最小值目標函數,設蝙蝠數量為n,在d維搜索空間中,個體i∈(1,2,...,n)在t時刻的速度和位置分別為vit =(vi1t,vi2t,...,vidt)、xit =(xi1t,xi2t,...,xidt),則在(t+1)時刻其速度和位置按下列公式更新:
顯然,基本蝙蝠算法的優化能力主要源于個體間的相互作用,而沒有提供能夠保持種群多樣性的變異機制,故易發生早熟收斂而影響尋優精度,并因強化局部搜索而導致了后期進化變慢[3]。
2.2 ?引入動態權重與Cauchy擾動的蝙蝠算法
針對蝙蝠算法的缺陷,我們引入動態速度權重因子和Cauchy分布隨機數擾動,以保持種群的多樣性,增強其全局搜索能力,同時加快收斂速度。
2.2.1 ?引入動態速度權重因子
蝙蝠算法與粒子群優化算法(Particle Swarm Optimization,PSO)的數學模型和運行機制非常相似,并可通過參數設置轉換為后者,故可借鑒PSO算法引入慣性權重,即為BA的速度變量增加一個權重因子w,并令其在預設區間[wl,wu]動態遞減,再將式(2)替換為式(7):
2.2.2 ?施加Cauchy分布隨機數擾動
在基本BA中,當rand Cauchy分布的概率特性是兩翼較長,容易產生遠離原點的隨機數。因此,對蝙蝠位置施加Cauchy分布隨機數擾動,有利于保持群體的多樣性,降低陷入局部最優的概率,從而有效提高算法的全局搜索性能。對蝙蝠位置xi的擾動按式(8)進行: 2.3 ?二進制蝙蝠算法及其改進 為解決組合優化問題,需對蝙蝠算法做離散化處理,將其搜索空間由連續的實數空間映射到離散的二進制空間[4],即為二進制蝙蝠算法(Binary Bat Algorithm,BBA)[5]:蝙蝠的各維位置都限定為二進制0或1,但其速度大小則不限制[6],故可用傳遞函數將速度轉換為概率值來確定個體的位置。若以V-shaped函數[7]進行離散化,則相應公式如下: 顯然,BBA主要以式(9)-(10)取代了BA的式(3),其余流程則基本一致,因而也繼承了后者固有的缺陷。為此,以2.2所述基于動態權重和Cauchy隨機擾動的BA為基礎,將其進行離散化處理即得相應的改進BBA,可稱之為WCBBA。 3 ?用改進蝙蝠算法優化NIRS定量校正模型 3.1 ?LS-SVM模型參數的優化 LS-SVM模型的參數隨其核函數而不同。一般情況下,徑向基函數(Radial Basis Function,RBF)因其支持向量少、計算簡單、支持小樣本訓練集等優勢而被廣泛采用,但其正則化參數γ和核寬度σ2會直接影響模型的泛化性能、支持向量數目和預測精度,因此對其進行優化是至關重要的。 在常用的LS-SVM模型參數優化方法中,單純形法(Simplex)穩定性較差,結果差異較大;網格搜索法(Grid Search)較復雜、精度偏低,不宜于大樣本集;遺傳算法(Genetic Algorithm,GA)、PSO算法則易發生早熟收斂而影響模型精度。 3.2 ?特征波長變量的選擇 原始近紅外光譜中含有大量共線性變量和非目標信息,會嚴重影響模型的性能和效率,故應在建模時選取特征波長變量,摒棄無關信息、降低數據維數、簡化模型,提高其精度、速度和穩健性。 選擇特征波長的常用方法包括無信息變量消除(Uninformative Variable Elimination,UVE)、連續投影算法(Successive Projections Algorithm,SPA)、競爭性自適應重加權采樣法(Competitive Adaptive Reweighted Sampling,CARS)、間隔偏最小二乘(interval Partial Least Squares,iPLS)及其衍生算法SiPLS/BiPLS/MWPLS等。近年來,GA和PSO等智能算法因其搜索空間的多樣性和全局尋優等特性而逐漸用于波長優選,并取得了較好的效果。 3.3 ?用WCBBA同步優化模型參數和特征波長 現有研究幾乎都以不同方法將模型參數優化與特征波長選擇分步進行,但二者在同一個NIRS定量校正模型中是相互影響的[8],將其置于同一過程進行聯合優化才能得到最佳結果。為此,本文針對以LS-SVM方法所建NIRS定量校正模型,運用WCBBA來實現建模參數與特征波長的同步優化。 3.3.1 ?優化變量編碼 首先考慮NIRS的特征波長選擇問題,以蝙蝠的各維位置對應波長變量,若某維取值為1,則相應波長的光譜數據被選中,反之表示未選中[9]。取值為1的各維對應的波長組合即為特征子集;與此同時還需尋求LS-SVM模型(RBF核函數)參數γ和σ2的最優值,以求模型的性能達到最佳。 在WCBBA中對優化變量進行二進制編碼,它由參數γ、σ2和特征集3個部分構成。設Bi為蝙蝠個體i的編碼,則可表示為: 3.3.2 ?適應度函數 在對NIRS定量校正模型的參數和波長變量尋優過程中,采用留一法交叉驗證(Leave-One-Out Cross Validation,LOO-CV)規則進行建模、預測,以常用性能指標之一的交叉驗證均方根誤差(Root Mean Square Error of Cross Validation,RMSECV)作為適應度函數[10]: 3.3.3 ?優化和建模流程 (1) 樣本集數據預處理、異常樣本檢出,并將其按4:1~3:1劃分為建模集和預測集。 (2) 設置WCBBA各參數,初始化蝙蝠群B。 (3) 從建模集中取1個樣本作測試集、其余為訓練集,按式(11)將蝙蝠的二進制編碼轉換為LS-SVM的參數γ、σ2和特征集,進行NIRS校正模型訓練和測試。重復本步驟至各樣本皆作測試集。 (4) 以式(12)計算RMSECV,將其作為適應度更新當前最優的個體位置和全局位置。 (5) 依式(6)、(1)和(7)更新權重因子、脈沖頻率和速度,再由式(9)和(10)進行位置更新,并根據條件執行式(8);按式(5)更新脈沖速率和響度。 (6) 若達到最大迭代次數,則輸出全局最優個體位置;否則重復執行步驟(3)-(5)。 (7) 由全局最優個體位置解析出參數γ、σ2和特征子集,據此建立NIRS定量校正模型,并應用于預測集進行驗證。 為了區別于普通的LS-SVM建模方法(通常僅做參數優化),將按上述流程設計、實現的LS-SVM模型稱為WCBBA-LSSVM模型。 4 ?以優化NIRS定量校正模型測定柴油的運動黏度 柴油是發動機的主要燃料之一[11]。黏度是表征柴油使用性能的重要指標,對發動機的供油量、霧化質量及供油系統精密偶件的潤滑都有重要影響,國家標準GB 252-2015《普通柴油》和GB 19147-2016《車用柴油》均將運動黏度列為控制指標。測定柴油運動黏度的國標方法為GB 265-88《石油產品運動黏度測定法和動力黏度計算法》,但需用儀器、試劑較多,準備工作與試驗步驟繁瑣、耗時較長[12]。因此,嘗試建立近紅外光譜定量校正模型來檢測柴油樣品的運動黏度。 4.1 ?樣品化學檢測、NIRS采集與數據處理 采集0#柴油樣品187個,以國標方法測其同溫條件下的運動黏度,并用光譜儀掃描得到各樣品在750~1 550 nm波長區間(間隔2 nm)的401個NIRS數據。嘗試、對比了多種數據預處理算法,包括中心化(Centering)、歸一化(Normalization)、標準正態變量變換(Standard Normal Variable,SNV)、平滑(Smoothing)、導數(Derivative)和多元散射校正(Multiplicative Scatter Correction,MSC)等,以組合方案“S-G卷積平滑+一階導數”所得結果最佳;再用蒙特卡洛交互驗證法(Monte Carlo Cross Validation,MCCV)剔除異常樣本后,剩余180組樣本數據,相應的預處理光譜如圖1所示。 4.2 ?NIRS定量校正模型建立與驗證 4.2.1 ?樣本集劃分 以KS法將180組樣品數據按3:1劃分為建模集和預測集,二者的基本信息如表1所示。 4.2.2 ?LS-SVM模型參數和特征波長的同步優化 根據3.3.3所述的優化建模流程,在MATLAB R2015b環境中,首先編程實現WCBBA優化主程序;然后利用LS-SVMlab 1.8工具箱函數編寫適應度函數——柴油樣品的NIRS交叉驗證模型,返回RMSECV作為WCBBA算法的適應度值。 算法參數設置:最大迭代次數60,蝙蝠種群規模40;速度權重區間[1.0, 0.5],脈沖頻率范圍[0, 2];聲波響度A和脈沖速率r的初值分別為0.25、0.1,前者的衰減系數和后者的增強系數均為0.9。以網格搜索法確定LS-SVM模型參數的搜索范圍為γ∈[6.638 7e2, 1.979 0e6]、σ2∈[6.334 2e-4, 9.397 4e-2],并將其二進制編碼長度皆設為20位;再加上特征波長集的編碼長度401位,最終所得優化變量的二進制編碼串為441位。 載入建模集數據運行優化程序,得到模型參數γ= 871 294.759 1、σ2= 0.026 0,同時選出波點數165個。優化過程中RMSECV變化如圖2所示。 4.2.3 ?優化的NIRS模型建立與預測 用LS-SVMlab 1.8工具箱函數編程建立柴油樣品的NIRS定量校正模型,代入優化所得參數γ、σ2和特征波長集,以預測集數據運行、測試之,并通過相關系數Rc2和Rp2、均方根誤差RMSEC和RMSEP、相對分析誤差RPD評價其性能。 4.3 ?結果與比較分析 為了驗證WCBBA-LSSVM模型的有效性,同時還用表1的樣本集數據建立PLS、CARS-PLS和LS-SVM模型進行測試比較,結果如表2所示。 由表2的數據可知,四種模型的Rc2>0.96、Rp2>0.89、RMSEC<0.11、RMSEP<0.11、RPD>3,因此均具有較好的性能,能夠應用于實際檢測工作,相比之下,PLS和CARS-PLS模型的各項性能指標非常接近,其Rc2、Rp2和RPD較小、RMSEC和RMSEP較大,表明其預測精度偏低。而LS-SVM模型的Rc2、Rp2和RPD顯著增大、RMSEC和RMSEP明顯減小,故其性能大幅領先于前兩種模型;在此基礎上,WCBBA-LSSVM模型并進一步提高了Rp2和RPD、降低了RMSEP,且Rc2和Rp2、RMSEC和RMSEP這兩對指標值相差更少,因此其預測精度、穩健性和泛化性能更佳。 在四種模型中,CARS-PLS模型的建模波點數最少,故其具有結構精巧、運行高效的優勢,但其各項性能指標遠不及WCBBA-LSSVM模型,說明其尚有部分特征波長未被選入建模特征集中;WCBBA-LSSVM模型則將建模波點數縮減為全部波長的1/3,且在簡化結構、提高速度的同時,顯著地改善了模型的性能。 5 ?結束語 本文運用改進的二進制蝙蝠算法實現近紅外光譜校正模型參數和特征波長的同步優化,構建了一種WCBBA-LSSVM模型,將其應用于180個柴油樣品的運動黏度檢測,并與常用的PLS、CARS-PLS和LS-SVM模型進行對比。所得Rc2和Rp2分別為0.997 2、0.984 2,RMSEC和RMSEP分別為0.027 6、0.040 7,RPD達到8.06,各項指標皆顯著優于PLS、CARS-PLS和LS-SVM模型,表明該模型的預測精度高、外推性好、適應性強,能滿足實際檢測要求。 參考文獻: [1]包鑫. 穩健回歸技術及其在光譜分析中的應用[D]. 杭州:浙江大學,2010. [2]Yang XS.A new met heuristic bat-inspired algorithm[M]. González JR, Pelta DA, Cruz C, et al. Nature Inspired Cooperative Strategies for Optimization. Berlin Heidelberg: Springer, 2010:65-74. [3]張曉琪,胡振,唐天國. 改進蝙蝠算法在模糊層次分析中的應用[J]. 計算機系統應用,2018,27(3):146-152. [4]劉天健. 禁忌搜索的混合蝙蝠算法的研究及應用[D]. 南寧:廣西大學,2016. [5]Mirjalili S, Mirjalili S M, Yang X S. Binary bat algorithm[J]. Neural Computing and Applications, ?2014,25(3):663-681. [6]李賀,靳慶路,高善波. 基于蝙蝠算法的含分布式電源配電網故障定位[J]. 電氣技術,2017,18(1):34-38. [7]Mirjalili S, Lewis A. S-shaped versus V-shaped transfer functions for binary particle swarm optimization[J]. Swarm and Evolutionary Computation,2013,9(1):1-14. [8] 張進,丁勝,李波. 改進的基于粒子群優化的支持向量機特征選擇和參數聯合優化算法[J]. 計算機應用,2016,36(5):1330-1335. [9]李航,趙海東,申金媛,等. 基于BPSO和SVM的煙葉近紅外有用特征光譜選擇[J]. 物理實驗,2015,35(6):8-12. [10]劉澤蒙,張瑞,張廣明,等. 基于離散螢火蟲算法的近紅外波長優選方法研究[J]. 光譜學與光譜分析,2016,36(12):3931-3936. [11]陳素彬,胡振. 近紅外光譜的ELM校正模型測定柴油凝點[J]. 當代化工,2017,46(5):1010-1013. [12] GB 265-88 石油產品運動黏度測定法和動力黏度計算法[S].北京:國家標準局,1988.