陳興國,徐修穎,陳康揚(yáng),楊 光
1.南京郵電大學(xué) 江蘇省大數(shù)據(jù)安全與智能處理重點(diǎn)實(shí)驗(yàn)室,南京210023
2.南京大學(xué) 計(jì)算機(jī)軟件新技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,南京210023
隨著我國工農(nóng)業(yè)的迅速發(fā)展,人民的生活水平得以提高,對水質(zhì)的要求也越來越高。但受水土流失、水源污染等因素的影響,地表水成分越來越復(fù)雜,處理難度也隨之增大。水質(zhì)評價(jià)是將水質(zhì)的監(jiān)測結(jié)果與水質(zhì)標(biāo)準(zhǔn)進(jìn)行比較,從而判定水質(zhì)狀況,是水環(huán)境安全管理的基礎(chǔ)工作[1]。現(xiàn)階段,我國主要依據(jù)《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》(GB3838—2002)和《地下水質(zhì)量標(biāo)準(zhǔn)》(GB14848—2017)進(jìn)行水質(zhì)分類評價(jià)工作。
有效預(yù)測水質(zhì)水平是實(shí)現(xiàn)水源保護(hù)的重要手段。最初的水質(zhì)分類工作是手動完成的,這種方法費(fèi)時(shí)費(fèi)力,且不利于管理部門進(jìn)行實(shí)時(shí)處理。且傳統(tǒng)的單因子評價(jià)法過于保守,不能體現(xiàn)真實(shí)的水質(zhì)水平,也無法解決各項(xiàng)水質(zhì)參數(shù)(例如PH 值、溫度等)與水質(zhì)水平之間復(fù)雜的、非線性的因果關(guān)系。除了單因子評價(jià)法,也有一些學(xué)者對水質(zhì)指數(shù)法[2-3]、污染指數(shù)法[4]、模糊綜合指數(shù)法[5]等方法進(jìn)行了研究,但是尚未形成統(tǒng)一的評價(jià)模式,無法應(yīng)用于實(shí)際工程中。
機(jī)器學(xué)習(xí)是人工智能的一個(gè)分支,可以實(shí)現(xiàn)自動分類。通過機(jī)器學(xué)習(xí)方法,可以模擬環(huán)境變量和水質(zhì)水平之間的關(guān)系。在此之前,已有不少學(xué)者將機(jī)器學(xué)習(xí)方法應(yīng)用到水質(zhì)分類之中。Walley 等人[6]對樸素貝葉斯、多層感知機(jī)以及回歸樹三種機(jī)器學(xué)習(xí)模型進(jìn)行比較,實(shí)驗(yàn)結(jié)論是樸素貝葉斯與多層感知機(jī)模型均能達(dá)到較好的分類效果,回歸樹模型由于在某一類別表現(xiàn)極差導(dǎo)致其整體性能甚至低于傳統(tǒng)分類方法。2010年,Yan等人[7]首次將自適應(yīng)神經(jīng)模糊推理系統(tǒng)(adaptive network-based fuzzy inference system,ANIFS)應(yīng)用于水質(zhì)分類,取得了高達(dá)89.59%的分類精確率,并證明了該方法優(yōu)于人工神經(jīng)網(wǎng)絡(luò)(artificial neural network,ANN)模型。Modaresi 和Araghinejad[8]對德國黑蘭平原主要含水層的水質(zhì)數(shù)據(jù)進(jìn)行研究,并指出在支持向量機(jī)(support vector machine,SVM)、概率神經(jīng)網(wǎng)絡(luò)(probabilistic neural network,PNN)和K-鄰近算法(K-nearest neighbor,KNN)中SVM 的性能最佳。Park 等人[9]也在評估水體生態(tài)狀態(tài)的實(shí)驗(yàn)中證實(shí),SVM 比ANN 具有更高的預(yù)測精度。2017年,Avila 等人[10]比較分析了一系列水質(zhì)預(yù)測模型,包括簡單模型、多元線性回歸、動態(tài)回歸、回歸樹、馬爾可夫鏈、決策樹、隨機(jī)森林、多項(xiàng)邏輯回歸、判別分析和貝葉斯網(wǎng)絡(luò)模型。
作為傳統(tǒng)機(jī)器學(xué)習(xí)方法的改進(jìn),集成學(xué)習(xí)使用多種學(xué)習(xí)算法來獲得比單一學(xué)習(xí)算法更好的預(yù)測性能[11-13]。gcForest算法是一種決策樹集成算法[14],與深度神經(jīng)網(wǎng)絡(luò)相比,它具有更少的超參數(shù),并且在任何規(guī)模的數(shù)據(jù)上都表現(xiàn)良好。gcForest 分為兩部分:多粒度掃描和級聯(lián)森林結(jié)構(gòu),前一部分適用于處理高維水質(zhì)變量。本文只使用級聯(lián)森林部分算法,命名為深度級聯(lián)森林(deep cascade forest,DCF)。若考慮將弱學(xué)習(xí)器的最佳組合模塊作為全局優(yōu)化任務(wù),也可以采用基于演化策略的集成學(xué)習(xí)方法。為了獲得更好的集成性能,本文提出采用基于協(xié)方差自適應(yīng)調(diào)整進(jìn)化策略算法(covariance matrix adaptation evolution strategy,CMAES)的集成學(xué)習(xí)方法,構(gòu)建地表水質(zhì)分類模型。CMAES 是一種求解連續(xù)無約束優(yōu)化問題的進(jìn)化算法,核心思想是通過對正態(tài)分布協(xié)方差矩陣的調(diào)整,使種群收斂到全局最優(yōu)解。CMAES 算法具有收斂速度快、保序、魯棒性強(qiáng)等優(yōu)點(diǎn)[15-16],且不易早熟,對種群大小也不過分依賴。
本文的主要貢獻(xiàn)包括:(1)對集成學(xué)習(xí)方法進(jìn)行簡要概述;(2)提出了基于CMAES 集成學(xué)習(xí)方法的水質(zhì)分類模型。
集成學(xué)習(xí)是機(jī)器學(xué)習(xí)方法中的一種,主要思想是訓(xùn)練出多個(gè)學(xué)習(xí)器以解決同一個(gè)問題。一般來說,集成學(xué)習(xí)分兩個(gè)步驟:首先,生成若干個(gè)體學(xué)習(xí)器;然后,使用某種策略將這些個(gè)體學(xué)習(xí)器組合起來。構(gòu)建示例如圖1 所示。
Fig.1 Ensemble learning method圖1 集成學(xué)習(xí)思想
集成學(xué)習(xí)思想早在文明社會開始時(shí)就已經(jīng)存在了,人們通過組合各種意見來作出最終抉擇。1979年,Dasarathy 和Sheela 首次提出集成學(xué)習(xí)的概念[17]。20世紀(jì)90年代,Hansen 和Salamon提出一種基 于神經(jīng)網(wǎng)絡(luò)的集成模型,他們發(fā)現(xiàn)通過一組分類器組合進(jìn)行預(yù)測通常比最佳單一分類器的預(yù)測結(jié)果更準(zhǔn)確[18]。Schapire 等人證明了弱學(xué)習(xí)器可以被提升為強(qiáng)學(xué)習(xí)器,并提出Boosting 方法[19]。自此,學(xué)者們掀起了集成學(xué)習(xí)的研究熱潮,越來越多的集成學(xué)習(xí)算法被提出,比如混合專家模型[20]、堆疊泛化模型[21]、Adaboost 算法[19]、Bagging 算法[22]等。近年來,更是出現(xiàn)了許多新穎的思想和模型。隨機(jī)森林算法已被廣泛應(yīng)用于各種任務(wù),是最成功的集合方法之一。完全隨機(jī)森林算法也有很大發(fā)展,例如iForest算法[23]適用于處理異常檢測問題,sencForest 算法[24]適用于處理流數(shù)據(jù)中出現(xiàn)的新類。gcForest 算法是由周志華教授提出的[14]。作為一種高度集成的方法,gcForest可以由許多隨機(jī)森林建造。在每一層級聯(lián)中,還可以添加其他傳統(tǒng)的機(jī)器學(xué)習(xí)模型和集成模型來提高整體性能。還有許多工作嘗試將隨機(jī)森林算法與神經(jīng)網(wǎng)絡(luò)連接起來。Richmond 等人將級聯(lián)隨機(jī)森林轉(zhuǎn)換為卷積神經(jīng)網(wǎng)絡(luò)[25],Welbl 利用隨機(jī)森林輔助神經(jīng)網(wǎng)絡(luò)初始化[26]。
雖然不斷有研究者提出新的集成學(xué)習(xí)算法,但是這些算法大都由幾種經(jīng)典算法改編得到,比如Bagging、Boosting 等。這兩個(gè)經(jīng)典算法效果良好且應(yīng)用廣泛。
Bagging[22]算法又稱套袋法,是個(gè)體學(xué)習(xí)器之間不存在強(qiáng)依賴關(guān)系,可同時(shí)生成的并行化方法。Bagging 算法基于自主采樣法,首先采樣出指定個(gè)數(shù)的采樣集,然后基于每個(gè)采樣集訓(xùn)練出一個(gè)基學(xué)習(xí)器,最后將這些基學(xué)習(xí)器進(jìn)行結(jié)合。對分類任務(wù)進(jìn)行結(jié)合時(shí),通常采用簡單投票法,對回歸任務(wù)通常采用簡單平均法。
隨機(jī)森林(random forest,RF)算法[27]是Bagging算法的延伸,是最先進(jìn)的集成學(xué)習(xí)方法之一。RF 算法與Bagging 算法的主要區(qū)別在于特征的隨機(jī)選擇。隨機(jī)森林算法適用于處理密度估計(jì)任務(wù)和異常檢測任務(wù)[28-30]。由于隨機(jī)樹集成可以很好地用于異常檢測,Liu 等人在此基礎(chǔ)上提出iForest 算法[23]。該算法對于每個(gè)隨機(jī)樹,都可以通過從根節(jié)點(diǎn)到包含數(shù)據(jù)點(diǎn)的葉節(jié)點(diǎn)的路徑長度來測量隔離數(shù)據(jù)點(diǎn)所需的分區(qū)數(shù),并對每個(gè)隨機(jī)樹設(shè)置樹的深度限制,減少了不必要的計(jì)算。2010年,Liu 等人又提出iForest 算法的變體SCiForest[31],該算法具有分裂選擇標(biāo)準(zhǔn),在隨機(jī)樹構(gòu)造中通過分裂從組合中得到的超平面來獲得更平滑的決策邊界,并降低陷入次優(yōu)解的風(fēng)險(xiǎn)。
Boosting[19]算法又稱提升法,是個(gè)體學(xué)習(xí)器之間存在強(qiáng)依賴關(guān)系,必須串行生成的序列化方法。其主要思想是將弱分類器提升為強(qiáng)學(xué)習(xí)器。首先從初始訓(xùn)練集訓(xùn)練出一個(gè)基學(xué)習(xí)器,接著根據(jù)基學(xué)習(xí)器的表現(xiàn)對訓(xùn)練樣本分布進(jìn)行調(diào)整,然后基于調(diào)整后的樣本分布訓(xùn)練下一個(gè)基學(xué)習(xí)器,如此重復(fù)進(jìn)行,直到基學(xué)習(xí)器數(shù)目達(dá)到事先指定的值,最后將這些基學(xué)習(xí)器加權(quán)結(jié)合。
Boosting 族算法最著名的代表是AdaBoost[19]算法,該算法改變樣本的概率分布,將關(guān)注點(diǎn)放在被錯(cuò)分的樣本上,采用加權(quán)投票法改變?nèi)醴诸惼鞯臋?quán)重。GentleBoost 是AdaBoost 算法的一種改進(jìn)算法,最早由Friedman 等人提出[32]。該算法的核心是構(gòu)建偽響應(yīng),使用基學(xué)習(xí)器擬合偽殘差并計(jì)算最佳搜索步長,且該算法比AdaBoost 算法有更快的收斂速度且具有更高的穩(wěn)定性。LogitBoost 算法也是由Friedman 等人提出[32],該算法采用對數(shù)回歸模型為基學(xué)習(xí)器,學(xué)習(xí)到的是實(shí)數(shù)值并通過閾值實(shí)現(xiàn)分類。XGBoost[33]是一種疊加樹模型算法,該算法支持使用自定義的損失函數(shù),且利用CPU 的多線程進(jìn)行并行運(yùn)算,運(yùn)行速度快且精度較高。
本文所采用的CMAES 方法是一種基于Boosting集成算法的全局參數(shù)優(yōu)化方法。
進(jìn)化策略(evolution strategy,ES)[34]是一種模仿生物進(jìn)化的求解參數(shù)優(yōu)化問題的方法,該算法借助正態(tài)分布實(shí)現(xiàn)個(gè)體突變。根據(jù)選擇方法不同,進(jìn)化策略可分為(μ+λ)-ES 和(μ,λ)-ES 兩種。(μ+λ)-ES采用“1/5 成功法則”調(diào)整變異程度,但該方法只能調(diào)整一個(gè)通用步長;(μ,λ)-ES 基于“變異步長控制”,該方法具有較大隨機(jī)波動性且易產(chǎn)生無效突變。針對ES 算法的局限與不足,Ostermeier 等人[35]提出累計(jì)步長自適應(yīng)控制策略(cumulative step length adaptation,CSA),該策略提高了步長控制的效率。在此基礎(chǔ)上,Hansen 等人[35-37]提出一種基于協(xié)方差自適應(yīng)調(diào)整的演化策略算法CMAES,該算法使用協(xié)方差矩陣描述突變尺度和方向,通過“采樣-選擇重組-更新-再采樣”的循環(huán)來收斂到最優(yōu)解。CMAES 采用擇優(yōu)截?cái)噙x擇策略,算法效率較高且能在一定程度上避免種群過早收斂,在中等規(guī)模的復(fù)雜優(yōu)化問題上具有很好的效果,是當(dāng)前最優(yōu)秀的進(jìn)化策略算法之一。
在集成學(xué)習(xí)中,需要使用組合策略將多個(gè)基學(xué)習(xí)器組合成一個(gè)強(qiáng)大的學(xué)習(xí)器。當(dāng)基學(xué)習(xí)器在性能上有很大差異時(shí),往往采用加權(quán)平均法進(jìn)行組合。CMAES 集成學(xué)習(xí)方法可以學(xué)習(xí)到基學(xué)習(xí)器的組合權(quán)重。本文的研究重點(diǎn)就在于給定一些基學(xué)習(xí)器的基礎(chǔ)上,如何采用CMAES 集成學(xué)習(xí)方法對這些基學(xué)習(xí)器進(jìn)行加權(quán)。
本文的目標(biāo)是得到擁有最高F1 值的參數(shù)組合,優(yōu)化目標(biāo)如式(1)所示:
CMAES 使用正態(tài)分布N(m,σC)在n維空間進(jìn)行采樣,其中m是正態(tài)分布的均值,σ是搜索步長,C是正態(tài)分布的協(xié)方差矩陣。在CMAES 算法的采樣操作中,每一次迭代,依據(jù)正態(tài)分布產(chǎn)生λ個(gè)解,采樣公式如式(2)所示:
其中,~表示服從相同分布;g是迭代次數(shù);B是正交矩陣;B的列是矩陣C的單位特征向量;D是對角矩陣,其對角元素是矩陣C的特征值的平方根;I是單位矩陣。
接著對新產(chǎn)生的解計(jì)算對應(yīng)的目標(biāo)值函數(shù)f(xi),并對其進(jìn)行排序,排序如式(3)所示:
其中,下標(biāo)i:λ表示在λ個(gè)樣本中排第i位。采用截?cái)噙x擇,取前個(gè)解用于參數(shù)更新。
均值即所選擇的μ個(gè)解的加權(quán)最大似然估計(jì),計(jì)算方法如式(4)所示:
CMAES 算法默認(rèn)使用累積式步長調(diào)整(CSA)方法,其原理是相繼搜索方向應(yīng)是共軛的。如果相繼搜索方向之間正相關(guān),則表明步長太小,應(yīng)該增大;如果相繼搜索方向之間負(fù)相關(guān),則表明步長太大,應(yīng)該減小。
先對步長進(jìn)化路徑Pσ更新,更新方法見式(5):
步長的更新方法如式(6)所示:
其中,dσ是阻尼系數(shù),近似為1;E||N(0,I)||是正態(tài)分布隨機(jī)向量范數(shù)期望長度。
正態(tài)分布協(xié)方差矩陣C的更新結(jié)合了Rank-μupdate 和Rank-1-update。先更新協(xié)方差矩陣進(jìn)化路徑Pc,如式(7)所示:
Rank-μ-update 使用μ個(gè)樣本相對于均值m的偏差,更新方法如式(8)所示:
Rank-1-update 使用相鄰兩代均值的偏差,并使用參數(shù)P對均值偏差進(jìn)行記憶,更新方法如式(9)所示:
正態(tài)分布協(xié)方差矩陣對偏差進(jìn)行建模,最終更新方法如式(10)所示:
CMAES 算法的核心思想是通過對協(xié)方差矩陣C的調(diào)整來處理變量之間的依賴關(guān)系。若未滿足停止條件,則不斷重復(fù)進(jìn)行采樣操作和高斯分布更新;反之則停止循環(huán),輸出算法的最優(yōu)值及最優(yōu)參數(shù)組合。參數(shù)學(xué)習(xí)的過程如算法1 所示。
算法1基于CMAES 的集成學(xué)習(xí)方法
中國國家環(huán)境監(jiān)測中心(CNEMC)設(shè)有148個(gè)自動水質(zhì)監(jiān)測站,監(jiān)測各種水質(zhì)參數(shù)。這些監(jiān)測站幾乎覆蓋了包括松花江、遼河、海河、淮河、黃河、長江、珠江、太湖、巢湖、滇池、錢塘江、閩江在內(nèi)的中國所有主要河流流域。本次實(shí)驗(yàn)中,使用從2012年到2018年,十大流域每周監(jiān)測到的真實(shí)水質(zhì)特征數(shù)據(jù)進(jìn)行研究,共有33 612 條樣本。實(shí)驗(yàn)采用4個(gè)特征構(gòu)建水質(zhì)分類模型,分別是:酸堿度(pH 值)、溶解氧(DO)、高錳酸鹽指數(shù)(CODMn)和氨氮(NH3H)。4 項(xiàng)特征數(shù)值分布如表1 所示。
Table 1 Feature distribution表1 特征分布
為了使所有特征對模型參數(shù)的調(diào)整產(chǎn)生相同程度的影響,本文對特征數(shù)據(jù)進(jìn)行Z-Score 標(biāo)準(zhǔn)化操作。Z-Score標(biāo)準(zhǔn)化操作的定義如式(11)所示:
其中,x是特征值;μ是數(shù)據(jù)平均值;σ是數(shù)據(jù)標(biāo)準(zhǔn)差。通過標(biāo)準(zhǔn)化處理后,各項(xiàng)特征數(shù)據(jù)的平均值均為0,標(biāo)準(zhǔn)差均為1。處理后的數(shù)據(jù)分布如圖2 所示。
在機(jī)器學(xué)習(xí)建模過程中,通常把數(shù)據(jù)集劃分為訓(xùn)練集和測試集。由于水質(zhì)數(shù)據(jù)比一般數(shù)據(jù)更為復(fù)雜,本文將原始數(shù)據(jù)集的20%作為測試集,將剩余數(shù)據(jù)分為訓(xùn)練集和驗(yàn)證集。訓(xùn)練集用于擬合模型,驗(yàn)證集提供對訓(xùn)練集上擬合模型的無偏估計(jì),同時(shí)調(diào)整模型的超參數(shù),并使用測試集評估模型。
本文使用5 倍交叉驗(yàn)證來評估模型性能,步驟如下:
(1)將數(shù)據(jù)集隨機(jī)打亂;
(2)將數(shù)據(jù)集拆分為5 組數(shù)據(jù),每組數(shù)據(jù)的數(shù)據(jù)分布與原數(shù)據(jù)集保持一致;
Fig.2 Standardized processed data distribution圖2 標(biāo)準(zhǔn)化處理后的數(shù)據(jù)分布
(3)對于每組數(shù)據(jù),將該組數(shù)據(jù)作為驗(yàn)證集,剩余組數(shù)據(jù)作為訓(xùn)練集,在訓(xùn)練集上擬合模型并在驗(yàn)證集上進(jìn)行評估,保留評估分?jǐn)?shù)并丟棄模型;
(4)總結(jié)模型的技能。
《地表水環(huán)境質(zhì)量標(biāo)準(zhǔn)》(GB3838—2002)根據(jù)地表水保護(hù)目標(biāo)和水域環(huán)境功能,將水質(zhì)分為5個(gè)等級,從好到壞依次為I、II、III、IV、V。每個(gè)水質(zhì)類別對應(yīng)的功能如下:
I:主要適用于源頭水、國家自然保護(hù)區(qū)。
II:主要適用于集中式生活飲用水地表水源地一級保護(hù)區(qū)、珍稀水生生物棲息地、魚蝦類產(chǎn)卵場、仔稚幼魚的索餌場等。
III:主要適用于集中式生活飲用水地表水源地二級保護(hù)區(qū)、魚蝦類越冬場、洄游通道、水產(chǎn)養(yǎng)殖區(qū)等漁業(yè)水域及游泳區(qū)。
IV:主要適用于一般工業(yè)用水區(qū)及人體非直接接觸的娛樂用水區(qū)。
V:主要適用于農(nóng)業(yè)用水區(qū)及一般景觀要求水域。
而劣Ⅴ類水,則是指污染程度已經(jīng)超過Ⅴ類的水。
經(jīng)統(tǒng)計(jì),實(shí)驗(yàn)數(shù)據(jù)集中6個(gè)級別的樣本分布非常不平衡,由于準(zhǔn)確率(Acc)對數(shù)據(jù)分布的變化十分敏感,因此不適合作為評價(jià)模型好壞的唯一指標(biāo)。Acc的計(jì)算方式如式(12)所示:
其中,T是分類正確的樣本個(gè)數(shù);N為樣本總個(gè)數(shù);K是類的個(gè)數(shù);Acci指的是類i中各種分類結(jié)果的準(zhǔn)確率值。
不同類別分布比例如圖3 所示。
為了對模型進(jìn)行較為全面的評估,本文引入F1值作為模型評估標(biāo)準(zhǔn)。F1 值是以每個(gè)類別為基礎(chǔ)進(jìn)行定義的,包括精確率(precision)和召回率(recall)兩個(gè)概念。精確率是指預(yù)測結(jié)果屬于某一類的個(gè)體,實(shí)際屬于該類的比例;召回率是指被正確預(yù)測為某個(gè)類別的個(gè)體數(shù)量與數(shù)據(jù)集中該類別個(gè)體總量的比例。F1 值將精確率與召回率結(jié)合起來作為分類有效性的度量,且二者對數(shù)據(jù)分布的變化均不敏感。具體計(jì)算方法如式(13)、式(14)、式(15)所示:
Fig.3 Distribution ratio of different categories圖3 不同類別分布比例
其中,TP(true positive)指的是正確分類為本類的樣本個(gè)數(shù);FP(false positive)指的是錯(cuò)將其他類預(yù)測為本類的樣本個(gè)數(shù);FN(false negative)指的是錯(cuò)將本類預(yù)測為其他類的樣本個(gè)數(shù)。
為了將F1 值應(yīng)用于多分類問題,本文使用Fβ值作為評估標(biāo)準(zhǔn)。Fβ值的定義如式(16)所示:
其中,K指的是類的個(gè)數(shù);βi指的是類i中的樣本數(shù)量占樣本總數(shù)量的比例;F1i指的是類i中各種分類結(jié)果的F1 值。
本文首先選取邏輯回歸(logistic regression,LR)、線性判別分析(linear discriminant analysis,LDA)、支持向量機(jī)(SVM)、決策樹(decision tree,DT)、完全隨機(jī)樹(completely-random tree,CRT)、樸素貝葉斯(naive Bayes,NB)、K-鄰近算法(KNN)、隨機(jī)森林(RF)、完全隨機(jī)樹林(completely-random tree forest,CRTF)、深度級聯(lián)森林(DCF)10種模型訓(xùn)練出基學(xué)習(xí)器,然后采用CMAES集成學(xué)習(xí)方法將10種算法集成。所有模型參數(shù)與單獨(dú)使用時(shí)保持相同。CMAES集成學(xué)習(xí)方法對10 種基學(xué)習(xí)器的集成權(quán)重如表2 所示。
Table 2 Ensemble weights of CMAES ensemble learning method on 10 basic learners表2 CMAES集成學(xué)習(xí)方法對10種基學(xué)習(xí)器的集成權(quán)重
Table 3 Acc of train set表3 訓(xùn)練集上的準(zhǔn)確率 %
各個(gè)模型在每個(gè)類的Acc和F1 值的實(shí)驗(yàn)結(jié)果如表3~表8 所示,結(jié)果皆用百分比表示。
各個(gè)模型在訓(xùn)練集、驗(yàn)證集和測試集的綜合表現(xiàn)如表9 所示。
結(jié)果顯示:包括隨機(jī)森林、完全隨機(jī)森林、深度級聯(lián)森林和CMAES 集成學(xué)習(xí)方法在內(nèi)的集成模型在預(yù)測準(zhǔn)確率Acc和Fβ值方面表現(xiàn)更好。高度集成模型(深度級聯(lián)森林和CMAES 集成學(xué)習(xí)方法)的表現(xiàn)優(yōu)于其他模型。
Table 4 F1 of train set表4 訓(xùn)練集上的F1 值 %
Table 5 Acc of validation set表5 驗(yàn)證集上的準(zhǔn)確率 %
Table 6 F1 of validation set表6 驗(yàn)證集上的F1 值 %
Table 7 Acc of test set表7 測試集上的準(zhǔn)確率 %
Table 8 F1 of test set表8 測試集上的F1 值 %
Table 9 Comprehensive performance表9 綜合表現(xiàn) %
具體來說:在傳統(tǒng)機(jī)器學(xué)習(xí)模型中,LR 和LDA模型不能有效預(yù)測級別Ⅴ,而級別Ⅴ表示水質(zhì)很差,正確預(yù)測該級別十分重要,因此這兩個(gè)模型最不適合用于水質(zhì)預(yù)測。LR、LDA 和SVM 模型不能較好預(yù)測級別I,導(dǎo)致這些模型整體性能不佳。在所有傳統(tǒng)的機(jī)器學(xué)習(xí)模型中,DT 模型在所有水質(zhì)級別的預(yù)測性能都較為穩(wěn)定。在集成模型中,隨機(jī)森林有效避免了決策樹對訓(xùn)練集的過度擬合問題,并且能夠在高維數(shù)據(jù)上很好地工作。本案例研究中的數(shù)據(jù)維數(shù)較低(只有4個(gè)水質(zhì)變量),因此隨機(jī)森林的結(jié)果與單一決策樹沒有顯著差異。結(jié)合決策樹和隨機(jī)森林,深度級聯(lián)森林實(shí)現(xiàn)了更高的集成與級聯(lián)結(jié)構(gòu),該模型將繼續(xù)訓(xùn)練,直到性能不再提高,使模型適用于不同規(guī)模的訓(xùn)練數(shù)據(jù)。CMAES 集成學(xué)習(xí)方法在測試集上的Fβ值達(dá)到97.70%,準(zhǔn)確率Acc達(dá)到97.42%,均為最高值,且CMAES 的自適應(yīng)過程使該集成學(xué)習(xí)模型不易陷入局部最優(yōu)。綜上所述,CMAES 集成學(xué)習(xí)方法的表現(xiàn)最佳,優(yōu)于其他模型。
本文首先提出水質(zhì)分類的重要性,指明傳統(tǒng)手動分類方法的局限性,并對前人所進(jìn)行的機(jī)器學(xué)習(xí)方法在水質(zhì)分類上的應(yīng)用工作進(jìn)行了總結(jié)。接著指出集成學(xué)習(xí)方法比單一學(xué)習(xí)算法有更好的預(yù)測性能,并對集成學(xué)習(xí)方法進(jìn)行簡要概述。在此基礎(chǔ)上,本文提出一種基于CMAES 算法的集成學(xué)習(xí)方法,對LR、SVM、DCF 等十種模型進(jìn)行集成。實(shí)驗(yàn)結(jié)果顯示,集成學(xué)習(xí)方法大都優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)方法,且CMAES 集成學(xué)習(xí)方法的分類效果最佳。接下來的工作安排主要分為兩點(diǎn):(1)探索一種能自動預(yù)測水質(zhì)特征變化的有效算法;(2)使用深度學(xué)習(xí)算法預(yù)測未來幾年的水質(zhì)狀況。