陳英義,成艷君,楊 玲,劉燁琦,李道亮
(1. 中國(guó)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,北京 100083;2. 農(nóng)業(yè)部農(nóng)業(yè)信息獲取技術(shù)重點(diǎn)實(shí)驗(yàn)室,北京100083;3. 北京農(nóng)業(yè)物聯(lián)網(wǎng)工程技術(shù)研究中心,北京 100083)
中國(guó)水產(chǎn)養(yǎng)殖產(chǎn)量連續(xù)多年居世界第一,但池塘水產(chǎn)養(yǎng)殖模式多以消耗資源、犧牲環(huán)境為代價(jià),造成環(huán)境污染和水質(zhì)惡化。其中,水體氨氮是評(píng)價(jià)水產(chǎn)養(yǎng)殖水質(zhì)和水體生態(tài)系統(tǒng)安全的重要指標(biāo)之一[1-2]。在池塘水產(chǎn)養(yǎng)殖模式中,當(dāng)水體氨氮含量超過(guò)0.2mg/L時(shí),會(huì)對(duì)水生物健康產(chǎn)生嚴(yán)重危害,造成養(yǎng)殖對(duì)象發(fā)病甚至死亡[3]。并且有研究表明,在某種特定溫度范圍下,氨氮含量即使在正常指標(biāo)范圍內(nèi),仍然會(huì)對(duì)水產(chǎn)養(yǎng)殖動(dòng)物生命產(chǎn)生極大威脅。近年來(lái),深度學(xué)習(xí)方法的高速發(fā)展直接推動(dòng)了人工智能技術(shù)在農(nóng)業(yè)環(huán)境等領(lǐng)域的深入應(yīng)用,尤其在基于實(shí)時(shí)數(shù)據(jù)和先驗(yàn)數(shù)據(jù)相結(jié)合的預(yù)測(cè)預(yù)警等領(lǐng)域表現(xiàn)出了極大的優(yōu)勢(shì)。因此,基于深度學(xué)習(xí)理論,開(kāi)展水產(chǎn)養(yǎng)殖氨氮含量變化預(yù)測(cè),提高氨氮預(yù)測(cè)精度,為養(yǎng)殖水體氨氮含量合理控制提供理論基礎(chǔ)和科學(xué)依據(jù)。
國(guó)內(nèi)外大量學(xué)者采用試驗(yàn)分析方法對(duì)氮循環(huán)轉(zhuǎn)化機(jī)理開(kāi)展了大量研究,積累了大量的樣本數(shù)據(jù)和先驗(yàn)知識(shí),但是池塘養(yǎng)殖水體氨氮含量變化是個(gè)多重非線性問(wèn)題[4],無(wú)直觀規(guī)律可循。同時(shí),氨氮含量變化涉及微生物、生物動(dòng)力、水化學(xué)等諸多方面[5-6],很多原理尚不明確,很難建立機(jī)理模型。目前用于水體參數(shù)預(yù)測(cè)的代表性方法有灰色系統(tǒng)理論法、人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)法、水質(zhì)模擬法、混沌預(yù)測(cè)法等[7-9]。龐熙[10]利用基于灰色系統(tǒng)理論的灰色預(yù)測(cè)法,構(gòu)建了結(jié)合多元線性回歸方法的灰色預(yù)測(cè)模型對(duì)河流氨氮污染情況進(jìn)行預(yù)測(cè);Habibi-Yangjeh[11]將結(jié)合主成分分析法與遺傳算法并分別與多參數(shù)線性回歸方法和人工神經(jīng)網(wǎng)絡(luò)相結(jié)合,利用這 2種模型預(yù)測(cè)河流氮化合物含量;Stamenkovi?等[12]通過(guò)方差膨脹因子分析減少輸入變量,優(yōu)化廣義回歸神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,構(gòu)建了氮氧變化含量預(yù)測(cè)模型。但是上述模型在針對(duì)小樣本實(shí)時(shí)數(shù)據(jù)進(jìn)行氨氮含量預(yù)測(cè)時(shí),其模型精度并不能滿足實(shí)際生產(chǎn)需求,其實(shí)用性和適用性均存在明顯不足。
隨著中國(guó)對(duì)可持續(xù)發(fā)展問(wèn)題的重視,高效生態(tài)精準(zhǔn)智能養(yǎng)殖是水產(chǎn)養(yǎng)殖業(yè)未來(lái)的發(fā)展方向,如何提高氨氮預(yù)測(cè)精度已成為精準(zhǔn)養(yǎng)殖的關(guān)鍵科學(xué)問(wèn)題之一。近年來(lái),隨著數(shù)據(jù)量的增加及計(jì)算機(jī)性能的提高,基于深度學(xué)習(xí)的深度信念網(wǎng)絡(luò)(deep belief network, DBN)通過(guò)自學(xué)習(xí)構(gòu)建非線性深層次的網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)而提取數(shù)據(jù)高層特征并能準(zhǔn)確擬合復(fù)雜函數(shù)[13],并且具有較強(qiáng)的數(shù)據(jù)預(yù)測(cè)能力和數(shù)據(jù)分類(lèi)及識(shí)別能力[14]。目前,DBN已被廣泛應(yīng)用于各個(gè)領(lǐng)域并取得顯著成績(jī),如負(fù)荷預(yù)測(cè)[15-16]、風(fēng)能預(yù)測(cè)[17-18]、交通流量預(yù)測(cè)[19]、故障診斷[20]。但是在實(shí)際預(yù)測(cè)過(guò)程中,還存在DBN拓?fù)浣Y(jié)構(gòu)及網(wǎng)絡(luò)參數(shù)難以確定的問(wèn)題,同時(shí)計(jì)算效率的提升也是面臨的重大挑戰(zhàn)之一。然而,在池塘水體氨氮預(yù)測(cè)問(wèn)題中,由于環(huán)境復(fù)雜多變,導(dǎo)致采集的數(shù)據(jù)存在噪聲高、且影響氨氮含量變化的影響因子多、各因子相互關(guān)聯(lián)且呈非線性變化等問(wèn)題。該文針對(duì)上述問(wèn)題,以池塘養(yǎng)殖水體為研究對(duì)象,定期采集水質(zhì)、環(huán)境信息以及氨氮含量,基于粒子群算法(particle swarm optimization, PSO)優(yōu)化的多變量深度信念網(wǎng)絡(luò)(multi-variable deep belief network, MDBN)算法構(gòu)建水體氨氮預(yù)測(cè)模型,為水體氨氮的高精度預(yù)測(cè)奠定良好基礎(chǔ)。
1.1.1 深度信念網(wǎng)絡(luò)結(jié)構(gòu)
DBN是深度學(xué)習(xí)研究中較為廣泛的一種網(wǎng)絡(luò)結(jié)構(gòu),于2006年由Geoffery Hinton 首次提出[21]。隨著數(shù)據(jù)量的增加和計(jì)算機(jī)性能的提高,DBN方法被廣泛應(yīng)用于人工智能領(lǐng)域。一個(gè)典型的DBN結(jié)構(gòu)相當(dāng)于一個(gè)高度復(fù)雜的有向無(wú)環(huán)圖,可分解為多個(gè)受限玻爾茲曼機(jī)(restricted boltzmann machine, RBM)。RBM作為DBN的基本組成單元,主要由2層神經(jīng)元組成,其網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。其中,用于訓(xùn)練數(shù)據(jù)輸入的可視層和特征提取的隱含層單元彼此之間互相連接,但同層內(nèi)的神經(jīng)元節(jié)點(diǎn)無(wú)連接,并且同層節(jié)點(diǎn)之間條件獨(dú)立,連接權(quán)重用矩陣W表示。當(dāng)隱含層結(jié)點(diǎn)數(shù)量達(dá)到一定值時(shí),可用此網(wǎng)絡(luò)模型表示任意離散分布。
圖1 RBM模型基本結(jié)構(gòu)Fig.1 Basic structure of restricted boltzmann machine (RBM)
1.1.2 深度信念網(wǎng)絡(luò)訓(xùn)練與生成
DBN作為一種深度網(wǎng)絡(luò)結(jié)構(gòu),訓(xùn)練過(guò)程主要包括無(wú)監(jiān)督的預(yù)訓(xùn)練和有監(jiān)督的反向傳播網(wǎng)絡(luò)的微調(diào) 2個(gè)步驟[22]。在無(wú)監(jiān)督預(yù)訓(xùn)練階段,分別單獨(dú)訓(xùn)練每層RBM網(wǎng)絡(luò),為提取重要特征信息,以重構(gòu)誤差函數(shù)為目標(biāo)函數(shù),使單元特征向量映射于不同特征空間,進(jìn)而得到預(yù)訓(xùn)練網(wǎng)絡(luò)初始權(quán)重。然后,在微調(diào)階段,利用反向傳播對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行優(yōu)化。
其中,RBM訓(xùn)練是DBN模型成功應(yīng)用的關(guān)鍵所在,典型的RBM訓(xùn)練算法有持續(xù)對(duì)比散度算法、快速持續(xù)對(duì)比散度、回火蒙特卡羅馬爾可夫鏈、對(duì)比散度、隨機(jī)近似和變分近似等方法[23]。由于DBN由多個(gè)RBM堆疊而成,因此,該文采用分層對(duì)比散度算法進(jìn)行快速訓(xùn)練[24],避免了整體訓(xùn)練DBN的高度復(fù)雜性,同時(shí)極大提高算法計(jì)算效率。這種訓(xùn)練方式使得深度信念網(wǎng)絡(luò)可以解決傳統(tǒng)反向傳播算法在訓(xùn)練多層網(wǎng)絡(luò)時(shí)收斂慢、局部最優(yōu)問(wèn)題。
粒子群算法(particle swarm optimization, PSO)由電氣工程師Eberhart和心理學(xué)家Kennedy基于人工生命和演化計(jì)算理論共同提出的[25-26],其基本思想源于對(duì)鳥(niǎo)類(lèi)群體覓食行為研究,而提出的一種全局隨機(jī)搜索算法,目前,已經(jīng)廣泛應(yīng)用在約束優(yōu)化和多目標(biāo)優(yōu)化等領(lǐng)域。在經(jīng)典PSO算法中,每個(gè)優(yōu)化問(wèn)題的解被類(lèi)比為搜索空間中的一只鳥(niǎo),將其稱(chēng)之為“粒子”。每個(gè)粒子代表解空間中的一個(gè)候選解,有一個(gè)初始化速度和位置,由適應(yīng)度函數(shù)計(jì)算粒子適應(yīng)值。每個(gè)粒子的速度決定它們?cè)诮饪臻g中搜索的方向和位置,且每個(gè)粒子都具有記憶功能,能夠記住搜索到的最佳位置。算法每次迭代過(guò)程中,粒子會(huì)根據(jù) 2個(gè)極值:粒子本身當(dāng)前找到的最優(yōu)解和目前整個(gè)粒子群找到的全局最優(yōu)解,來(lái)更新自己的速度和位置進(jìn)行搜索,直至找到最優(yōu)解。
PSO優(yōu)化算法通過(guò)迭代搜索每個(gè)粒子的當(dāng)前最優(yōu)解,并利用適應(yīng)度值評(píng)價(jià)解的優(yōu)劣程度,從而確定全局最優(yōu)解。作為一種隨機(jī)搜索、并行優(yōu)化的算法,PSO算法具有簡(jiǎn)單易行、魯棒性好、收斂速度快等優(yōu)點(diǎn),能以較大概率找到全局最優(yōu)解。
池塘養(yǎng)殖水體氨氮預(yù)測(cè)的主要步驟包括關(guān)鍵影響因子篩選、數(shù)據(jù)降噪處理、多變量深度信念網(wǎng)絡(luò)構(gòu)建、基于粒子群算法的網(wǎng)絡(luò)參數(shù)優(yōu)化、水體氨氮預(yù)測(cè),基于PSO_MDBN算法的池塘水體氨氮預(yù)測(cè)流程如圖2所示。
圖2 基于PSO_MDBN的池塘水體氨氮預(yù)測(cè)流程圖Fig.2 Flow chart of ammonia-nitrogen prediction based on PSO_MDBN in pond water
氨氮預(yù)測(cè)步驟如下:
1)采集與池塘水體氨氮變化相關(guān)的環(huán)境信息,包括水質(zhì)數(shù)據(jù)(溫度、鹽度、pH值、溶解氧等)和氣象數(shù)據(jù)(大氣壓強(qiáng),溫度,濕度等)等組成原始數(shù)據(jù)集。并對(duì)采集到的數(shù)據(jù)進(jìn)行歸一化預(yù)處理。
2)利用PCA(principal component analysis)方法分析水體氨氮與其他變量之間的相互作用關(guān)系,根據(jù)各個(gè)變量的貢獻(xiàn)率篩選氨氮預(yù)測(cè)的主影響因子。
3)利用小波閾值降噪方法通過(guò)正交試驗(yàn)確定各個(gè)變量的最佳小波降噪方案,對(duì)選取的主因子變量進(jìn)行降噪,得到最終的輔助變量數(shù)據(jù)樣本,并劃分為訓(xùn)練樣本集及測(cè)試樣本集。
4)構(gòu)建MDBN模型,采用試驗(yàn)方法對(duì)MDBN模型進(jìn)行初始化設(shè)置,選擇最優(yōu)設(shè)置結(jié)果,包括隱含層節(jié)點(diǎn)以及隱含層層數(shù)等。
5)利用PSO優(yōu)化算法對(duì)構(gòu)建好的MDBN網(wǎng)絡(luò)參數(shù)設(shè)定進(jìn)行優(yōu)化,得到最優(yōu)迭代次數(shù)和學(xué)習(xí)率組合。
6)將最優(yōu)網(wǎng)絡(luò)參數(shù)設(shè)置組合帶入MDBN預(yù)測(cè)模型,得到最終的水體氨氮預(yù)測(cè)模型,將測(cè)試樣本輸入優(yōu)化后的水體氨氮預(yù)測(cè)模型,計(jì)算水體氨氮預(yù)測(cè)結(jié)果。
由于池塘養(yǎng)殖水體氨氮含量受水質(zhì)及人為等因素影響,因此,輸入變量的選擇非常重要,它直接影響模型的輸出及預(yù)測(cè)精度。當(dāng)與預(yù)測(cè)變量密切相關(guān)的變量未包含于模型輸入時(shí),會(huì)導(dǎo)致模型精度出現(xiàn)較大誤差[27]。相反,當(dāng)多余無(wú)關(guān)變量被包含于輸入數(shù)據(jù),則會(huì)降低計(jì)算效率,影響后期算法的微調(diào)效果。然而,依賴(lài)傳統(tǒng)人為主觀判斷方法難以精準(zhǔn)選擇氨氮模型的輸入變量。因此,在氨氮預(yù)測(cè)模型構(gòu)建前,必須建立智能算法篩選出關(guān)鍵影響因子作為模型輸入。
評(píng)價(jià)一個(gè)變量因子是否為關(guān)鍵影響因子的標(biāo)準(zhǔn)是根據(jù)它們提供信息的能力,而PCA方法可以確定每個(gè)變量的貢獻(xiàn)率,進(jìn)而對(duì)各個(gè)變量的作用關(guān)系進(jìn)行評(píng)價(jià),在保留原始數(shù)據(jù)主要特征前提下,對(duì)問(wèn)題進(jìn)行定量分析,減少輸入數(shù)據(jù)維度。因此,該文采用PCA方法計(jì)算相關(guān)系數(shù)矩陣,分析數(shù)據(jù)間的線性關(guān)系從而對(duì)采集所得數(shù)據(jù)進(jìn)行篩選和壓縮,實(shí)現(xiàn)關(guān)鍵變量因子的選取,PCA方法篩選池塘養(yǎng)殖水體氨氮預(yù)測(cè)關(guān)鍵變量因子的流程如圖3所示。
由于池塘養(yǎng)殖環(huán)境復(fù)雜多變,并且水質(zhì)濁度較高,因此,獲取的數(shù)據(jù)存在大量噪聲。在構(gòu)建池塘養(yǎng)殖水體氨氮預(yù)測(cè)模型時(shí),如果以傳感器直接采集所得數(shù)據(jù)作為輸入數(shù)據(jù),則特征提取過(guò)程以及模型預(yù)測(cè)精準(zhǔn)度受數(shù)據(jù)質(zhì)量影響較大。因此,消除數(shù)據(jù)噪聲是預(yù)測(cè)模型構(gòu)建的重要基礎(chǔ)之一。傳統(tǒng)降噪方法,例如傅里葉變換等,只能描述信號(hào)在頻率域中的變化,無(wú)法分辨出信號(hào)在時(shí)間軸上的瞬時(shí)變化[28]。而小波降噪法對(duì)信號(hào)具有自適應(yīng)性,可以在去除噪聲的同時(shí)保留原始信號(hào)信息,具有優(yōu)越的局部化性能[29]。
小波降噪法大致分為 3類(lèi):小波閾值降噪方法、模極大值重構(gòu)法、空域相關(guān)濾波法,其中小波閾值降噪方法實(shí)現(xiàn)簡(jiǎn)單、計(jì)算量小、降噪效果良好,因此該文采用小波閾值降噪方法,實(shí)現(xiàn)模型輸入關(guān)鍵影響因子噪聲的去除,為預(yù)測(cè)模型構(gòu)建提供良好的數(shù)據(jù)基礎(chǔ),其降噪過(guò)程如圖4所示。
圖3 氨氮預(yù)測(cè)關(guān)鍵影響因子篩選Fig.3 Screening of key factors in ammonia-nitrogen prediction
圖4 小波閾值降噪過(guò)程Fig.4 Process of wavelet threshold denoising
該文采用MDBN模型預(yù)測(cè)水體氨氮含量,經(jīng)過(guò)主成分分析篩選所得關(guān)鍵影響因子參數(shù)作為訓(xùn)練樣本送入MDBN的可視層。當(dāng)對(duì)水體氨氮含量進(jìn)行預(yù)測(cè)時(shí),MDBN網(wǎng)絡(luò)結(jié)構(gòu)的隱藏層從高維復(fù)雜輸入數(shù)據(jù)提取相關(guān)特征,逐層激活強(qiáng)相關(guān)影響因子、將無(wú)關(guān)冗余信息弱化并抑制,使用非監(jiān)督貪婪逐層方法預(yù)訓(xùn)練模型獲得初始權(quán)重,最后采用對(duì)比散度(contrastive divergence,CD)算法逐層訓(xùn)練各個(gè) RBM。該文構(gòu)建的 MDBN模型結(jié)構(gòu)如圖5所示。
圖5 MDBN預(yù)測(cè)模型Fig.5 MDBN-based prediction model
由于MDBN的預(yù)測(cè)性能與網(wǎng)絡(luò)參數(shù)設(shè)置緊密相關(guān),該文基于PSO優(yōu)化算法實(shí)現(xiàn)MDBN的訓(xùn)練學(xué)習(xí),以訓(xùn)練樣本預(yù)測(cè)值與實(shí)際值的均方根誤差作為適應(yīng)度函數(shù)尋找最優(yōu)參數(shù)設(shè)置,以提高預(yù)測(cè)模型精確度。PSO算法優(yōu)化MDBN模型的主要流程如下:
1)創(chuàng)建MDBN網(wǎng)絡(luò),根據(jù)MDBN網(wǎng)絡(luò)參數(shù)(迭代次數(shù)和學(xué)習(xí)率)生成粒子群初始化參數(shù)、包括種群規(guī)模、迭代次數(shù)、學(xué)習(xí)因子以及位置和速度的限定區(qū)間。
2)根據(jù)公式(1)計(jì)算粒子的適應(yīng)度f(wàn)iness值。
公式(1)中n為訓(xùn)練樣本數(shù)量; ()Sn和 ^()Sn分別為第n個(gè)樣本輸出值和期望輸出值。根據(jù)初始粒子適應(yīng)度值確定個(gè)體極值及群體極值,并將每個(gè)粒子的最佳位置作為其歷史最佳位置。
3)在每次迭代過(guò)程中,根據(jù)粒子速度和位置更新公式(2)和(3)結(jié)合個(gè)體極值和全局極值更新每個(gè)粒子的速度和位置。
4)通過(guò)公式(4)計(jì)算誤差 ERMS,判斷是否達(dá)到優(yōu)化目標(biāo)。若滿足優(yōu)化目標(biāo),則停止優(yōu)化,輸出優(yōu)化結(jié)果。若未達(dá)到要求則繼續(xù)優(yōu)化,重復(fù)步驟3),直到達(dá)到優(yōu)化目標(biāo)或迭代結(jié)束。
5)滿足最大迭代次數(shù)后,將PSO算法得到的最優(yōu)粒子對(duì)MDBN的網(wǎng)絡(luò)參數(shù)進(jìn)行賦值,輸出優(yōu)化后的MDBN網(wǎng)絡(luò)。
本試驗(yàn)池塘水質(zhì)數(shù)據(jù)采集于浙江省湖州市八里店鎮(zhèn)的浙江省淡水水產(chǎn)研究所八里店試驗(yàn)基地的2-6號(hào)池塘,養(yǎng)殖模式為集約化養(yǎng)殖,其養(yǎng)殖品種為雜交鲌,密度為30 000尾/hm2。由于試驗(yàn)條件及場(chǎng)地的限制,本試驗(yàn)采用便攜式多參數(shù)水質(zhì)測(cè)定儀與分光光度計(jì)結(jié)合的方式對(duì)關(guān)鍵水質(zhì)數(shù)據(jù)進(jìn)行采集。其中分光光度計(jì)用于氨氮數(shù)據(jù)檢測(cè),便攜式多參數(shù)水質(zhì)測(cè)定儀被用于檢測(cè)池塘養(yǎng)殖水體環(huán)境信息的13個(gè)參數(shù):溫度、電導(dǎo)率、鹽度、TDS(溶解性固體總量)、pH值、溶解氧、溶氧飽和度、氧化還原電位ORP(oxidation reduction potential)、亞硝酸鹽、氨氮、濁度、水深、藍(lán)綠藻。同時(shí),在試驗(yàn)池塘東北角安裝小型氣象站,采集7項(xiàng)氣象信息:大氣壓強(qiáng)、溫度、濕度、風(fēng)速、風(fēng)向、降雨量、太陽(yáng)輻射。試驗(yàn)數(shù)據(jù)采集于2018年7月6日至2018年7月28日,每天05:00-20:00以每間隔10 min采集1次,共采集90次環(huán)境信息數(shù)據(jù),將采集到的數(shù)據(jù)進(jìn)行初步篩選,并刪除由傳感器故障導(dǎo)致的異常數(shù)據(jù),最后,得到16項(xiàng)2 268條環(huán)境信息數(shù)據(jù),用于開(kāi)展氨氮預(yù)測(cè)研究。
該文使用采集到的 2 268條氨氮變化相關(guān)環(huán)境信息樣本數(shù)據(jù),首先對(duì)其進(jìn)行標(biāo)準(zhǔn)化和歸一化預(yù)處理,并利用PCA方法按照2.1節(jié)中的步驟對(duì)16個(gè)環(huán)境信息變量進(jìn)行相關(guān)性分析。計(jì)算的特征值與累計(jì)貢獻(xiàn)率如表1所示。
表1 水體氨氮相關(guān)環(huán)境變量特征值與累計(jì)貢獻(xiàn)率Table 1 Eigenvalues and cumulative contribution rates of environmental variables related with ammonia-nitrogen of water
由表1可知,前7個(gè)主成分的累積貢獻(xiàn)率大于85%,其對(duì)應(yīng)的載荷矩陣如表 2所示。從載荷矩陣可以得出溶解氧、空氣濕度對(duì)第 1主成分貢獻(xiàn)大,亞硝酸鹽、風(fēng)速對(duì)第2主成分貢獻(xiàn)大,鹽度、電導(dǎo)率對(duì)第3主成分貢獻(xiàn)大,藍(lán)綠藻、ORP對(duì)第4主成分貢獻(xiàn)大,pH值、藍(lán)綠藻對(duì)第5主成分貢獻(xiàn)大,ORP、濁度對(duì)第6主成分貢獻(xiàn)大,水質(zhì)氨氮、濁度對(duì)第 7主成分貢獻(xiàn)大。因氣象因子僅對(duì)水體表面參數(shù)影響較大且相對(duì)不可控,影響因子不再考慮空氣濕度、風(fēng)速等氣象因子。因此,最終選擇溶解氧、亞硝酸鹽、鹽度、藍(lán)綠藻、pH值、ORP、濁度等7個(gè)水質(zhì)因子為氨氮變化的主要影響因子以及水體氨氮含量預(yù)測(cè)的輔助變量。
完成關(guān)鍵影響因子篩選后,利用小波閾值降噪方法對(duì)經(jīng)過(guò)標(biāo)準(zhǔn)化和歸一化處理后的7個(gè)環(huán)境變量以及氨氮數(shù)據(jù)進(jìn)行降噪處理。由于小波基、閾值選取方法、閾值量化函數(shù)的選取都對(duì)小波閾值降噪效果有明顯影響,但迄今沒(méi)有具體的最優(yōu)參數(shù)選擇方法。因此,該文采用正交試驗(yàn)方法,選取最優(yōu)小波降噪方案對(duì)數(shù)據(jù)進(jìn)行降噪,結(jié)果如表3所示。將降噪后的關(guān)鍵影響因子以及氨氮數(shù)據(jù),氨氮變化的相關(guān)環(huán)境信息序列按照時(shí)間順序進(jìn)行排序,并作為預(yù)測(cè)模型的樣本數(shù)據(jù)。最后,將2, 268條樣本數(shù)據(jù)劃分為訓(xùn)練集和測(cè)試集,其中2, 188條樣本數(shù)據(jù)用于訓(xùn)練,剩余80條樣本數(shù)據(jù)用于模型性能測(cè)試。
表2 水體氨氮變化相關(guān)環(huán)境變量載荷矩陣Table 2 Load matrix of environmental variables related to ammonia-nitrogen of water
表3 各變量最優(yōu)小波降噪方案及結(jié)果Table 3 Optimal wavelet denoising scheme and results of each variable
由于MDBN網(wǎng)絡(luò)參數(shù)(隱含層節(jié)點(diǎn)數(shù)及隱含層層數(shù))直接影響算法性能,當(dāng)隱含層層數(shù)設(shè)置為 2、4、6、8、10、12,隱含層節(jié)點(diǎn)個(gè)數(shù)設(shè)為100、250、500、1 000時(shí),均方根誤差RMSE達(dá)到極小值。然后,通過(guò)多次訓(xùn)練效果驗(yàn)證,得到訓(xùn)練及微調(diào)時(shí)的最佳網(wǎng)絡(luò)參數(shù):學(xué)習(xí)率為0.1,迭代次數(shù)為 100。為了探索網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)對(duì)模型學(xué)習(xí)性能的影響,對(duì)隱含層層數(shù)與隱含層節(jié)點(diǎn)數(shù)進(jìn)行兩兩組合,選取RMSE值最小的MDBN網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置。由表 4可知,當(dāng)隱含層層數(shù)為10,隱含層節(jié)點(diǎn)數(shù)為500時(shí),MDBN網(wǎng)絡(luò)在測(cè)試集上的 RMSE誤差達(dá)到最小,其值為0.014 07。因此,得到 MDBN最佳的網(wǎng)絡(luò)參數(shù)設(shè)置:輸入層節(jié)點(diǎn)數(shù)為7(篩選后的7維輔助變量),輸出層的神經(jīng)元數(shù)為 1(輸出預(yù)測(cè)的氨氮值),隱含層數(shù)為 10,隱含層節(jié)點(diǎn)數(shù)為500,初始化學(xué)習(xí)率為0.1,初始化迭代次數(shù)為100。
為了有效減少計(jì)算復(fù)雜性和提高預(yù)測(cè)性能,利用PSO優(yōu)化算法簡(jiǎn)單易行、收斂速度快、設(shè)置參數(shù)少的優(yōu)點(diǎn),將粒子群在MDBN的解空間追隨最優(yōu)粒子進(jìn)行全局搜索,進(jìn)而實(shí)現(xiàn)對(duì)MDBN網(wǎng)絡(luò)的優(yōu)化;并設(shè)定PSO優(yōu)化算法初始種群規(guī)模為30,進(jìn)化代數(shù)為20,最小訓(xùn)練停止誤差為10-5,加速因子c1和c2均設(shè)置為1.494 45,學(xué)習(xí)率粒子的取值區(qū)間為[0.000 01,1],迭代次數(shù)粒子的取值區(qū)間為[10, 2 000]。
表4 MDBN不同網(wǎng)絡(luò)參數(shù)下的RMSE值Table 4 RMSE value of different parameter MDBN network
本文將 PSO_MDBN與最小二乘支持向量機(jī)(least squares support vector machine,LSSVM)[30]和BP神經(jīng)網(wǎng)絡(luò)(back propagation neural network, BPNN)[31]的預(yù)測(cè)方法進(jìn)行了對(duì)比分析。試驗(yàn)的誤差評(píng)價(jià)體系采用均方根誤差(root mean square error,RMSE),平均相對(duì)百分比誤差(mean absolute percentage error,MAPE),平均絕對(duì)誤差(mean absolute error,MAE)。
式中t表示測(cè)試樣本數(shù)量, ()ft表真實(shí)值;^(t)f 表預(yù)測(cè)值。
將2 218訓(xùn)練樣本集輸入已構(gòu)建的PSO_MDBN網(wǎng)絡(luò)進(jìn)行訓(xùn)練,然后采用80個(gè)樣本在已預(yù)訓(xùn)練的網(wǎng)絡(luò)進(jìn)行比較分析,并與BPNN及LSSVM方法進(jìn)行對(duì)比試驗(yàn),得到水體氨氮含量濃度隨測(cè)試樣本數(shù)量的變化曲線圖。同時(shí),得到PSO-MDBN、BPNN及LSSVM模型的絕對(duì)誤差曲線圖(圖6b)。由圖6可知,PSO-MDBN的預(yù)測(cè)值更加接近真實(shí)值,且變化趨勢(shì)幾乎一致,BPNN預(yù)測(cè)精度低于PSO-MDBN算法且預(yù)測(cè)值具有滯后性,無(wú)法準(zhǔn)確預(yù)測(cè)氨氮含量的非線性變化,然而,而LSSVM預(yù)測(cè)值與真實(shí)值間距較大,無(wú)法預(yù)測(cè)氨氮含量的變化。
由誤差曲線圖 6b可得,PSO-MDBN、BPNN及LSSVM 3種算法的誤差值都隨樣本數(shù)量增加而減小,當(dāng)樣本數(shù)量為80時(shí)誤差值最小,但PSO-MDBN誤差曲線隨著樣本數(shù)量變化幅度較小,而其他 2種算法曲線變化波動(dòng)較大(尤其樣本數(shù)量為20和60時(shí))。因此,該文所提PSO-MDBN算法性能明顯優(yōu)于傳統(tǒng)算法性能,并且算法受樣本數(shù)量變化影響較小,再次證明了深度信念網(wǎng)絡(luò)具有高的泛化能力和良好的穩(wěn)定性。
圖6 不同模型的預(yù)測(cè)結(jié)果Fig.6 Prediction results of different models
表 5給出了 PSO_MDBN、傳統(tǒng) DBNs、LSSVM 及BPNN方法在測(cè)試樣本的具體誤差值。從表 5可得,LSSVM及BPNN對(duì)池塘養(yǎng)殖水體氨氮含量預(yù)測(cè)的MAPE值分別為40.31%、33.18%,未經(jīng)PSO算法優(yōu)化的MDBN模型的MAPE值為13.11%。然而,該文提出模型的MAPE值為11.72%,與2種傳統(tǒng)方法相比,其MAPE值分別降低了0.285 9,0.214 6,相對(duì)于傳統(tǒng)DBNs模型其MAPE誤差也降低了0.013 9。同時(shí),PSO_MDBN方法的RMSE和MAE值也顯然小于其他3種方法的誤差值。
表5 不同模型對(duì)池塘養(yǎng)殖水體氨氮預(yù)測(cè)性能對(duì)比Table 5 Performance comparison of different ammonia-nitrogen prediction model in pond water
試驗(yàn)結(jié)果表明,該文所提模型預(yù)測(cè)精度明顯優(yōu)于其他2種傳統(tǒng)方法的精度,相對(duì)于經(jīng)典的DBNs模型準(zhǔn)確率也有所提升。基于MDBN的水體氨氮預(yù)測(cè)模型可以提取數(shù)據(jù)的高層次特征,獲得了較傳統(tǒng)方法更好的非線性函數(shù)逼近效果,在一定程度上提高了算法的精度和泛化能力。然而經(jīng)過(guò)粒子群算法優(yōu)化的PSO_MDBN模型,其不僅提高了網(wǎng)絡(luò)收斂速度,同時(shí),也提高了模型的預(yù)測(cè)精度,即減小了模型的誤差值。試驗(yàn)結(jié)果充分表明基于PSO_MDBN模型在農(nóng)業(yè)大數(shù)據(jù)挖掘中能夠表現(xiàn)出良好的特征學(xué)習(xí)能力。在構(gòu)建預(yù)測(cè)模型時(shí),不同的網(wǎng)絡(luò)結(jié)構(gòu)會(huì)導(dǎo)致不同的預(yù)測(cè)結(jié)果,因此在模型性能優(yōu)化過(guò)程中,根據(jù)不同的應(yīng)用領(lǐng)域、不同的數(shù)據(jù)構(gòu)建不同的MDBN模型,再利用PSO優(yōu)化算法尋找最優(yōu)網(wǎng)絡(luò)參數(shù)設(shè)置,確定MDBN預(yù)測(cè)模型的最優(yōu)網(wǎng)絡(luò)設(shè)置。
針對(duì)池塘養(yǎng)殖水體氨氮含量復(fù)雜多變,氨氮含量與環(huán)境信息呈現(xiàn)非線性關(guān)系,導(dǎo)致傳統(tǒng)方法難以準(zhǔn)確預(yù)測(cè)的問(wèn)題。為提高氨氮含量預(yù)測(cè)精度,該文提出了一種基于PSO-MDBN的水體氨氮預(yù)測(cè)模型。為了避免變量冗余導(dǎo)致計(jì)算效率下降的問(wèn)題,利用PCA和小波降噪方法進(jìn)行數(shù)據(jù)相關(guān)性分析并選取關(guān)鍵影響因子參數(shù)作為模型輸入?;?DBN網(wǎng)絡(luò)構(gòu)建多變量預(yù)測(cè)模型,并利用 PSO算法尋找最優(yōu)網(wǎng)絡(luò)參數(shù),進(jìn)而提高模型預(yù)測(cè)精度及計(jì)算效率。研究結(jié)果表明,在池塘養(yǎng)殖中,該模型實(shí)現(xiàn)了平均百分比誤差為0.117 2的預(yù)測(cè)精度,與傳統(tǒng)LSSVM和BPNN方法進(jìn)行比較,其MAPE值分別降低了0.285 9,0.214 6,與未進(jìn)行 PSO參數(shù)優(yōu)化的 DBNs模型相比,MAPE值也降低了0.013 9。良好的預(yù)測(cè)效果充分證明了基于 PSO-MDBN的水體氨氮預(yù)測(cè)模型的有效性和實(shí)用性,及解決復(fù)雜、非線性問(wèn)題的氨氮預(yù)測(cè)能力。