林春偉 郭永洪 何金龍
摘要:為實時有效地檢測地表水中硝酸根離子和亞硝酸根離子的變化過程,提出一種基于紫外可見吸收光譜的水質檢測算法。針對水質光譜數(shù)據(jù)受到干擾易出現(xiàn)波動誤差的問題,采用小波變換對其進行分解以濾除高頻噪聲,并通過主成分分析對數(shù)據(jù)特征進行降維以防止模型復雜度較高導致過擬合。水質光譜數(shù)據(jù)經(jīng)預處理后采用支持向量機對其進行建模,通過非線性自適應調整變異收縮因子對差分進化算法進行改進,并采用改進差分進化算法對水質預測模型進行參數(shù)優(yōu)化。通過與采用其他常用算法所建模型進行對比分析,實驗結果表明:基于該算法所建的硝酸根離子和亞硝酸根離子模型具有更高的預測精度,且其能夠以更快的收斂速度使模型達到全局最優(yōu)。
關鍵詞:水質檢測;光譜分析;支持向量機;改進差分進化算法;小波變換;主成分分析
中圖分類號:TP391 文獻標志碼:A 文章編號:1674-5124(2019)05-0079-06
收稿日期:2018-09-06;收到修改稿日期:2018-11-09
基金項目:浙江省自然科學基金(Y14F010075)
作者簡介:林春偉(1994-),男,河南鶴壁市人,碩士研究生,專業(yè)方向為檢測技術。
0 引言
傳統(tǒng)水質檢測常采用化學法通過人工采集水樣進行實驗分析,隨著物聯(lián)網(wǎng)技術的快速發(fā)展,能夠實時有效檢測整個水質變化過程的水質在線監(jiān)測系統(tǒng)已成為該領域的重要發(fā)展趨勢[1]?;瘜W法雖然分析精度較高,但由于其操作復雜且測量周期長而難以實現(xiàn)水質在線監(jiān)測。紫外可見吸收光譜法則通過對標準水樣的吸收光譜進行分析建模,無需添加化學試劑即可直接測定水樣中各組分濃度,具有檢測速度快和無二次污染等優(yōu)點,故該方法廣泛應用于水質在線監(jiān)測系統(tǒng)研究中[2]。
基于紫外可見吸收光譜進行水質檢測的關鍵在于光譜數(shù)據(jù)的建模與優(yōu)化。當水樣中各組分濃度較低時,根據(jù)朗伯比爾定律其濃度與吸光度呈線性關系,此時通常采用多元線性回歸[3]或偏最小二乘法[4]對光譜數(shù)據(jù)進行建模;但當水樣中各組分濃度較高時,各吸光粒子距離變小導致其電荷分布相互影響,故水樣中各組分濃度與吸光度呈非線性關系,此時通常采用神經(jīng)網(wǎng)絡[5]或支持向量機(SVM)[6]對光譜數(shù)據(jù)進行建模。在地表水質檢測的應用研究中,由于水樣中各組分濃度變化范圍較大,故通常采用非線性建模算法對光譜數(shù)據(jù)進行處理。其中,神經(jīng)網(wǎng)絡雖然具有強大的非線性擬合能力,但其存在學習速度慢、易陷入局部最優(yōu)和調參復雜等問題;而支持向量機基于統(tǒng)計學習理論具有更強的泛化能力,且其需要優(yōu)化的參數(shù)也相對較少,故支持向量機在光譜分析領域具有極為廣泛的應用[7]。在模型參數(shù)優(yōu)化方面Huo等[8]和Wang等[9]分別采用遺傳算法和粒子群算法優(yōu)化支持向量機建立水質預測模型,通過實驗分析均得出了其相對于BP神經(jīng)網(wǎng)絡具有更高預測精度的結論。而差分進化算法雖然在水質預測模型優(yōu)化方面應用較少,但Civicioglu等[10]通過標準測試函數(shù)對上述3種優(yōu)化算法進行了對比分析,實驗結果表明在收斂速度方面差分進化算法表現(xiàn)更優(yōu)。
為使水質預測模型具有較高的預測精度和收斂速度,本文采用差分進化算法優(yōu)化支持向量機對光譜數(shù)據(jù)進行建模。為防止模型陷入局部最優(yōu)并進一步提高其收斂速度,通過非線性與自適應調整變異縮放因子相結合的策略對差分進化算法進行改進。由于光譜數(shù)據(jù)大多帶有擾動噪聲,且高維特征會增加模型復雜度從而導致過擬合,故本文在對光譜數(shù)據(jù)進行建模優(yōu)化之前,分別采用小波變換和主成分分析對其進行去噪和降維以進一步提高模型的預測精度。
1 數(shù)據(jù)采集與預處理
1.1 數(shù)據(jù)采集
雖然物質對光的吸收具有選擇性,但其吸收光譜是帶狀光譜而非單一的特征譜線,因此水樣中各組分吸收光譜會存在相互重疊和干擾的問題。本文根據(jù)《地表水環(huán)境質量標準》所述,選取硝酸根離子、亞硝酸根離子和氯離子作為實驗對象采集數(shù)據(jù),以上3種離子在3類及以上地表水中的濃度檢測限值分別為10mg/L、1mg/L、250mg/L0其中,硝酸根離子和亞硝酸根離子是引起水體富營養(yǎng)化的主要離子,而氯離子是地表水中含量最多的離子之一,且上述3種離子的吸光波段均有重疊,故將硝酸根離子和亞硝酸根離子作為檢測的目標離子,而氯離子作為檢測的干擾離子。
由于鈉離子吸收光譜與上述3種離子均不重疊,故以硝酸鈉(分析純)、亞硝酸鈉(分析純)、氯化鈉(分析純)和去離子水作為實驗材料。硝酸根離子、亞硝酸根離子和氯離子的濃度梯度分別設置為1mg/L、0.1mg/L、25mg/L,根據(jù)此濃度梯度配制以上3種離子的單組分標準液與多組分混合液,使用紫外可見分光光度計(UV2550)對其進行光譜掃描。其中,單組分標準液的吸收光譜主要用于研究各離子吸光特性;根據(jù)正交試驗設計配制的100種多組分混合液的吸收光譜作為模型訓練樣本,另配制與訓練樣本水樣中各離子濃度配比不同的30種多組分混合液的吸收光譜作為模型測試樣本。當水樣中硝酸根離子、亞硝酸根離子和氯離子濃度分別為6mg/L、1mg/L、100mg/L時,以上3種離子單組分標準液和多組分混合液的吸收光譜如圖1所示。
1.2 數(shù)據(jù)預處理
1.2.1 光譜去噪
在使用紫外可見分光光度計進行光譜掃描的過程中會由于機械抖動使數(shù)據(jù)產(chǎn)生一定誤差,且由圖1可知,水樣中各組分吸光度越大,由于儀器檢測范圍和精度等原因造成其數(shù)據(jù)波動程度越劇烈。小波變換是一種時間窗和頻率窗均可改變的信號分析方法,其通過小波函數(shù)的伸縮和平移變換對信號進行多尺度細化分析,可以聚焦到信號的任意局部特征[11]。為減小實驗誤差對水質預測模型的影響,本文采用小波變換對光譜數(shù)據(jù)進行分解以濾除高頻噪聲。光譜數(shù)據(jù)經(jīng)小波變換處理前后對比如圖2所示。
1.2.2 特征降維
水樣中各組分吸收光譜相互重疊和干擾的情況造成有時無法使用吸收峰波進行建模,且單一譜線無法全面反映吸光物質的特征信息,故通常對全光譜數(shù)據(jù)提取特征波段進行建模。較高的特征維數(shù)會增加模型復雜度導致其過擬合,而主成分分析將數(shù)據(jù)進行正交變換,通過少數(shù)幾個主成分盡可能多的保留原始變量信息,不但可以降低數(shù)據(jù)特征的維數(shù),還可以減少冗余信息對模型的影響yz7。硝酸根離子和亞硝酸根離子的吸光波段均集中在190~250nm,而氯離子的吸光波段則集中在190210nmo對于硝酸根離子,為減小氯離子對其吸光特性的影響,選取216~235nm作為特征波段,對以上20維數(shù)據(jù)運用主成分分析進行降維,選取前3個主成分作為模型輸入變量,其累計解釋方差總和為99.9%。對于亞硝酸根離子,由于其在濃度檢測范圍內吸光度較小,從而導致其在多組分吸收光譜中的特征信息被硝酸根離子完全覆蓋,為減小硝酸根離子對其吸光特性的影響,直接選取吸收峰波210nm作為特征波長,并選取220nm和230nm作為補償波長,以上3個維度即為模型輸入變量。
2 算法理論
2.1 支持向量機
支持向量機是一種基于統(tǒng)計學習理論和結構風險最小化原理的監(jiān)督學習算法,其基本模型是定義在特征空間上間隔最大的線性分類器,當引入核函數(shù)將數(shù)據(jù)非線性映射到高維空間之后,支持向量機也可用于非線性分類[13]。除此之外,支持向量機也可用于解決回歸問題,其基本思想都是通過間隔最大化學習得到最優(yōu)超平面:f(x)=w.x+b。
支持向量機解決回歸問題根據(jù)模型輸出f(xi)與真實值yi之間的差別來計算損失,其允許f(xi)與yi之間最多有ε的偏差,僅當f(xi)-yi>ε時才計算損失,當引入松弛變量ζ+,ξ-后,其優(yōu)化問題為:
S.t.f(xi)-yi≤ε+ξi+,(1)
f(xi)-yi≤ε+ξi-,
ξi+≥0,i=1,2,…,N
當引入拉格朗日乘子α+,α-后,根據(jù)拉格朗日對偶性,原始問題轉化為求解α+,α-的凸二次規(guī)劃問題,其最終優(yōu)化問題為:
若求解以上問題得到最終解為α+=(α1+,α2+,…,αN+),α-(α1-,α2-,…,αN-),則有:
若通過引入核函數(shù)解決非線性問題,則上式可以表示為:
2.2 差分進化算法及改進
差分進化算法(DE)是一種基于群體差異的并行優(yōu)化算法,該算法與遺傳算法(GA)類似,都包括變異、交叉和選擇等操作,而粒子群算法(PSO)是通過模仿生物個體間競爭與合作的啟發(fā)式群體智能來進行優(yōu)化搜索[14]。差分進化算法通過差分策略實現(xiàn)個體變異,這也是區(qū)別于遺傳算法的重要標志,該算法具體實現(xiàn)流程如下:
1)種群初始化,在解空間中隨機均勻地產(chǎn)生m個個體作為第0代種群,其中每個個體包含n個變量,標記為:
Xi(0)=[xi,1(0),xi,2(0),…,xi,n(0)],i=1,2,…,m(5)
2)變異,在第k次迭代中,從種群中隨機選擇3個個體Xj1(k),Xj2(k),Xj3(k),且j1≠j2≠j3≠i,則其變異規(guī)則為:
Hi(k)=Xj1(k)+F·(Xj2(k)-Xj3(k)),i=1,2,…,m(6)其中,Xj2(k)-Xj3(k)為差分向量,F(xiàn)為變異縮放因子,用于控制差分向量的影響力。
3)交叉,在[0,1]區(qū)間內產(chǎn)生m個隨機數(shù),確定交叉概率因子CR,其交叉方法如下:其中,CR∈[0,1],rand(0,1)是[0,1]區(qū)間上服從均勻分布的隨機數(shù)。
4)選擇,根據(jù)適應度函數(shù)選擇Vi(k)或Xi(k)作為Xi(k+1),其選擇方法如下:
5)判斷算法是否達到終止條件。若是,將最佳個體作為最優(yōu)解輸出;若否,則轉至步驟2)進行第k+1次迭代。
差分進化算法通過差分策略實現(xiàn)個體變異,變異收縮因子F主要用于控制差分向量對變異個體的影響力,F(xiàn)值較大時可以通過增加個體間差異提升種群多樣性使算法達到全局最優(yōu);F值較小時可以增強個體的局部開發(fā)能力并加快其收斂速度,故針對差分進化算法的改進一般采取非線性遞減變異收縮因子的策略。但該改進策略還存在一定問題,比如當算法前期沒有搜索到較優(yōu)的解,后期減小F值會使算法陷入局部最優(yōu);而對于適應度值較高的個體,算法前期較大的F值也會影響其收斂速度。
針對以上問題,本文提出一種基于非線性遞減與自適應調整變異收縮因子相結合的改進差分進化算法(IDE)。改進后的差分進化算法在每一次迭代后計算種群本代個體適應度值的平均值,當個體適應度值小于種群平均適應度值時,基礎F值通過加上非線性變化因子以增強算法的全局搜索能力;當個體適應度值大于種群平均適應度值時,基礎F值通過減去非線性變化因子以增強算法的局部開發(fā)能力。改進差分進化算法中F值的具體調整方法如下:其中,T為最大迭代次數(shù),t為當前迭代次數(shù),fi為種群中第i個個體的適應度值,f為種群平均適應度值,F(xiàn)max為最大變異收縮因子,F(xiàn)min為最小變異收縮因子。
改進后的差分進化算法可以根據(jù)個體適應度值動態(tài)調整變異收縮因子,對于種群中較優(yōu)個體可以加快其收斂速度,而對于種群中較差個體可以通過擴大搜索范圍防止其陷入局部最優(yōu)。
3 實驗與分析
基于紫外可見吸收光譜構建水質預測模型主要使用紫外可見分光光度計采集標準水樣的光譜數(shù)據(jù),采用小波變換對光譜數(shù)據(jù)進行分解去噪以減小數(shù)據(jù)誤差的影響,并對水樣中各組分進行特征降維以確定模型輸入變量,通過以上數(shù)據(jù)預處理操作之后,構建基于支持向量機的水質預測模型,并使用改進差分進化算法對模型進行參數(shù)優(yōu)化以使其達到最優(yōu)。水質預測模型架構如圖3所示。
若水樣中各組分吸光波段相互重疊,當水樣中各組分濃度較高時,多組分吸收光譜中各波長的吸光度即為各組分在該波長的吸光度的非線性疊加,故本文選取高斯核函數(shù)作為支持向量機的核函數(shù)。由于經(jīng)過特征降維后硝酸根離子和亞硝酸根離子的輸入變量不同,故采用支持向量機對兩種目標離子分別進行建模,并采用改進差分進化算法對模型進行參數(shù)優(yōu)化,支持向量機中待優(yōu)化的參數(shù)分別為懲罰系數(shù)C與核參數(shù)γ。為防止模型過擬合造成預測性能下降,限定懲罰系數(shù)C與核參數(shù)γ的搜索范圍為(0,1000)。設置改進差分進化算法中種群個體數(shù)為20,交叉概率CR為0.3,最大變異收縮因子Fmax為0.9,最小變異收縮因子Fmin為0.1。選取擬合優(yōu)度R2作為評估模型好壞的適應度函數(shù)。
為測試本文基于IDE-SVM算法所建模型的預測精度與學習速度,設定模型訓練的最大迭代次數(shù)為100,選取模型訓練時間t、模型分別在訓練樣本和測試樣本上的擬合優(yōu)度R2與均方根誤差RMSE等作為性能指標,并分別與基于DE-SVM、PSO-SVM和GA-SVM算法所建模型在相同種群個體數(shù)和迭代次數(shù)下的性能指標作對比分析。其中,差分進化算法中交叉概率CR為0.3,變異收縮因子F為0.5;粒子群算法中學習因子w為2,慣性權重c為1;遺傳算法中交叉概率PC為0.8,變異概率Pm為0.2。本文測試環(huán)境為:Intel i5-6300HQ CPU 2.30GHz,RAM 8 GB,Pycharm5.0.3。硝酸根離子和亞硝酸根離子分別基于4種算法所建模型的最優(yōu)參數(shù)和性能指標對比如表1和表2所示。
硝酸根離子由于在濃度檢測范圍內吸光度較大,故其在多組分吸收光譜中的特征信息比較明顯;而亞硝酸根離子由于其在多組分吸收光譜中的特征信息被硝酸根離子覆蓋,故針對其所建模型的預測精度會受到一定影響。由表1和表2可知,針對以上兩種目標離子分別基于4種算法所建模型在訓練樣本上均能取得較高的預測精度,但相比之下基于IDE-SVM算法所建模型的預測精度最高,且其在測試樣本上R2值最大、RMSE值最小,故該模型相對于其他3種模型具有更強的泛化能力;而在相同的學習迭代次數(shù)下,由于改進差分進化算法相對于原算法只是在變異收縮因子的選取方式上有所不同,故分別基于以上兩種算法所建模型的訓練運行時間基本一致,但其相對于粒子群算法和遺傳算法的模型訓練運行時間明顯較短。
模型訓練運行時間較短只能說明本文所提的改進差分進化算法在每次迭代中的解更新速度較快,而判定優(yōu)化算法優(yōu)劣的標準主要是其搜索最優(yōu)解的收斂速度以及所得解是否是全局最優(yōu)。為測試本文所采用優(yōu)化算法的收斂速度,硝酸根離子和亞硝酸根離子分別基于4種算法訓練模型的收斂性能對比如圖4和圖5所示。其中,為方便觀察各算法的收斂變化情況,將圖中縱軸設置為對數(shù)坐標軸,并選取1-R2作為新的適應度值。由圖4和圖5可知,基于IDE-SVM算法所建模型搜索到最優(yōu)解所需的迭代次數(shù)最少,且其所得解相對于其他3種算法最優(yōu),故本文所提改進差分進化算法具有更快的收斂速度且能防止算法陷入局部最優(yōu)。
4 結束語
本文針對水質在線監(jiān)測系統(tǒng)能夠對水質進行實時有效連續(xù)檢測的性能要求,提出一種基于紫外可見吸收光譜的水質檢測算法。該算法通過小波變換和主成分分析對水質光譜數(shù)據(jù)進行去噪和降維,采用支持向量機對預處理后的數(shù)據(jù)進行建模,并采用改進差分進化算法對模型進行參數(shù)優(yōu)化。通過實驗對比分析可以得出以下結論:本文基于IDE-SVM算法所建模型具有更高的預測精度,且通過非線性自適應調整變異收縮因子對差分進化算法進行改進能夠顯著加快其收斂速度并防止算法陷入局部最優(yōu)。由于本文所建模型在測試樣本上的預測精度較高,可能存在訓練樣本和測試樣本的相似度較高造成數(shù)據(jù)冗余的問題,故解決數(shù)據(jù)的冗余性問題將成為本文后續(xù)工作的重點。
參考文獻
[1]ADU-MANU KS,TAPPARELLO C,HEINZELMAN W,etal.Water quality monitoring using wireless sensor networks:current trends and future research directions[J].ACMTransactions on Sensor Networks,2017,13(1):1-41.
[2]STOREY M V,VAN DER GAAG B,BURNS B P.Advancesin on-line drinking water quality monitoring and early warningsystems[J].Water Research,2011,45(2):741-747.
[3]JIAO L,DONG D,ZHENG W.Determination of thiophanate-methyl using UV absorption spectra based on multiple linearregression[J].Optik,2014,125(1):183-185.
[4]SKOU P B,BERG T A,AUNSBJERG S D,et al.Monitoringprocess water quality using near infrared spectroscopy andpartial least squares regression with prediction uncertaintyestimation[J].Applied Spectroscopy,2017,71(3):410-421.
[5]OZBALCI B,BOYACI IH,TOPCU A,et al.Rapid analysis ofsugars in honey by processing Raman spectrum usingchemometric methods and artificial neural networks[J].FoodChemistry,2013,136(3-4):1444-1452.
[6]DEVOS O,RUCKEBUSCH C,DURAN])A,et al.Supportvector machines(SVM)in near infrared(NIR)spectroscopy:Focus on parameters optimization and model interpreta-tion[J].Chemometrics and Intelligent Laboratory Systems,2009,96(1):27-33.
[7]曾甜玲,溫志渝,溫中泉,等.基于紫外光譜分析的水質監(jiān)測技術研究進展[J].光譜學與光譜分析,2013,33(4):1098-1103.
[8]HUO A D,ZHANG J,QIAO C L,et al.Multispectral remotesensing inversion for city landscape water eutrophicationbased on genetic algorithm-support vector machine[J].WaterQuality Research Journal of Canada,2014,49(3):285-293.
[9]WANG X,LU J K,XIE D T.A hybrid approach of supportvector machine with particle swarm optimization for waterquality prediction[J].International Conference on ComputerScience and Education,2010,31(7):1158-1163.
[10]CIVICIOGLU P,BESDOK E.A conceptual comparison of theCuckoo-search,particle swarm optimization,differentialevolution and artificial bee colony algorithms[J].ArtificialIntelligence Review,2013,39(4):315-346.
[11]湯斌,魏彪,毛本將,等.紫外-可見吸收光譜法水質檢測系統(tǒng)的噪聲分析與處理研究[J].激光與光電子學進展,2014,51(4):1-7.
[12]陳揚,張?zhí)珜?,郭澎,?基于主成分分析的復雜光譜定量分析方法的研究[J].光學學報,2009,29(5):1285-1291.
[13]CHANG CC,LIN C J.LIBSVM:A library for support vectormachines[J].ACM Transactions on Intelligent Systems andTechnology,2011,2(3):1-27.
[14]曹飛鳳,許月萍.基于改進差分進化算法的水文模型參數(shù)多目標優(yōu)選研究[J].系統(tǒng)工程理論與實踐,2014,34(12):3268-3273.
(編輯:劉楊)