林彬彬,袁 泉,田志新,潘顯斌,周文宗,徐 震
(1 上海工程技術(shù)大學(xué)機(jī)械與汽車工程學(xué)院,上海 201620;2 上海市農(nóng)業(yè)科學(xué)院,上海 201403)
黃鱔,又名鱔魚,可食用,也可入藥,在中國(guó)和東南亞廣泛分布[1]。當(dāng)前市場(chǎng)上大部分的黃鱔來源于人工養(yǎng)殖。溶氧是影響黃鱔養(yǎng)殖的重要因素。水體中較高的溶氧含量會(huì)促進(jìn)有機(jī)物的分解,降低水體中的有害物質(zhì),為黃鱔營(yíng)造一個(gè)優(yōu)良的生長(zhǎng)環(huán)境[2]。而較低的溶氧含量則會(huì)導(dǎo)致黃鱔出現(xiàn)浮頭現(xiàn)象[3]。目前溶氧數(shù)據(jù)主要是依賴于傳感器的實(shí)時(shí)獲取[4]。但是傳感器數(shù)據(jù)僅能獲取當(dāng)前狀態(tài),無法對(duì)異常數(shù)值進(jìn)行預(yù)警,從而有可能導(dǎo)致養(yǎng)殖風(fēng)險(xiǎn)的發(fā)生。因此需要對(duì)水質(zhì)問題做出預(yù)警并提前處理,溶氧參數(shù)的預(yù)測(cè)便十分重要。
溶氧作為水質(zhì)參數(shù)的一種,具有非線性特征[5],傳統(tǒng)的預(yù)測(cè)方法主要是基于實(shí)踐經(jīng)驗(yàn)和數(shù)值模擬,但是這兩種方法需要具有豐富的實(shí)踐經(jīng)驗(yàn)或者建立在大量數(shù)據(jù)的基礎(chǔ)上,兩者皆無法建立普遍適用的模型。
使用機(jī)器學(xué)習(xí)建模為水質(zhì)預(yù)測(cè)提供了一種新的方案。這些模型有許多好處:(1)無需具有豐富的實(shí)踐經(jīng)驗(yàn);(2)減少了時(shí)間和成本(如材料和勞動(dòng)力成本);(3)簡(jiǎn)化了復(fù)雜的預(yù)測(cè)系統(tǒng)。目前,已有多種機(jī)器學(xué)習(xí)算法成功用于水質(zhì)參數(shù)預(yù)測(cè)。Deng等[6]利用支持向量機(jī)(SVM)成功預(yù)測(cè)了香港吐露港海藻的變化趨勢(shì)。Li等[7]利用離散隱馬爾可夫模型(DHMM)和K-means聚類方法構(gòu)建了水質(zhì)參數(shù)預(yù)測(cè)模型,用于預(yù)測(cè)環(huán)渤海6個(gè)海洋牧場(chǎng)的溶氧飽和度和濁度。Peng等[8]利用差分進(jìn)化算法對(duì)模糊神經(jīng)網(wǎng)絡(luò)(FNN)參數(shù)進(jìn)行優(yōu)化,建立了水產(chǎn)養(yǎng)殖水質(zhì)溶氧的非線性預(yù)測(cè)模型,對(duì)對(duì)蝦養(yǎng)殖池水質(zhì)數(shù)據(jù)進(jìn)行了預(yù)測(cè)。對(duì)于具有時(shí)間序列特征的數(shù)據(jù),循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[9-11]以及其變型門控循環(huán)單元(GRU)[12-14]、長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)[15-17]是最常用的方法。
幾乎所有神經(jīng)網(wǎng)絡(luò)模型都需要人工去設(shè)置超參數(shù),這具有較高的隨機(jī)性,會(huì)降低模型的預(yù)測(cè)效果[18]。為解決這個(gè)問題,一種可行的方法是利用元啟發(fā)式優(yōu)化算法[19]對(duì)神經(jīng)網(wǎng)絡(luò)模型中的超參數(shù)進(jìn)行優(yōu)化。元啟發(fā)式優(yōu)化算法主要分為三種,一種為仿生物種群的優(yōu)化算法,如粒子群算法(PSO)[20-21]、人工蜂群算法[22]、灰狼算法[23],第二種為仿物理化學(xué)過程的優(yōu)化算法,如模擬退火算法[24],第三種為仿遺傳進(jìn)化規(guī)律的優(yōu)化算法,主要包括遺傳算法[25]。Xue等[26]基于麻雀的覓食與反捕食行為提出麻雀搜索算法(SSA),該算法搜索速度快、收斂精度高、魯棒性強(qiáng),具有較強(qiáng)的全局尋優(yōu)的能力,可以有效地防止陷入局部最優(yōu)。
本研究利用麻雀搜索算法(SSA)以提高LSTM模型準(zhǔn)確度為優(yōu)化目標(biāo),以LSTM模型中超參數(shù)為優(yōu)化對(duì)象,對(duì)LSTM進(jìn)行優(yōu)化,搭建SSA-LSTM神經(jīng)網(wǎng)絡(luò)模型;將SSA-LSTM模型用于水質(zhì)溶氧參數(shù)的預(yù)測(cè),并與LSTM、GRU、PSO-LSTM算法作對(duì)比。
使用水質(zhì)在線監(jiān)測(cè)儀(Manta+40,美國(guó)Eureka)監(jiān)測(cè)上海市農(nóng)業(yè)科學(xué)院莊行綜合試驗(yàn)站黃鱔循環(huán)水養(yǎng)殖池(20 m2)水質(zhì),現(xiàn)場(chǎng)如圖1所示。
圖1 黃鱔循環(huán)水養(yǎng)殖池
黃鱔養(yǎng)殖池位于玻璃大棚內(nèi)部,養(yǎng)殖水位30 cm,水泥池配有循環(huán)水過濾系統(tǒng),無其他增氧設(shè)施。本研究利用了2020年3月31日13:00至2020年5月31日12:00的溶氧監(jiān)測(cè)數(shù)據(jù)。
1.2.1 長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)
RNN是機(jī)器學(xué)習(xí)方法之一,主要用于處理時(shí)間序列數(shù)據(jù)。RNN的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,有一個(gè)自連接的隱藏層,它的當(dāng)前狀態(tài)可以依靠前一時(shí)刻輸出進(jìn)行更新,因此可以解決時(shí)間序列的長(zhǎng)期依賴問題。
圖2 循環(huán)神經(jīng)網(wǎng)絡(luò)網(wǎng)絡(luò)架構(gòu)圖
但是對(duì)于較長(zhǎng)的時(shí)間序列,在實(shí)際RNN的使用過程中,會(huì)出現(xiàn)梯度消失和梯度爆炸的現(xiàn)象。為了解決以上問題,提出了LSTM。LSTM是基于RNN的一種改進(jìn),它保留了RNN自連接的隱藏層,而且隱藏層中的節(jié)點(diǎn)更為復(fù)雜,可以實(shí)現(xiàn)較長(zhǎng)時(shí)間序列的信息保留[27]。
LSTM由遺忘門、輸入門和輸出門三部分組成。通過巧妙的結(jié)構(gòu)設(shè)計(jì)(圖3),很好地解決了RNN對(duì)于較長(zhǎng)的時(shí)間序列狀態(tài)無法傳遞的問題。
圖3 長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)架構(gòu)圖
遺忘門:遺忘門的功能是判斷應(yīng)舍棄哪些信息。
ft=σ(Wf·[ht-1,xt]+bf)
(1)
輸入門:輸入門的功能是決定輸入哪些信息。
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
輸出門:輸出門確定當(dāng)前狀態(tài)的輸出。
Ot=σ(WO·[ht-1,xt]+bO)
(4)
ht=σt[tanh(Ct)]
(5)
式中:σ為sigmoid函數(shù),tanh為tanh函數(shù),Wf、Wi、WC、WO均為權(quán)重矩陣,bf、bi、bC、bO均為偏置矩陣,ht是當(dāng)前狀態(tài)的輸出結(jié)果,xt是當(dāng)前狀態(tài)的輸入,Ct是當(dāng)前的隱藏狀態(tài)。
1.2.2 麻雀搜索算法
麻雀搜索算法模擬麻雀覓食過程中行為,將種群的麻雀分為三類,一類是生產(chǎn)者,負(fù)責(zé)尋找食物,引導(dǎo)種群前往食物豐富的區(qū)域;另一類是跟隨者,在覓食的過程中它們會(huì)時(shí)刻觀察著生產(chǎn)者,一旦發(fā)現(xiàn)生產(chǎn)者找到了更好的食物,會(huì)立刻放棄自己現(xiàn)在的食物,轉(zhuǎn)向生產(chǎn)者。此外種群中還有一定比例的警戒者,沒有危險(xiǎn)時(shí)就在種群中隨意走動(dòng),一旦發(fā)現(xiàn)了危險(xiǎn)就立刻向安全區(qū)域移動(dòng)。在迭代的過程中,他們按照會(huì)一定的規(guī)則進(jìn)行更新位置信息。生產(chǎn)者:
(6)
當(dāng)AL 跟隨者: (7) 式中:n為當(dāng)前麻雀種群的總數(shù),XP是當(dāng)前種群占據(jù)最好位置麻雀的位置。Xworst是當(dāng)前種群占據(jù)最差位置麻雀的位置。A是一個(gè)滿足A+=AT(AAT)-1的1×d矩陣,A中的元素隨機(jī)取1或者-1。 如果i大于n/2,則表示當(dāng)前的麻雀位置不好,可能會(huì)挨餓,因此需要飛往更遠(yuǎn)的地方去覓食。如果i小于或等于n/2,說明當(dāng)前麻雀位置尚可,只需向位置最好的麻雀靠近即可。 警戒者: (8) 當(dāng)fi>fg時(shí),代表當(dāng)前麻雀處于種群的邊緣,極易受到攻擊。當(dāng)fi=fi時(shí),表示處于種群中心的麻雀意識(shí)到危險(xiǎn),開始向其他麻雀移動(dòng),減少被捕食的風(fēng)險(xiǎn)。 預(yù)測(cè)模型流程如圖4所示。 圖4 SSA-LSTM算法模型框架 在LSTM神經(jīng)網(wǎng)絡(luò)中,隱藏層神經(jīng)元的個(gè)數(shù)是影響模型性能關(guān)鍵性的超參數(shù)。除此以外,dropout層對(duì)模型的擬合程度也有著重要影響,dropout層的超參數(shù)值過小,模型會(huì)出現(xiàn)過擬合問題。針對(duì)水質(zhì)數(shù)據(jù)的特點(diǎn),利用SSA以LSTM中隱藏層神經(jīng)元個(gè)數(shù)和dropout層的超參數(shù)為優(yōu)化對(duì)象,以提升性能指標(biāo)準(zhǔn)確度(ER2)為優(yōu)化目標(biāo),搭建SSA-LSTM預(yù)測(cè)模型。 具體步驟如下: 1)數(shù)據(jù)處理:數(shù)據(jù)處理是建模的基礎(chǔ)。在數(shù)據(jù)采集的過程中,會(huì)受到各種因素的影響,數(shù)據(jù)會(huì)出現(xiàn)缺失、數(shù)據(jù)異常(如違背常識(shí)的錯(cuò)誤、數(shù)據(jù)的離群值、數(shù)據(jù)格式不一致),將會(huì)對(duì)建模的結(jié)果造成影響,因此需要對(duì)原始數(shù)據(jù)進(jìn)行規(guī)范化的處理。首先對(duì)缺失和異常的數(shù)據(jù)利用拉格朗日插值法插值處理。接著將數(shù)據(jù)進(jìn)行歸一化處理,統(tǒng)一映射到[0,1]中。歸一化處理可以加快模型的收斂速度,提高預(yù)測(cè)精度。最后將數(shù)據(jù)劃分為訓(xùn)練集與驗(yàn)證集。 (9) 式中:x、y分別為數(shù)據(jù)對(duì)應(yīng)的橫、縱坐標(biāo)。 (10) 式中:xmax、xmin分別為數(shù)據(jù)集中最大值、最小值。 2)利用SSA對(duì)LSTM進(jìn)行優(yōu)化。 a)麻雀搜索算法參數(shù)初始化。確定麻雀總數(shù)、生產(chǎn)者數(shù)量、跟隨者數(shù)量、警戒者數(shù)量、迭代總數(shù)、初始麻雀的位置參數(shù)、安全閾值(ST)。 b)將性能指標(biāo)準(zhǔn)確度(ER2)作為適應(yīng)度(fit)值,ER2取值介于[0,1]之間,越接近于1代表模型的預(yù)測(cè)精度越高。根據(jù)麻雀的適應(yīng)度值來計(jì)算種群最優(yōu)和最差的位置。 c)根據(jù)麻雀搜索算法公式進(jìn)行迭代,取fit值前20%為生產(chǎn)者,20%至90%為跟隨者,最后10%為警戒者。 d)判斷是否滿足終止條件,如果滿足輸出當(dāng)前麻雀的位置參數(shù)和fit值。否則繼續(xù)執(zhí)行b和c。 3)利用SSA優(yōu)化后的參數(shù),建立LSTM模型和訓(xùn)練神經(jīng)網(wǎng)絡(luò)。 4)訓(xùn)練好的LSTM模型用來預(yù)測(cè)測(cè)試集和評(píng)估模型誤差。本研究選取均方根誤差(ERMSE)、均方誤差(EMSE)、平均絕對(duì)誤差(EMAE)和準(zhǔn)確度(ER2)作為評(píng)價(jià)指標(biāo)來評(píng)價(jià)模型的預(yù)測(cè)效果。 (11) (12) (13) (14) 清洗后的數(shù)據(jù)分布如圖5所示。 圖5 黃鱔池溶氧變化曲線 由于在數(shù)據(jù)采集的過程中,容易受到各種因素的干擾,因此首先需要進(jìn)行數(shù)據(jù)清洗工作。主要是對(duì)缺失值的插補(bǔ)和對(duì)異常值的剔除。然后用2020年5月21日之前的數(shù)據(jù)用作訓(xùn)練集,2020年5月21日至2020年5月31日的數(shù)據(jù)用作測(cè)試集。 建立SSA-LSTM預(yù)測(cè)模型和3個(gè)對(duì)比模型(LSTM、GRU、PSO-LSTM),模型結(jié)構(gòu)參數(shù)如表1所示。 表1 模型結(jié)構(gòu)參數(shù)表 將處理后的數(shù)據(jù)導(dǎo)入SSA-LSTM模型和對(duì)照模型中進(jìn)行預(yù)測(cè),其中SSA-LSTM模型預(yù)測(cè)準(zhǔn)確率為96.77%,相對(duì)于LSTM、GRU、PSO-LSTM模型性能對(duì)比如圖6所示。 圖6 不同模型預(yù)測(cè)結(jié)果與真實(shí)值對(duì)照?qǐng)D 由圖6可知,每個(gè)模型對(duì)于溶氧的變化趨勢(shì)預(yù)測(cè)擬合基本一致,但是SSA-LSTM擬合度最高。通過4種評(píng)價(jià)指標(biāo)(EMAE,ERMSE,EMSE,ER2)可以更加直觀地顯示4種模型的性能表現(xiàn),如表2所示,其中SSA-LSTM模型相對(duì)于LSTM和GRU模型,ER2分別提升了2.09%、3.34%,EMSE分別下降了23.1%、46.4%,EMAE分別下降了17.5%、32.0%,ERMSE分別下降了12.3%、26.8%。 表2 模型評(píng)價(jià)指標(biāo) 基于上述指標(biāo)表明,利用麻雀搜索算法優(yōu)化后的LSTM模型的預(yù)測(cè)精度和性能優(yōu)于未被優(yōu)化的LSTM模型。相對(duì)于PSO-LSTM模型ER2提升了0.55%,EMSE下降了12.3%,EMAE下降了10.9%,ERMSE下降了10.9%。基于上述指標(biāo)表明,利用麻雀搜索算法優(yōu)化后的LSTM模型的預(yù)測(cè)精度和性能優(yōu)于利用粒子群算法優(yōu)化后的LSTM模型。 孫龍清等[28]利用天牛須搜索算法(IBAS)優(yōu)化LSTM,提出了IBAS-LSTM溶氧預(yù)測(cè)模型,模型預(yù)測(cè)結(jié)果EMSE為0.683 6,ERMSE為0.826 8,EMAE為0.542 8,通過結(jié)果可以看出,其模型性能與本研究提出模型性能基本一致。胡衍坤等[29]利用具有周期性的差分自回歸移動(dòng)平均模型(SARIMA)與LSTM相結(jié)合,提出SARIMA-LSTM模型對(duì)河流水質(zhì)指標(biāo)中的化學(xué)需氧量進(jìn)行預(yù)測(cè),模型預(yù)測(cè)結(jié)果EMSE和ERMSE分別為3.17、1.37,模型性能不如本研究提出SSA-LSTM模型性能優(yōu)越。陳英義等[30]利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對(duì)RNN進(jìn)行優(yōu)化,提出CNN-RNN模型對(duì)水產(chǎn)養(yǎng)殖中溶氧參數(shù)進(jìn)行預(yù)測(cè),模型結(jié)果EMAE、ERMSE、ER2分別為0.138、0.229、0.954,其中ER2沒有本研究模型的效果好,但是EMAE、ERMSE兩項(xiàng)評(píng)價(jià)指標(biāo)要優(yōu)于本研究模型,分析原因?yàn)樵谒|(zhì)參數(shù)采集的過程中,容易受到各種環(huán)境因素的干擾,這些干擾因素在水質(zhì)參數(shù)數(shù)據(jù)中會(huì)以噪聲的形式存在,陳英義等在對(duì)數(shù)據(jù)處理的過程中,采用了小波降噪的處理方式,降低了環(huán)境噪聲的干擾,因此其EMAE、ERMSE會(huì)優(yōu)于本研究模型。但是這樣會(huì)增大模型運(yùn)算時(shí)占用的資源,考慮到在實(shí)際生產(chǎn)活動(dòng)中模型需要符合輕量化布置的要求,便沒有將小波降噪加入到模型中。通過上述對(duì)比可以看出,本研究提出的SSA-LSTM模型具有較高的預(yù)測(cè)精度和預(yù)測(cè)質(zhì)量,值得推廣和應(yīng)用。 為了測(cè)試模型在連續(xù)性預(yù)測(cè)過程中的表現(xiàn),隨機(jī)選取連續(xù)10個(gè)點(diǎn)的4個(gè)模型預(yù)測(cè)值和真實(shí)值,其中GRU、LSTM、PSO-LSTM模型的平均絕對(duì)誤差分別為8.21%、6.18%、3.89%,而SSA-LSTM模型的平均絕對(duì)誤差為2.75%,低于對(duì)照模型。SSA-LSTM模型的最大絕對(duì)誤差為6.92%,而GRU、LSTM、PSO-LSTM模型的最大絕對(duì)誤差分別為15.51%、8.76%、7.39%,SSA-LSTM相對(duì)于對(duì)照模型分別下降66.45%、55.41%、29.22%。證明SSA-LSTM模型在連續(xù)性預(yù)測(cè)工程中具有優(yōu)越的性能。各模型實(shí)際值與預(yù)測(cè)值絕對(duì)誤差對(duì)比如表3所示。黃鱔池溶氧模型的泰勒如圖7所示。 表3 各模型實(shí)際值與預(yù)測(cè)值絕對(duì)誤差對(duì)比 圖7 黃鱔池溶氧模型的泰勒?qǐng)D 圖7是上海市農(nóng)業(yè)科學(xué)院循環(huán)水黃鱔養(yǎng)殖池的溶氧預(yù)測(cè)模型性能的泰勒?qǐng)D[31]。泰勒?qǐng)D是基于預(yù)測(cè)值與真實(shí)值的相關(guān)系數(shù)、均方根誤差和標(biāo)準(zhǔn)差繪制的可以更加直觀描述模型性能的工具。圖中的散點(diǎn)代表著本試驗(yàn)的模型,徑向參數(shù)代表相關(guān)系數(shù),橫軸和縱軸代表標(biāo)準(zhǔn)差。GRU模型的相關(guān)系數(shù)為0.975,標(biāo)準(zhǔn)差為1.02。LSTM模型的相關(guān)系數(shù)為0.978,標(biāo)準(zhǔn)差為1.11。PSO-LSTM的相關(guān)系數(shù)為0.983,標(biāo)準(zhǔn)差為1.01。SSA-LSTM模型的相關(guān)系數(shù)為0.984,標(biāo)準(zhǔn)差為0.998。其中SSA-LSTM模型相較于其他對(duì)照模型具有最強(qiáng)的相關(guān)性和最低的標(biāo)準(zhǔn)差,因此SSA-LSTM模型相較于對(duì)照模型對(duì)于黃鱔池溶氧的預(yù)測(cè)性能最好。 提出了SSA-LSTM模型,利用麻雀搜索算法對(duì)LSTM隱藏層中神經(jīng)元的個(gè)數(shù)、dropout層的丟棄率超參數(shù)進(jìn)行迭代尋優(yōu),克服了人工選取超參數(shù)的隨機(jī)性和不確定性對(duì)模型的影響。利用SSA-LSTM模型對(duì)上海市農(nóng)業(yè)科學(xué)院莊行綜合試驗(yàn)站黃鱔循環(huán)水養(yǎng)殖池的溶氧參數(shù)進(jìn)行預(yù)測(cè),準(zhǔn)確度、均方根誤差、均方誤差、平均絕對(duì)誤差分別為96.77%、0.67、0.53、0.81,相較于對(duì)照模型準(zhǔn)確度有明顯提升,均方根誤差、均方誤差、平均絕對(duì)誤差有明顯下降,結(jié)果表明SSA-LSTM模型的預(yù)測(cè)精度和魯棒性都優(yōu)于其他幾種模型。本研究只是使用單個(gè)變量的數(shù)據(jù)集對(duì)溶氧進(jìn)行預(yù)測(cè),在現(xiàn)實(shí)中,水質(zhì)多個(gè)參數(shù)間存在著復(fù)雜的耦合關(guān)系。分析參數(shù)間的耦合關(guān)系,并利用這種的耦合關(guān)系實(shí)現(xiàn)對(duì)關(guān)鍵性參數(shù)的預(yù)測(cè),在未來將是一個(gè)很好的研究方向。 □2 建立SSA-LSTM水質(zhì)參數(shù)預(yù)測(cè)模型
3 試驗(yàn)與結(jié)果分析
3.1 數(shù)據(jù)處理
3.2 搭建模型
3.3 結(jié)果分析
4 結(jié)論