劉嘉誠,胡炳樑,于 濤*,王雪霽,杜 劍,劉 宏,劉 驍,黃琦星
1. 中國科學院西安光學精密機械研究所光譜成像技術重點實驗室,陜西 西安 710119 2. 中國科學院大學,北京 100049 3. 深圳市鹽田港集團有限公司,廣東 深圳 518081
人類的行為活動會對地球生存環境構成重大威脅。據研究,全球所有死亡人數中有23%是因為環境因素[1]。對人類生存環境的研究、保護和治理刻不容緩。水是自然環境和社會環境中極為重要且活躍的因素,對水質信息的科學監測是實現水資源優化配置與高效利用的基礎。水質監測中常用到的指標包括化學需氧量(chemical oxygen demand,COD)、生化需氧量(biochemical oxygen demand,BOD5)、總有機碳(total organic carbon,TOC)、硝酸鹽氮(NO3-N)、濁度(turbidity)、色度(colority)等。通過這些指標的監測,可以反映當前水體中各種污染物的濃度及變化趨勢,從而達到評價水質狀況的目的。
常用的水質監測方法多為基于化學檢測的方法,包括現場取樣進行實驗室化學檢測和利用基于化學法的儀器進行原位監測。現場取樣進行實驗室化學檢測非原位、周期長,難以實現在線監測; 基于化學法的儀器由于其使用化學試劑,存在化學殘留,容易導致二次污染。近年來,基于光譜法的水質監測技術由于無需化學試劑、無二次污染、快速準確、成本低的特點,可實現實時在線原位測量,已廣泛應用于在線水質監測領域。光譜法水質監測技術是利用水中特定物質吸收特定波長的光,產生分子吸收光譜,通過建立預測模型,根據測得的吸收光譜來定性定量地分析水質參數。
光譜法水質監測中常用的預測模型主要分為線性模型和非線性模型,線性模型主要包括單波長法、多波長組合法、偏最小二乘(partial least squares, PLS)等。Dogliotti等利用645 nm波段與859 nm波段的單波長半分析方法來反演水體濁度[2]; Knaeps等利用1 020 nm波段與1 071 nm波段分析水體總懸浮物[3]; Carreres-Prieto等利用多元線性回歸(multivariable linear regression,MLR)預測COD等[4]; PLS是由Wold提出的一種多元線性回歸方法,它通過不斷提取主成分來簡化數據,建立回歸模型,王莉麗等將PLS用于水體化學需氧量的測量并取得了不錯的效果[5]; Wang等使用PLS和多種機器學習算法預測水體總氮含量[6]。非線性模型主要包括支持向量機(support vector machines, SVM),神經網絡,決策樹等。SVM是由Vapnik提出的一種非線性回歸方法,它將低維數據映射到高維空間進行回歸,再把高維空間的超平面映射回低維空間,建立回歸模型,陳穎等人將SVM的改進方法用于水體硝酸鹽濃度的預測[7]; Gu等使用隨機森林(random forest,RF)的方法預測河流水體濁度[8]; 神經網絡是一種仿生的計算方法,用于大規模非線性的系統建模,Charulatha等將人工神經網絡(artificial neural network,ANN)用于地表水的亞硝酸鹽檢測[9]; Chen等使用近紅外光譜結合卷積神經網絡(convolutional neural networks, CNN)檢測農業灌溉用水[10]。
單波長、多波長的組合方法都依賴于水體對特定波長的吸收特征,同一波長組合建模可能適應于特定應用場景,不具有普適性。PLS算法雖然利用了全光譜的數據,但只能尋找線性特征進行回歸,無法捕捉非線性的特征。SVM算法對小樣本的學習和預測性能較好,但懲罰參數的選擇對模型精度影響較大,懲罰參數較大模型容易過擬合,懲罰參數較小模型容易欠擬合。基于神經網絡的算法對樣本的數量需求較高,在小樣本情況下模型泛化能力較差,且模型訓練時間長。
為了解決上述問題,引入機器學習中極端隨機樹的思想,提出了一種基于改進極端隨機樹(improved extremely randomize trees,IERT)的非線性全光譜濁度定量分析算法。極端隨機樹(extremely randomize trees,ERT)是由Pierre Geurts等學者提出的基于決策樹的集成方法,用于解決機器學習中的監督分類和回歸問題。該方法對高維特征數據能很好的處理,準確度高,且能夠并行計算,執行效率高[11]。由于精細光譜數據的高光譜分辨率導致的數據量大、不同波段之間數據存在冗余等特點,采用核主成分分析(kernal principal component analysis,KPCA)方法進行特征降維,通過非線性函數把吸光度光譜映射到高維空間進行主成分分析,提取數據高維、非線性的特征。之后,正態化降維后的數據,訓練基于IERT的非線性全光譜濃度預測模型,算法流程圖如圖1。

圖1 IERT算法流程圖Fig.1 Flowchart of IERT algorithm
1.1.1 吸光度轉換
實驗室測得的水體光譜為透射光譜,首先應轉換為吸光度光譜,轉換方法如式(1)所示。
(1)
式(1)中,I1為被測水體的透射光譜,I0為標準去離子水的透射光譜,A為吸光度光譜。
1.1.2 核主成分分析
核主成分分析方法是一種非線性的數據降維方法,它利用投影子空間技術,將信號非線性的映射到特征空間,在特征空間中對轉換后的信號運用線性主成分分析進行數據降維,再將降維后的數據投影回輸入空間,其中的非線性映射必須是可逆的。
根據KPCA算法的原理,將其用于吸光度光譜特征降維的流程如圖2。

圖2 KPCA算法流程圖Fig.2 Flowchart of KPCA algorithm
首先,針對轉換后的吸光度光譜,定義核矩陣K。
(2)
最后,計算樣本在特征空間上的投影,即為KPCA降維后的吸光度光譜。
1.1.3 數據正態化
數據正態化是為了讓數據服從標準正態分布。假設KPCA降維后的吸光度光譜為X, 它服從均值為μ、方差為σ的正態分布。則數據正態化的計算公式如式(3)所示
(3)
式(3)中,S為正態化變換后的數據,服從均值為0,方差為1的正態分布。
1.1.4 極端隨機樹
決策樹(decision tree,DT)是一種分類、回歸模型,具有較高的可解釋性和魯棒性[12]。極端隨機樹是一種基于決策樹的集成方法,它由很多棵決策樹組成,且每一棵決策樹之間沒有關聯。極端隨機樹在樹節點分割時隨機化切割點的選擇,隨機化的強度可以根據不同問題的需求,通過調節參數的方式來改變[13]。極端隨機樹使用所有的訓練樣本得到每棵決策樹,組合成為模型,當有一個新的樣本輸入的時候,讓模型中的每一棵決策樹分別進行判斷。與其他機器學習算法相比,極端隨機樹除了高準確性之外,還具有高計算效率的優勢。
極端隨機樹算法根據經典的自上而下方法構建一組“自由生長”的決策樹或回歸樹,與其他基于樹的集合方法有兩點不同: 不同于隨機森林在一個隨機子集內得到最佳分叉屬性,它選擇分叉的特征屬性時是完全隨機的; 它使用整個學習樣本來得到每棵決策樹[14]。
極端隨機樹的實現流程如圖4所示。

圖3 實驗裝置示意圖Fig.3 Schematic diagram of experimental device

圖4 極端隨機樹算法流程圖Fig.4 Flowchart of extremely randomize trees algorithm
1.2.1 決定系數
決定系數(R-Square,R2)反應了因變量的全部變異能通過回歸關系被自變量解釋的比例。決定系數越大,自變量對因變量的解釋程度越高,自變量引起的變動占總變動的百分比越高,觀察點在回歸直線附近越密集。如R2為0.9,表示回歸關系可以解釋因變量90%的變異,R2越大,表示模型的擬合效果越好。R2的計算公式如式(4)
(4)
1.2.2 均方根誤差
均方根誤差(root mean squared error,RMSE)是衡量平均誤差的方法,可以評價數據的變化程度,均方根誤差越小,說明用該預測模型描述實驗數據的準確度越高,RMSE的計算公式如式(5)
(5)
實驗室數據采集方法如圖3所示,實驗裝置主要由光源、精細光譜分析儀和采集軟件組成。
其中光源采用氘鹵二合一光源,它在一個通道里整合了連續的氘燈和鹵素燈寬波段光譜,波長范圍190~2 200 nm,預熱時間40 min。光路采用抗紫外輻照石英光纖,纖芯直徑600 μm,波長范圍185~1 100 nm。比色皿采用石英比色皿,光程10 mm,適用波長185~2 500 nm。光譜儀采用項目組自主研發的光譜分析儀,如圖5所示。

圖5 光譜儀模型圖及實物圖Fig.5 Model diagram and physical diagram of the spectrometer
該光譜儀采用了連續譜精細獲取技術,整個儀器采用了雙光路矯正,采用特征點領域多波長位置實現大量程適應性調節,其光譜范圍為185~1 100 nm,光譜采樣間隔為0.45 nm。
使用本套實驗裝置,對光源進行5 h連續測量,得到本系統穩定性為2.38%。
使用實驗室配置的多組分混合溶液來模擬復雜水體,為了避免本算法只對特定的混合溶液有效,使本算法所建立的非線性全光譜濃度預測模型具有普適性,且克服水體混濁度、色度等對光學測量有嚴重干擾的影響因子,實驗數據選取了兩組不同的多組分混合溶液,分別為200組COD,BOD5和TOC多組分混合溶液與188組NO3-N、濁度、色度多組分混合溶液。
2.2.1 COD,BOD5,TOC多組分混合溶液數據集
采用國標方法,用鄰苯二甲酸氫鉀、谷氨酸和葡萄糖配置200組不同濃度的COD,BOD5,TOC混合溶液,如表1所示。

表1 COD,BOD5,TOC多組分混合溶液數據集樣本特性表Table 1 The sample characteristics table of multi-component mixed solution dataset of COD, BOD5 and TOC
將200組樣本隨機分配,取其中40組為測試集,其余160組為訓練集。
2.2.2 NO3-N、濁度、色度多組分混合溶液數據集
實驗室采用國標方法,用硝酸鉀、硫酸肼、六次甲基四胺、六氯鉑酸鉀和六水氯化鈷配置188組不同濃度的NO3-N、濁度、色度混合溶液,如表2所示。

表2 NO3-N、濁度、色度多組分混合溶液數據集樣本特性表Table 2 The sample characteristics table of multi-component mixed solution dataset of NO3-N, turbidity and colority
將188組樣本隨機分配,取其中38組為測試集,其余150組為訓練集。
2.2.3 多組分混合溶液光譜數據采集
采用上述實驗裝置,在室溫[(25±1) ℃]條件下對配置的樣本進行透射光譜的測量,每個樣本掃描10次,取平均值作為該樣本的測量值。COD,BOD5和TOC混合溶液的透射光譜如圖6(a)所示,NO3-N、濁度、色度混合溶液的透射光譜如圖6(b)所示。

圖6 多組分混合溶液透射光譜Fig.6 Transmission spectra of multi-component mixed solutions
2.3.1 核函數的選取
在1.1.2節核主成分分析中介紹了核函數,常用的核函數包括線性核函數、多項式核函數、高斯核函數、余弦核函數、sigmoid核函數等,實驗選取上述5類作為IERT算法中的核函數,在COD,BOD5和TOC多組分混合溶液數據集上進行實驗,通過結果中的決定系數值,初步選取IERT算法中的核函數。實驗結果如表3所示,其中R2(ave)表示COD,BOD5和TOC的平均決定系數。

表3 IERT算法不同核函數的實驗結果Table 3 Experimental results of IERT algorithm using different kernel functions
由表3可知,對于COD,BOD5和TOC這3種指標,最合適的核函數不盡相同,但sigmoid核函數的平均決定系數最大,即選擇sigmoid函數作為IERT算法中的核函數,可同時滿足COD,BOD5和TOC這3種指標的需求。
2.3.2 核函數的參數選擇
上節中選擇了sigmoid函數作為IERT算法的核函數,sigmoid函數的計算公式為式(6)所示。
k(x,y)=tanh(αxty+c)
(6)

由表4可知,當sigmoid核函數在主成分數選取5和8時,均有兩個指標的決定系數最大,當主成分數n選取5時,平均決定系數最大,因此選擇sigmoid核函數的主成分數n為5。

表4 sigmoid核函數在選取主成分數為n時的實驗結果Table 4 The experimental results of the sigmoid kernel function when the number of principal components is selected as n
表5為sigmoid核函數主成分數n為5時,在不同參數c下的決定系數。
由表5可知,當sigmoid核函數在主成分數n為5、參數c為6時,平均決定系數最大,因此IERT算法選取sigmoid核函數的主成分數n為5、參數c為6。

表5 sigmoid核函數在不同參數c下的實驗結果Table 5 Experimental results of sigmoid kernel function under different parameters c
2.3.3 極端隨機樹中的參數選擇
極端隨機樹中樹的數量為m,表6為IERT算法在不同m下的實驗結果。
由表6可知,當樹的個數m取320時,平均決定系數最大,因此IERT算法選取極端隨機樹中樹的個數m為320。

表6 IERT算法在不同參數m下的實驗結果Table 6 Experimental results of IERT algorithm under different parameters m
2.4.1 COD,BOD5和TOC多組分混合溶液實驗結果
選取COD,BOD5和TOC多組分混合溶液數據集進行實驗,IERT算法的核函數為sigmoid函數,主成分數n為5,參數c為6,m為320。圖7為其測試集的實驗結果,包括三種組分的真實值與IERT算法預測值對比和IERT算法的相對誤差。由圖7可以看出,在測試集中IERT算法可準確的在多組分混合溶液中預測COD,BOD5和TOC的含量。對于測試集的40個樣本,其中38個樣本COD的相對誤差在2%以內,37個樣本TOC的相對誤差在2%以內,最大不超過7%; 38個樣本BOD5的相對誤差在10%以內。


圖7 IERT算法在COD,BOD5和TOC多組分混合溶液測試集實驗結果(a): COD真實值與預測值對比; (b): BOD5真實值與預測值對比; (c): TOC真實值與預測值對比(d): COD預測值相對誤差; (e): BOD5預測值相對誤差; (f): TOC預測值相對誤差Fig.7 Test set experimental results of IERT algorithm for COD, BOD5, TOC multi-component mixed solutions(a): Comparison of the true value and the prediction value of COD;(b): Comparison of the true value and the prediction value of BOD5(c): Comparison of the true value and the prediction value of TOC;(d): Relative error of COD prediction value; (e): Relative error of BOD5 prediction value;(f): Relative error of TOC prediction value
表7為IERT算法與4種對比算法的決定系數與均方根誤差。
由表7可以看出,對于COD,BOD5和TOC這三種指標,IERT算法可同時預測混合溶液中的三種指標,而其他4中對比算法對多組分混合溶液中BOD5這一指標的效果均較差。同時IERT算法的決定系數均大于4種比較算法,均方根誤差均小于4種比較算法。

表7 COD,BOD5和TOC多組分混合溶液中IERT算法與4種預測算法的評價參數對比Table 7 Comparison of evaluation parameters between IERT algorithm and 4 prediction algorithms for COD, BOD5, TOC multi-component mixed solutions
2.4.2 NO3-N、濁度、色度多組分混合溶液實驗結果
選取NO3-N、濁度、色度多組分混合溶液數據集進行實驗,由于篇幅原因,此處不在列出預測值與真實值的對比圖,只列出與幾種對比算法的模型評價參數對比。由表8可以看出,對于NO3-N、濁度、色度這三種指標,IERT算法也可同時預測混合溶液中的三種指標,而其他4中對比算法對多組分混合溶液中濁度這一指標的效果均較差。

表8 NO3-N、濁度、色度多組分混合溶液中IERT算法與4種預測算法的評價參數對比Table 8 Comparison of evaluation parameters between IERT algorithm and 4 prediction algorithms for NO3-N, turbidity, colority multi-component mixed solutions
2.4.3 算法計算時間實驗結果
實驗選擇COD,BOD5和TOC多組分混合溶液數據集1和NO3-N、濁度、色度多組分混合溶液數據集2在同一硬件配置的計算機上,對5種算法所需的計算時間進行比較。實驗采用的計算機硬件配置如下,處理器型號為IntelCorei7,主頻為1.99 GHz,內存為16 G。表9給出了5種算法在兩組數據集上所需的計算時間。

表9 IERT算法與4種預測算法的計算時間對比Table 9 Comparison of calculation time between IERT algorithm and 4 prediction algorithms
由表9可以看出,IERT算法有著不錯的計算速度,與傳統算法在同一量級。
提出了一種基于改進極端隨機樹的非線性全光譜定量分析算法,利用多組分混合溶液數據集進行實驗,并與傳統的算法進行比較,得出以下結論:
傳統的光譜定量分析算法大多只適用于單組分的水質分析,在多組分混合溶液上表現較差,IERT算法通過全光譜數據進行非線性分析,相比傳統的算法,具有更高的決定系數和更低的均方誤差,對多組分混合溶液的預測效果很好。
IERT算法具有挖掘數據深度特征的能力,這彌補了水質在線測量中光譜定量分析算法對海浪光譜信息利用不足的劣勢,使得光譜定量分析對數據的挖掘能力得到提升,有效的提升了光譜法水質在線監測的能力。
IERT算法在多組分混合溶液數據集中對濁度的檢測均方根誤差為0.326 4,雖為5種算法中的最優結果,但誤差仍偏高,下一步工作將繼續優化IERT算法對濁度的檢測能力,和更多種組分混合溶液的檢測能力。