王仲雨,高美鳳
(江南大學 輕工過程先進控制教育部重點實驗室,物聯(lián)網工程學院,江蘇 無錫 214122)
與傳統(tǒng)化學分析方法相比,近紅外光譜分析技術具有快速、無損、簡便、綠色環(huán)保等優(yōu)點,廣泛應用于石油化工、食品、藥品、釀酒、煙草等眾多領域,近年來已成為分析化學領域發(fā)展最為迅猛的技術之一。然而,在近紅外光譜分析中,光譜數據往往包含成百上千個波長點,這些波長點含有的大量冗余信息和噪聲將導致預測結果變差。因此,如何從眾多的波長點中選擇出能夠提高預測模型穩(wěn)健度和精確度的波長點變得尤為重要。當前,國內外學者提出了許多基于不同策略的波長選擇算法。根據篩選光譜波長的方式,可將波長選擇方法分為兩類[1]:波長間隔選擇方法和波長點選擇方法。波長間隔選擇方法包括:區(qū)間偏最小二乘(iPLS)[2]、向后區(qū)間偏最小二乘(biPLS)[3]、協(xié)同區(qū)間偏最小二乘(siPLS)[4]、移動窗口偏最小二乘(MWPLS)[5]和區(qū)間隨機蛙跳(iRF)[6]等;波長點選擇方法包括:基于PLS參數的變量在投影中的重要性(VIP)[7],基于模型集群分析(MPA)的蒙特卡羅無信息變量消除(MC-UVE)[8]、變量組合總體分析(VCPA)[9]等,還有以智能優(yōu)化算法為核心的組合波長點優(yōu)化方法:如遺傳算法(GA)[10]、粒子群算法(PSO)[11]、蟻群算法(ACO)[12],以及新興的智能優(yōu)化算法——布谷鳥搜索算法(CS)[13]、螢火蟲算法(DFA)[14]、灰狼算法(GWO)[15]等。盡管當前波長選擇方法多種多樣,但iPLS等波長間隔選擇方法雖運算速度快但精度不高;GA等波長點組合優(yōu)化算法預測精度很高但花費的時間成本太大。而鯨魚優(yōu)化算法[16](Whale optimization algorithm,WOA)是一種新型的群體智能優(yōu)化算法,通過模仿自然界座頭鯨捕食行為來實現(xiàn)優(yōu)化目的,具有原理簡單、參數設置少等特點,本文擬在WOA的基礎上提出一種時間成本小且預測精度高的波長選擇方法。
波長選擇實質上是在近紅外光譜波長點中,選擇最有效的波長點構建預測模型,并使預測精度最高。鑒于此,本文提出了一種新的波長變量選擇方法——改進的鯨魚優(yōu)化算法(Improved whale optimization algorithm,iWOA)。首先,為了提升算法效率,本文效仿遺傳算法將波長變量均分成若干波段,這些波段分別對應鯨魚位置基因信息,位置基因采用二進制編碼,“1”代表選擇該波段,“0”代表不選擇;然后對算法初始化種群進行改進,引入混沌策略初始化種群,以增加種群的多樣性,避免算法過早陷入局部最優(yōu);其次是對二進制傳遞函數進行改進,提出了一種非線性的時變Sigmoid傳遞函數,使算法擁有良好的收斂性、較小的特征子集和更優(yōu)的開發(fā)效率;最后將貪心算法思想引入到算法的迭代過程,即對當前迭代最優(yōu)個體進行局部探優(yōu),進一步提升算法的探優(yōu)能力,使模型獲得更好的預測精度。
二進制鯨魚優(yōu)化算法[18]應用于近紅外光譜波長選擇的步驟為:
(1)初始化種群,對鯨魚個體進行編碼:設置N個鯨魚個體,將需要篩選的近紅外光譜數據均分為L個波段,同樣鯨魚個體也有L維位置基因對應光譜數據的L個波段,位置基因“0”代表不選擇該波段,“1”代表選擇;對鯨魚個體位置基因進行隨機二進制0∕1編碼。
(2)計算個體的適應度值,選出最優(yōu)個體Xbest:將選擇出的光譜波段進行PLS建模,適應度是關于RMSEC(校正集均方根誤差)和Rc(校正集相關系數)的函數,適應度最高的個體為最優(yōu)個體。適應度函數[16]為:
(3)開始迭代,更新鯨魚的位置基因:鯨魚位置更新方式有包圍捕食、隨機搜索和螺旋氣泡3種。具體的更新方式如下:當隨機數p< 0.5時,鯨魚根據系數|A|的值選擇更新方式,若|A| < 1,采取包圍捕食模式;若|A|> = 1,采取隨機搜索模式。當隨機數p≥ 0.5時,采取螺旋氣泡模式更新鯨魚位置信息,其中p在(0,1)之間。
1)包圍捕食更新:
2)隨機搜索更新:
3)螺旋氣泡更新:
式中,和分別為第i只鯨魚第t次迭代和t+1次迭代的位置,和分別為第t次迭代最佳位置的鯨魚和隨機位置的鯨魚。b為對數螺旋形狀的常數,通常取1,l為[-1,1]之間的隨機常數,A和C為調節(jié)系數,如公式(5)表示:
式中,a= 2-2t∕tmax為線性收斂因子,其中tmax為最大迭代次數;r1和r2為[0,1]之間的隨機數。
(4)經位置更新后的鯨魚位置信息變成非二進制位置信息,在每次位置更新完成后再經式(6)和(7)進行二進制轉換,式(7)中r3為[0,1]之間的隨機常數。
(5)計算鯨魚個體適應度值,更新最優(yōu)個體。本次迭代結束,回到(3)繼續(xù)下一次迭代,直至到達最大迭代次數tmax。
1.2.1 混沌策略初始化種群智能優(yōu)化算法的尋優(yōu)過程始于初始種群,而初始種群對算法的收斂速度和精度都有著深遠的影響。傳統(tǒng)的WOA算法由于不能借鑒任何先驗知識,采用隨機方式初始化種群,容易使得算法過早地陷入局部最優(yōu)。本文引入混沌策略初始化種群,增加了種群的多樣性,避免算法陷入局部最優(yōu),混沌策略具體的數學模型為:
式中,x'i為混沌變量,xi為鯨魚初始位置變量,Dr、rand為[0,1]之間的隨機數。
1.2.2 非線性時變Sigmoid傳遞函數在二進制算法中,傳遞函數可能對算法的勘探、開發(fā)和收斂行為產生重大影響[19]。Sigmoid函數被廣泛應用于二進制智能優(yōu)化算法,但其不能平衡以上3種行為,因此本文提出了一種非線性時變的Sigmoid傳遞函數,可以使算法擁有良好的收斂性、較小的特征子集和更優(yōu)的開發(fā)效率。
式中,α為常數,可以控制選取波長的數量和算法迭代的速度。當α = 1時,鯨魚位置基因中“1”的數量很多,對應選擇的波長數量也很多;當α = 6時,“1”的數量變少,對應選擇的波長數量減少。由于α越大,算法選取的波長數量越少,故在考慮波長選擇數目的同時,還要兼顧算法波長篩選后建模的精度,因此要選擇合適的α使波長選擇后建立的模型精度最高同時選擇較少的波長數目。Tv為時變變量,具體為:
式中,t和tmax分別為當前的迭代次數和最大迭代次數,Tmax、Tmin為常數,分別取10和0.01。
1.2.3 引入貪心算法思想為了進一步提高模型的預測精度,將貪心算法引入到鯨魚算法迭代過程中。貪心算法是指在對問題求解時,總是做出在當前看來最好的選擇,即不從整體最優(yōu)上加以考慮,算法得到的是在某種意義上的局部最優(yōu)解,用局部最優(yōu)構造全局最優(yōu),一步步靠近最優(yōu)解[20]。具體的實施方案是:在每一次鯨魚位置更新結束選出最優(yōu)個體后,對最優(yōu)個體進行局部尋優(yōu),即對最優(yōu)個體位置信息隨機取反,如果取反后適應度值大于最優(yōu)個體,則保留;如果小于,再進行一次隨機取反,直至得到大于最優(yōu)個體的適應度值。如果重取次數達到上限值,則將原先最優(yōu)個體直接替換最差個體。
Step1:通過混沌策略初始化種群,對個體進行位置基因編碼。設置N個鯨魚個體,將光譜數據均分為L段,對應的鯨魚個體含有L個位置基因,使用混沌策略對鯨魚種群初始化。
Step2:計算當前個體的適應度值,選出最優(yōu)個體xbest。
Step3:開始迭代,初始化A、C、a、p、b、l和迭代次數t等參數值,按照公式(2) ~ (5)進行鯨魚位置基因的計算。
Step4:引入非線性時變Sigmoid傳遞函數對鯨魚位置基因進行二進制轉換。
Step5:計算當前迭代鯨魚個體適應度值,更新最優(yōu)個體。
Step6:引入貪心算法思想。對每一次迭代中適應度最優(yōu)的個體基因進行局部性探優(yōu),即隨機取反一個位置基因。若取反后的個體適應度大于取反前,則保留;否則再一次隨機取反一個位置基因,若到達最大取反次數,則將最優(yōu)個體取代最差個體。
Step7:本次迭代結束,返回(3)繼續(xù)下一次迭代,直至到達最大迭代次數tmax。
2.1.1 實驗數據來源為了驗證改進的波長選擇算法對于建模的有效性,將改進的iWOA算法應用在一組玉米數據上。該數據集引用自eigenvector網站上開源的玉米樣本光譜數據集,為700個玉米樣品分別由m5spec、mp5spec、mp6spec儀器掃描得到的光譜數據,包含水、脂肪、蛋白質、淀粉的含量值,光譜的波長范圍為1 100 ~2 498 nm,采樣間隔為 2 nm,共 700個波長點(圖1) 。本文擬采用m5spec儀器采集的玉米數據集。
圖1 原始光譜圖Fig.1 Original spectra
2.1.2 樣本集劃分本文采用Kennard-Stone(K-S)方法將80個樣本分為52個校正集和28個預測集。校正集和預測集的各部分含量值統(tǒng)計見表1。由表1可知,校正集樣本與預測集樣本的平均值(Avg)和標準差(Std)相差不大,說明通過K-S方法劃分的數據集,保證了校正集樣本均勻分布。
表1 校正集和預測集中的脂肪、蛋白質、淀粉和水的含量值統(tǒng)計Table 1 Statics of fat,protein,starch and water content in correction and prediction sets (g∕100 g)
本研究使用的是一臺三星筆記本電腦,處理器是Intel(R) Core(TM) i5-7300HQ,CPU主頻2.50 GHz,Win10、64位操作系統(tǒng),顯卡為GTX1050。本實驗所有運算均在MTLAB 2018a上進行。
為了驗證改進的iWOA算法對模型預測的有效性,將其與使用原始光譜、GA算法、WOA算法建模的預測結果進行對比。
群體智能算法不僅可以選擇波長點,也可以選擇波長段,而選擇波長段可以大幅度減少波長選擇的運算量,提升算法運行效率,且合適的波長段數還可提升預測精度,因此本文采用波長段選擇方法。將1 100 ~ 2 498 nm范圍的700個光譜數據均分為L段,分別取L為35、70和140進行實驗,結果顯示當L取70時,算法的效率和預測精度最高,即對應鯨魚個體包含70個位置基因,每個基因位代表10個波長點。對于iWOA算法,設置50個鯨魚個體,使波長選擇后建立的模型精度最高同時選擇較少的波長數目,非線性時變Sigmoid傳遞函數的參數α設置為6,貪心思想重置次數設置為5,最大迭代次數100;對于GA算法,設置50個染色體,交叉概率0.85,變異概率0.1,最大迭代次數200;對于WOA算法,設置50個鯨魚個體,最大迭代次數100。由于3種算法均具有隨機性,最后結果為算法運行50次后求均值。
3.1.1 非線性時變Sigmoid傳遞函數和貪心算法思想的改進效果為驗證傳遞函數改進和貪心思想改進的效果,對WOA算法和iWOA算法分別測試脂肪、蛋白質、淀粉、水50次的RMSEP值進行考察(圖2)。由圖2A可知,脂肪經WOA算法篩選后建立的預測模型的RMSEP值在0.070 0左右,改進傳遞函數后降至0.050 0左右,而改進傳遞函數并同時引入貪心算法思想后RMSEP降至0.033 0左右;蛋白質經WOA算法篩選后建立的預測模型的RMSEP值在0.110 0左右,改進傳遞函數后降至0.080 0左右,改進傳遞函數并同時引入貪心算法思想后RMSEP降至0.050 0左右;淀粉經WOA算法篩選后建立的預測模型的RMSEP值在0.240 0左右,改進傳遞函數后降至0.170 0左右,改進傳遞函數并同時引入貪心算法思想后RMSEP降至0.140 0左右;水經WOA算法篩選后建立的預測模型的RMSEP值在0.025 0左右,改進傳遞函數后降至0.006 0左右,而改進傳遞函數并同時引入貪心算法思想后RMSEP仍在0.006 0左右,變化值不大,這是由于此時的RMSEP值已經很小。因此,兩種改進方案都能提高建模后的預測精度。
圖2 WOA和iWOA算法運行50次的RMSEP值Fig.2 RMSEP values for WOA and iWOA algorithm runs 50 times
3.1.2 混沌策略初始化種群和3種改進方法結合的效果為驗證混沌策略初始化種群和iWOA的改進效果,以玉米蛋白質數據集為例,比較了隨機策略-WOA、混沌策略-WOA和iWOA 3種算法的收斂性,以3種算法模型預測性能指標的適應度函數值(F)為標準,結果如圖3所示。隨機策略-WOA算法的適應度函數值在迭代次數為80時達到飽和;混沌策略-WOA在迭代次數為40時即達到飽和,且適應度函數值相較隨機策略-WOA算法有所提升,說明混沌策略初始化種群可以起到避免算法過早陷入局部最優(yōu)的作用。iWOA算法在迭代次數為50左右時適應度函數值達到飽和,說明混沌策略、貪心算法思想和非線性時變Sigmoid傳遞函數3種改進方案結合的iWOA算法的收斂性能依然良好,且適應度函數值相較隨機策略-WOA和混沌策略-WOA算法顯著提升,模型的預測性能得到顯著改善。
圖3 不同方法的適應度值隨迭代次數的變化圖Fig.3 Fitness value for the different methods vary by iteration
圖4是iWOA算法分別在玉米脂肪、蛋白質、淀粉和水數據集上運行50次后,各個波段變量被選取的頻率分布直方圖。
由圖4A可知,脂肪近紅外光譜被iWOA算法選擇的頻率在15次以上的變量波段有:1 700 ~1 760 nm、2 260 ~ 2 320 nm,而這些區(qū)域與脂肪中C—H伸縮振動的一級倍頻和二級倍頻、C—H變形振動的一級倍頻以及O—H伸縮振動的一級倍頻的頻率一致;由圖4B可知,蛋白質被選擇的頻率在15次以上的變量波段集中在2 120 ~ 2 220 nm,這些區(qū)域與蛋白質中N—H伸縮振動的一級倍頻、C = = O伸縮振動的一級倍頻以及C—H伸縮振動的一級和二級倍頻等的頻率一致;由圖4C可知,淀粉被選頻率在15次以上的變量波段有:1 680 ~ 1 700 nm、1 740 ~ 1 780 nm和1 980 ~ 2 000 nm,這些區(qū)域與淀粉中C—H伸縮振動的二級倍頻、O—H伸縮振動的一級倍頻頻率一致;由圖4D可知,水被選頻率在15次以上的變量波段有1 900 ~ 1 920 nm和2 000 ~ 2 020 nm,這些區(qū)域與水中O—H伸縮振動和變形振動的二級倍頻頻率一致。
圖4 iWOA運行50次后波長變量被選擇的頻率Fig.4 The frequencies of the wavelength variables selected after running 50 times iWOA
對篩選的高頻波段對應官能團進行分析,所選的波長點均能很好地反映該指標的特征信息。因此,本算法可以起到剔除光譜數據中冗余信息和噪聲、消減光譜變量間多重共線性問題的作用,使建立的預測模型更加穩(wěn)定有效。
為了驗證算法的有效性,將iWOA與原始光譜以及GA、WOA波長選擇算法進行比較,分別構建脂肪、蛋白質、淀粉和水4種成分的PLS預測模型,以算法的運行時間、選擇出的波長變量數目、校正集相關系數(Rc)和均方根誤差(RMSEC)、預測集相關系數(Rp)和均方根誤差(RMSEP)作為評價標準,以上各指標都采用50次求均值,標準差(SD)為50次RMSEP值的標準差,結果如表2所示。上述評價指標中,同一成分PLS建模時選擇的主因子數相同;算法選擇的波長數越少,預測模型的復雜度越低;校正集相關系數和預測集相關系數越大,模型的穩(wěn)定性越好;校正集均方根誤差和預測集均方根誤差越低,模型的預測精度越好;同樣,算法花費的時間越少,建模的效率越高。
從表2可知,在玉米脂肪、蛋白質、淀粉和水含量的預測上,相比于原始光譜,iWOA模型的RMSEC分別從0.076 9、0.122 4、0.258 2、0.050 4降至0.024 1、0.039 3、0.104 9、0.004 4,Rc分別從0.909 1、0.966 4、0.951 2、0.991 6提升到0.990 5、0.9962、0.991 6、0.999 9;RMSEP分別從0.077 2、0.122 4、0.334 4、0.059 5降至0.033 2、0.050 7、0.139 2、0.004 4,Rp分別從0.866 8、0.972 4、0.902 4、0.985 7提升至0.972 3、0.994 8、0.981 9、0.999 9。說明經iWOA算法波長選擇后建立的預測模型的穩(wěn)定性和精度均得到了顯著提升。而對于水含量的預測,由于原始光譜的預測精度已經很高,因此經波長選擇后的各項指標并未能取得特別好的結果。與WOA和GA相比,iWOA算法波長選擇后建立的模型具有最高的相關系數、最低的均方根誤差,并且選擇的波長數目最少,算法花費的時間最少,算法效率最高,但RMSEP的標準差(SD)相比其他算法略有增大,說明RMSEP值的波動性偏大,因此iWOA算法應用于生產活動中需要多次采樣求均值。
表2 不同波長選擇方法在玉米4個指標校正集和預測集上的性能Table 2 Performance of different wavelength selection methods on 4 index correction sets and prediction sets of maize
本文提出了一種新型的近紅外光譜波長選擇方法,即改進的鯨魚優(yōu)化算法(iWOA),對原算法提出了3種改進措施:混沌策略初始化種群、引入非線性時變Sigmoid傳遞函數和貪心算法思想。經iWOA算法波長選擇后,基于玉米脂肪、蛋白質、淀粉和水的近紅外光譜數據建立的預測模型性能優(yōu)于其他波長選擇算法:篩選出的變量數目最少,降至80個左右,降低了模型的復雜度;模型的預測精度最高,脂肪、蛋白質、淀粉和水的預測集均方根誤差RMSEP分別降至0.033 2、0.050 7、0.139 2、0.004 4;篩選過程花費的時間最少,在3.5 s左右,算法的運行效率最高。本文提出的改進措施可為其他智能優(yōu)化算法的應用與改進提供一定的參考,同時該算法在各方面的高性能使之有望廣泛應用于近紅外光譜的波長選擇。