劉嘉誠,胡炳樑,于 濤*,王雪霽,杜 劍,劉 宏,劉 驍,黃琦星
1. 中國科學院西安光學精密機械研究所光譜成像技術(shù)重點實驗室,陜西 西安 710119 2. 中國科學院大學,北京 100049 3. 深圳市鹽田港集團有限公司,廣東 深圳 518081
人類的行為活動會對地球生存環(huán)境構(gòu)成重大威脅。據(jù)研究,全球所有死亡人數(shù)中有23%是因為環(huán)境因素[1]。對人類生存環(huán)境的研究、保護和治理刻不容緩。水是自然環(huán)境和社會環(huán)境中極為重要且活躍的因素,對水質(zhì)信息的科學監(jiān)測是實現(xiàn)水資源優(yōu)化配置與高效利用的基礎(chǔ)。水質(zhì)監(jiān)測中常用到的指標包括化學需氧量(chemical oxygen demand,COD)、生化需氧量(biochemical oxygen demand,BOD5)、總有機碳(total organic carbon,TOC)、硝酸鹽氮(NO3-N)、濁度(turbidity)、色度(colority)等。通過這些指標的監(jiān)測,可以反映當前水體中各種污染物的濃度及變化趨勢,從而達到評價水質(zhì)狀況的目的。
常用的水質(zhì)監(jiān)測方法多為基于化學檢測的方法,包括現(xiàn)場取樣進行實驗室化學檢測和利用基于化學法的儀器進行原位監(jiān)測。現(xiàn)場取樣進行實驗室化學檢測非原位、周期長,難以實現(xiàn)在線監(jiān)測; 基于化學法的儀器由于其使用化學試劑,存在化學殘留,容易導(dǎo)致二次污染。近年來,基于光譜法的水質(zhì)監(jiān)測技術(shù)由于無需化學試劑、無二次污染、快速準確、成本低的特點,可實現(xiàn)實時在線原位測量,已廣泛應(yīng)用于在線水質(zhì)監(jiān)測領(lǐng)域。光譜法水質(zhì)監(jiān)測技術(shù)是利用水中特定物質(zhì)吸收特定波長的光,產(chǎn)生分子吸收光譜,通過建立預(yù)測模型,根據(jù)測得的吸收光譜來定性定量地分析水質(zhì)參數(shù)。
光譜法水質(zhì)監(jiān)測中常用的預(yù)測模型主要分為線性模型和非線性模型,線性模型主要包括單波長法、多波長組合法、偏最小二乘(partial least squares, PLS)等。Dogliotti等利用645 nm波段與859 nm波段的單波長半分析方法來反演水體濁度[2]; Knaeps等利用1 020 nm波段與1 071 nm波段分析水體總懸浮物[3]; Carreres-Prieto等利用多元線性回歸(multivariable linear regression,MLR)預(yù)測COD等[4]; PLS是由Wold提出的一種多元線性回歸方法,它通過不斷提取主成分來簡化數(shù)據(jù),建立回歸模型,王莉麗等將PLS用于水體化學需氧量的測量并取得了不錯的效果[5]; Wang等使用PLS和多種機器學習算法預(yù)測水體總氮含量[6]。非線性模型主要包括支持向量機(support vector machines, SVM),神經(jīng)網(wǎng)絡(luò),決策樹等。SVM是由Vapnik提出的一種非線性回歸方法,它將低維數(shù)據(jù)映射到高維空間進行回歸,再把高維空間的超平面映射回低維空間,建立回歸模型,陳穎等人將SVM的改進方法用于水體硝酸鹽濃度的預(yù)測[7]; Gu等使用隨機森林(random forest,RF)的方法預(yù)測河流水體濁度[8]; 神經(jīng)網(wǎng)絡(luò)是一種仿生的計算方法,用于大規(guī)模非線性的系統(tǒng)建模,Charulatha等將人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)用于地表水的亞硝酸鹽檢測[9]; Chen等使用近紅外光譜結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks, CNN)檢測農(nóng)業(yè)灌溉用水[10]。
單波長、多波長的組合方法都依賴于水體對特定波長的吸收特征,同一波長組合建??赡苓m應(yīng)于特定應(yīng)用場景,不具有普適性。PLS算法雖然利用了全光譜的數(shù)據(jù),但只能尋找線性特征進行回歸,無法捕捉非線性的特征。SVM算法對小樣本的學習和預(yù)測性能較好,但懲罰參數(shù)的選擇對模型精度影響較大,懲罰參數(shù)較大模型容易過擬合,懲罰參數(shù)較小模型容易欠擬合。基于神經(jīng)網(wǎng)絡(luò)的算法對樣本的數(shù)量需求較高,在小樣本情況下模型泛化能力較差,且模型訓練時間長。
為了解決上述問題,引入機器學習中極端隨機樹的思想,提出了一種基于改進極端隨機樹(improved extremely randomize trees,IERT)的非線性全光譜濁度定量分析算法。極端隨機樹(extremely randomize trees,ERT)是由Pierre Geurts等學者提出的基于決策樹的集成方法,用于解決機器學習中的監(jiān)督分類和回歸問題。該方法對高維特征數(shù)據(jù)能很好的處理,準確度高,且能夠并行計算,執(zhí)行效率高[11]。由于精細光譜數(shù)據(jù)的高光譜分辨率導(dǎo)致的數(shù)據(jù)量大、不同波段之間數(shù)據(jù)存在冗余等特點,采用核主成分分析(kernal principal component analysis,KPCA)方法進行特征降維,通過非線性函數(shù)把吸光度光譜映射到高維空間進行主成分分析,提取數(shù)據(jù)高維、非線性的特征。之后,正態(tài)化降維后的數(shù)據(jù),訓練基于IERT的非線性全光譜濃度預(yù)測模型,算法流程圖如圖1。
圖1 IERT算法流程圖Fig.1 Flowchart of IERT algorithm
1.1.1 吸光度轉(zhuǎn)換
實驗室測得的水體光譜為透射光譜,首先應(yīng)轉(zhuǎn)換為吸光度光譜,轉(zhuǎn)換方法如式(1)所示。
(1)
式(1)中,I1為被測水體的透射光譜,I0為標準去離子水的透射光譜,A為吸光度光譜。
1.1.2 核主成分分析
核主成分分析方法是一種非線性的數(shù)據(jù)降維方法,它利用投影子空間技術(shù),將信號非線性的映射到特征空間,在特征空間中對轉(zhuǎn)換后的信號運用線性主成分分析進行數(shù)據(jù)降維,再將降維后的數(shù)據(jù)投影回輸入空間,其中的非線性映射必須是可逆的。
根據(jù)KPCA算法的原理,將其用于吸光度光譜特征降維的流程如圖2。
圖2 KPCA算法流程圖Fig.2 Flowchart of KPCA algorithm
首先,針對轉(zhuǎn)換后的吸光度光譜,定義核矩陣K。
(2)
最后,計算樣本在特征空間上的投影,即為KPCA降維后的吸光度光譜。
1.1.3 數(shù)據(jù)正態(tài)化
數(shù)據(jù)正態(tài)化是為了讓數(shù)據(jù)服從標準正態(tài)分布。假設(shè)KPCA降維后的吸光度光譜為X, 它服從均值為μ、方差為σ的正態(tài)分布。則數(shù)據(jù)正態(tài)化的計算公式如式(3)所示
(3)
式(3)中,S為正態(tài)化變換后的數(shù)據(jù),服從均值為0,方差為1的正態(tài)分布。
1.1.4 極端隨機樹
決策樹(decision tree,DT)是一種分類、回歸模型,具有較高的可解釋性和魯棒性[12]。極端隨機樹是一種基于決策樹的集成方法,它由很多棵決策樹組成,且每一棵決策樹之間沒有關(guān)聯(lián)。極端隨機樹在樹節(jié)點分割時隨機化切割點的選擇,隨機化的強度可以根據(jù)不同問題的需求,通過調(diào)節(jié)參數(shù)的方式來改變[13]。極端隨機樹使用所有的訓練樣本得到每棵決策樹,組合成為模型,當有一個新的樣本輸入的時候,讓模型中的每一棵決策樹分別進行判斷。與其他機器學習算法相比,極端隨機樹除了高準確性之外,還具有高計算效率的優(yōu)勢。
極端隨機樹算法根據(jù)經(jīng)典的自上而下方法構(gòu)建一組“自由生長”的決策樹或回歸樹,與其他基于樹的集合方法有兩點不同: 不同于隨機森林在一個隨機子集內(nèi)得到最佳分叉屬性,它選擇分叉的特征屬性時是完全隨機的; 它使用整個學習樣本來得到每棵決策樹[14]。
極端隨機樹的實現(xiàn)流程如圖4所示。
圖3 實驗裝置示意圖Fig.3 Schematic diagram of experimental device
圖4 極端隨機樹算法流程圖Fig.4 Flowchart of extremely randomize trees algorithm
1.2.1 決定系數(shù)
決定系數(shù)(R-Square,R2)反應(yīng)了因變量的全部變異能通過回歸關(guān)系被自變量解釋的比例。決定系數(shù)越大,自變量對因變量的解釋程度越高,自變量引起的變動占總變動的百分比越高,觀察點在回歸直線附近越密集。如R2為0.9,表示回歸關(guān)系可以解釋因變量90%的變異,R2越大,表示模型的擬合效果越好。R2的計算公式如式(4)
(4)
1.2.2 均方根誤差
均方根誤差(root mean squared error,RMSE)是衡量平均誤差的方法,可以評價數(shù)據(jù)的變化程度,均方根誤差越小,說明用該預(yù)測模型描述實驗數(shù)據(jù)的準確度越高,RMSE的計算公式如式(5)
(5)
實驗室數(shù)據(jù)采集方法如圖3所示,實驗裝置主要由光源、精細光譜分析儀和采集軟件組成。
其中光源采用氘鹵二合一光源,它在一個通道里整合了連續(xù)的氘燈和鹵素燈寬波段光譜,波長范圍190~2 200 nm,預(yù)熱時間40 min。光路采用抗紫外輻照石英光纖,纖芯直徑600 μm,波長范圍185~1 100 nm。比色皿采用石英比色皿,光程10 mm,適用波長185~2 500 nm。光譜儀采用項目組自主研發(fā)的光譜分析儀,如圖5所示。
圖5 光譜儀模型圖及實物圖Fig.5 Model diagram and physical diagram of the spectrometer
該光譜儀采用了連續(xù)譜精細獲取技術(shù),整個儀器采用了雙光路矯正,采用特征點領(lǐng)域多波長位置實現(xiàn)大量程適應(yīng)性調(diào)節(jié),其光譜范圍為185~1 100 nm,光譜采樣間隔為0.45 nm。
使用本套實驗裝置,對光源進行5 h連續(xù)測量,得到本系統(tǒng)穩(wěn)定性為2.38%。
使用實驗室配置的多組分混合溶液來模擬復(fù)雜水體,為了避免本算法只對特定的混合溶液有效,使本算法所建立的非線性全光譜濃度預(yù)測模型具有普適性,且克服水體混濁度、色度等對光學測量有嚴重干擾的影響因子,實驗數(shù)據(jù)選取了兩組不同的多組分混合溶液,分別為200組COD,BOD5和TOC多組分混合溶液與188組NO3-N、濁度、色度多組分混合溶液。
2.2.1 COD,BOD5,TOC多組分混合溶液數(shù)據(jù)集
采用國標方法,用鄰苯二甲酸氫鉀、谷氨酸和葡萄糖配置200組不同濃度的COD,BOD5,TOC混合溶液,如表1所示。
表1 COD,BOD5,TOC多組分混合溶液數(shù)據(jù)集樣本特性表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、濁度、色度多組分混合溶液數(shù)據(jù)集
實驗室采用國標方法,用硝酸鉀、硫酸肼、六次甲基四胺、六氯鉑酸鉀和六水氯化鈷配置188組不同濃度的NO3-N、濁度、色度混合溶液,如表2所示。
表2 NO3-N、濁度、色度多組分混合溶液數(shù)據(jù)集樣本特性表Table 2 The sample characteristics table of multi-component mixed solution dataset of NO3-N, turbidity and colority
將188組樣本隨機分配,取其中38組為測試集,其余150組為訓練集。
2.2.3 多組分混合溶液光譜數(shù)據(jù)采集
采用上述實驗裝置,在室溫[(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 核函數(shù)的選取
在1.1.2節(jié)核主成分分析中介紹了核函數(shù),常用的核函數(shù)包括線性核函數(shù)、多項式核函數(shù)、高斯核函數(shù)、余弦核函數(shù)、sigmoid核函數(shù)等,實驗選取上述5類作為IERT算法中的核函數(shù),在COD,BOD5和TOC多組分混合溶液數(shù)據(jù)集上進行實驗,通過結(jié)果中的決定系數(shù)值,初步選取IERT算法中的核函數(shù)。實驗結(jié)果如表3所示,其中R2(ave)表示COD,BOD5和TOC的平均決定系數(shù)。
表3 IERT算法不同核函數(shù)的實驗結(jié)果Table 3 Experimental results of IERT algorithm using different kernel functions
由表3可知,對于COD,BOD5和TOC這3種指標,最合適的核函數(shù)不盡相同,但sigmoid核函數(shù)的平均決定系數(shù)最大,即選擇sigmoid函數(shù)作為IERT算法中的核函數(shù),可同時滿足COD,BOD5和TOC這3種指標的需求。
2.3.2 核函數(shù)的參數(shù)選擇
上節(jié)中選擇了sigmoid函數(shù)作為IERT算法的核函數(shù),sigmoid函數(shù)的計算公式為式(6)所示。
k(x,y)=tanh(αxty+c)
(6)
由表4可知,當sigmoid核函數(shù)在主成分數(shù)選取5和8時,均有兩個指標的決定系數(shù)最大,當主成分數(shù)n選取5時,平均決定系數(shù)最大,因此選擇sigmoid核函數(shù)的主成分數(shù)n為5。
表4 sigmoid核函數(shù)在選取主成分數(shù)為n時的實驗結(jié)果Table 4 The experimental results of the sigmoid kernel function when the number of principal components is selected as n
表5為sigmoid核函數(shù)主成分數(shù)n為5時,在不同參數(shù)c下的決定系數(shù)。
由表5可知,當sigmoid核函數(shù)在主成分數(shù)n為5、參數(shù)c為6時,平均決定系數(shù)最大,因此IERT算法選取sigmoid核函數(shù)的主成分數(shù)n為5、參數(shù)c為6。
表5 sigmoid核函數(shù)在不同參數(shù)c下的實驗結(jié)果Table 5 Experimental results of sigmoid kernel function under different parameters c
2.3.3 極端隨機樹中的參數(shù)選擇
極端隨機樹中樹的數(shù)量為m,表6為IERT算法在不同m下的實驗結(jié)果。
由表6可知,當樹的個數(shù)m取320時,平均決定系數(shù)最大,因此IERT算法選取極端隨機樹中樹的個數(shù)m為320。
表6 IERT算法在不同參數(shù)m下的實驗結(jié)果Table 6 Experimental results of IERT algorithm under different parameters m
2.4.1 COD,BOD5和TOC多組分混合溶液實驗結(jié)果
選取COD,BOD5和TOC多組分混合溶液數(shù)據(jù)集進行實驗,IERT算法的核函數(shù)為sigmoid函數(shù),主成分數(shù)n為5,參數(shù)c為6,m為320。圖7為其測試集的實驗結(jié)果,包括三種組分的真實值與IERT算法預(yù)測值對比和IERT算法的相對誤差。由圖7可以看出,在測試集中IERT算法可準確的在多組分混合溶液中預(yù)測COD,BOD5和TOC的含量。對于測試集的40個樣本,其中38個樣本COD的相對誤差在2%以內(nèi),37個樣本TOC的相對誤差在2%以內(nèi),最大不超過7%; 38個樣本BOD5的相對誤差在10%以內(nèi)。
圖7 IERT算法在COD,BOD5和TOC多組分混合溶液測試集實驗結(jié)果(a): COD真實值與預(yù)測值對比; (b): BOD5真實值與預(yù)測值對比; (c): TOC真實值與預(yù)測值對比(d): COD預(yù)測值相對誤差; (e): BOD5預(yù)測值相對誤差; (f): TOC預(yù)測值相對誤差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種對比算法的決定系數(shù)與均方根誤差。
由表7可以看出,對于COD,BOD5和TOC這三種指標,IERT算法可同時預(yù)測混合溶液中的三種指標,而其他4中對比算法對多組分混合溶液中BOD5這一指標的效果均較差。同時IERT算法的決定系數(shù)均大于4種比較算法,均方根誤差均小于4種比較算法。
表7 COD,BOD5和TOC多組分混合溶液中IERT算法與4種預(yù)測算法的評價參數(shù)對比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、濁度、色度多組分混合溶液實驗結(jié)果
選取NO3-N、濁度、色度多組分混合溶液數(shù)據(jù)集進行實驗,由于篇幅原因,此處不在列出預(yù)測值與真實值的對比圖,只列出與幾種對比算法的模型評價參數(shù)對比。由表8可以看出,對于NO3-N、濁度、色度這三種指標,IERT算法也可同時預(yù)測混合溶液中的三種指標,而其他4中對比算法對多組分混合溶液中濁度這一指標的效果均較差。
表8 NO3-N、濁度、色度多組分混合溶液中IERT算法與4種預(yù)測算法的評價參數(shù)對比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 算法計算時間實驗結(jié)果
實驗選擇COD,BOD5和TOC多組分混合溶液數(shù)據(jù)集1和NO3-N、濁度、色度多組分混合溶液數(shù)據(jù)集2在同一硬件配置的計算機上,對5種算法所需的計算時間進行比較。實驗采用的計算機硬件配置如下,處理器型號為IntelCorei7,主頻為1.99 GHz,內(nèi)存為16 G。表9給出了5種算法在兩組數(shù)據(jù)集上所需的計算時間。
表9 IERT算法與4種預(yù)測算法的計算時間對比Table 9 Comparison of calculation time between IERT algorithm and 4 prediction algorithms
由表9可以看出,IERT算法有著不錯的計算速度,與傳統(tǒng)算法在同一量級。
提出了一種基于改進極端隨機樹的非線性全光譜定量分析算法,利用多組分混合溶液數(shù)據(jù)集進行實驗,并與傳統(tǒng)的算法進行比較,得出以下結(jié)論:
傳統(tǒng)的光譜定量分析算法大多只適用于單組分的水質(zhì)分析,在多組分混合溶液上表現(xiàn)較差,IERT算法通過全光譜數(shù)據(jù)進行非線性分析,相比傳統(tǒng)的算法,具有更高的決定系數(shù)和更低的均方誤差,對多組分混合溶液的預(yù)測效果很好。
IERT算法具有挖掘數(shù)據(jù)深度特征的能力,這彌補了水質(zhì)在線測量中光譜定量分析算法對海浪光譜信息利用不足的劣勢,使得光譜定量分析對數(shù)據(jù)的挖掘能力得到提升,有效的提升了光譜法水質(zhì)在線監(jiān)測的能力。
IERT算法在多組分混合溶液數(shù)據(jù)集中對濁度的檢測均方根誤差為0.326 4,雖為5種算法中的最優(yōu)結(jié)果,但誤差仍偏高,下一步工作將繼續(xù)優(yōu)化IERT算法對濁度的檢測能力,和更多種組分混合溶液的檢測能力。