林彬彬,袁 泉,田志新,潘顯斌,周文宗,徐 震
(1 上海工程技術大學機械與汽車工程學院,上海 201620;2 上海市農業(yè)科學院,上海 201403)
黃鱔,又名鱔魚,可食用,也可入藥,在中國和東南亞廣泛分布[1]。當前市場上大部分的黃鱔來源于人工養(yǎng)殖。溶氧是影響黃鱔養(yǎng)殖的重要因素。水體中較高的溶氧含量會促進有機物的分解,降低水體中的有害物質,為黃鱔營造一個優(yōu)良的生長環(huán)境[2]。而較低的溶氧含量則會導致黃鱔出現(xiàn)浮頭現(xiàn)象[3]。目前溶氧數據主要是依賴于傳感器的實時獲取[4]。但是傳感器數據僅能獲取當前狀態(tài),無法對異常數值進行預警,從而有可能導致養(yǎng)殖風險的發(fā)生。因此需要對水質問題做出預警并提前處理,溶氧參數的預測便十分重要。
溶氧作為水質參數的一種,具有非線性特征[5],傳統(tǒng)的預測方法主要是基于實踐經驗和數值模擬,但是這兩種方法需要具有豐富的實踐經驗或者建立在大量數據的基礎上,兩者皆無法建立普遍適用的模型。
使用機器學習建模為水質預測提供了一種新的方案。這些模型有許多好處:(1)無需具有豐富的實踐經驗;(2)減少了時間和成本(如材料和勞動力成本);(3)簡化了復雜的預測系統(tǒng)。目前,已有多種機器學習算法成功用于水質參數預測。Deng等[6]利用支持向量機(SVM)成功預測了香港吐露港海藻的變化趨勢。Li等[7]利用離散隱馬爾可夫模型(DHMM)和K-means聚類方法構建了水質參數預測模型,用于預測環(huán)渤海6個海洋牧場的溶氧飽和度和濁度。Peng等[8]利用差分進化算法對模糊神經網絡(FNN)參數進行優(yōu)化,建立了水產養(yǎng)殖水質溶氧的非線性預測模型,對對蝦養(yǎng)殖池水質數據進行了預測。對于具有時間序列特征的數據,循環(huán)神經網絡(RNN)[9-11]以及其變型門控循環(huán)單元(GRU)[12-14]、長短期記憶神經網絡(LSTM)[15-17]是最常用的方法。
幾乎所有神經網絡模型都需要人工去設置超參數,這具有較高的隨機性,會降低模型的預測效果[18]。為解決這個問題,一種可行的方法是利用元啟發(fā)式優(yōu)化算法[19]對神經網絡模型中的超參數進行優(yōu)化。元啟發(fā)式優(yōu)化算法主要分為三種,一種為仿生物種群的優(yōu)化算法,如粒子群算法(PSO)[20-21]、人工蜂群算法[22]、灰狼算法[23],第二種為仿物理化學過程的優(yōu)化算法,如模擬退火算法[24],第三種為仿遺傳進化規(guī)律的優(yōu)化算法,主要包括遺傳算法[25]。Xue等[26]基于麻雀的覓食與反捕食行為提出麻雀搜索算法(SSA),該算法搜索速度快、收斂精度高、魯棒性強,具有較強的全局尋優(yōu)的能力,可以有效地防止陷入局部最優(yōu)。
本研究利用麻雀搜索算法(SSA)以提高LSTM模型準確度為優(yōu)化目標,以LSTM模型中超參數為優(yōu)化對象,對LSTM進行優(yōu)化,搭建SSA-LSTM神經網絡模型;將SSA-LSTM模型用于水質溶氧參數的預測,并與LSTM、GRU、PSO-LSTM算法作對比。
使用水質在線監(jiān)測儀(Manta+40,美國Eureka)監(jiān)測上海市農業(yè)科學院莊行綜合試驗站黃鱔循環(huán)水養(yǎng)殖池(20 m2)水質,現(xiàn)場如圖1所示。

圖1 黃鱔循環(huán)水養(yǎng)殖池
黃鱔養(yǎng)殖池位于玻璃大棚內部,養(yǎng)殖水位30 cm,水泥池配有循環(huán)水過濾系統(tǒng),無其他增氧設施。本研究利用了2020年3月31日13:00至2020年5月31日12:00的溶氧監(jiān)測數據。
1.2.1 長短期記憶神經網絡
RNN是機器學習方法之一,主要用于處理時間序列數據。RNN的網絡結構如圖2所示,有一個自連接的隱藏層,它的當前狀態(tài)可以依靠前一時刻輸出進行更新,因此可以解決時間序列的長期依賴問題。

圖2 循環(huán)神經網絡網絡架構圖
但是對于較長的時間序列,在實際RNN的使用過程中,會出現(xiàn)梯度消失和梯度爆炸的現(xiàn)象。為了解決以上問題,提出了LSTM。LSTM是基于RNN的一種改進,它保留了RNN自連接的隱藏層,而且隱藏層中的節(jié)點更為復雜,可以實現(xiàn)較長時間序列的信息保留[27]。
LSTM由遺忘門、輸入門和輸出門三部分組成。通過巧妙的結構設計(圖3),很好地解決了RNN對于較長的時間序列狀態(tài)無法傳遞的問題。

圖3 長短期記憶神經網絡架構圖
遺忘門:遺忘門的功能是判斷應舍棄哪些信息。
ft=σ(Wf·[ht-1,xt]+bf)
(1)
輸入門:輸入門的功能是決定輸入哪些信息。
it=σ(Wi·[ht-1,xt]+bi)
(2)
(3)
輸出門:輸出門確定當前狀態(tài)的輸出。
Ot=σ(WO·[ht-1,xt]+bO)
(4)
ht=σt[tanh(Ct)]
(5)
式中:σ為sigmoid函數,tanh為tanh函數,Wf、Wi、WC、WO均為權重矩陣,bf、bi、bC、bO均為偏置矩陣,ht是當前狀態(tài)的輸出結果,xt是當前狀態(tài)的輸入,Ct是當前的隱藏狀態(tài)。
1.2.2 麻雀搜索算法
麻雀搜索算法模擬麻雀覓食過程中行為,將種群的麻雀分為三類,一類是生產者,負責尋找食物,引導種群前往食物豐富的區(qū)域;另一類是跟隨者,在覓食的過程中它們會時刻觀察著生產者,一旦發(fā)現(xiàn)生產者找到了更好的食物,會立刻放棄自己現(xiàn)在的食物,轉向生產者。此外種群中還有一定比例的警戒者,沒有危險時就在種群中隨意走動,一旦發(fā)現(xiàn)了危險就立刻向安全區(qū)域移動。在迭代的過程中,他們按照會一定的規(guī)則進行更新位置信息。生產者:
(6)

當AL 跟隨者: (7) 式中:n為當前麻雀種群的總數,XP是當前種群占據最好位置麻雀的位置。Xworst是當前種群占據最差位置麻雀的位置。A是一個滿足A+=AT(AAT)-1的1×d矩陣,A中的元素隨機取1或者-1。 如果i大于n/2,則表示當前的麻雀位置不好,可能會挨餓,因此需要飛往更遠的地方去覓食。如果i小于或等于n/2,說明當前麻雀位置尚可,只需向位置最好的麻雀靠近即可。 警戒者: (8) 當fi>fg時,代表當前麻雀處于種群的邊緣,極易受到攻擊。當fi=fi時,表示處于種群中心的麻雀意識到危險,開始向其他麻雀移動,減少被捕食的風險。 預測模型流程如圖4所示。 圖4 SSA-LSTM算法模型框架 在LSTM神經網絡中,隱藏層神經元的個數是影響模型性能關鍵性的超參數。除此以外,dropout層對模型的擬合程度也有著重要影響,dropout層的超參數值過小,模型會出現(xiàn)過擬合問題。針對水質數據的特點,利用SSA以LSTM中隱藏層神經元個數和dropout層的超參數為優(yōu)化對象,以提升性能指標準確度(ER2)為優(yōu)化目標,搭建SSA-LSTM預測模型。 具體步驟如下: 1)數據處理:數據處理是建模的基礎。在數據采集的過程中,會受到各種因素的影響,數據會出現(xiàn)缺失、數據異常(如違背常識的錯誤、數據的離群值、數據格式不一致),將會對建模的結果造成影響,因此需要對原始數據進行規(guī)范化的處理。首先對缺失和異常的數據利用拉格朗日插值法插值處理。接著將數據進行歸一化處理,統(tǒng)一映射到[0,1]中。歸一化處理可以加快模型的收斂速度,提高預測精度。最后將數據劃分為訓練集與驗證集。 (9) 式中:x、y分別為數據對應的橫、縱坐標。 (10) 式中:xmax、xmin分別為數據集中最大值、最小值。 2)利用SSA對LSTM進行優(yōu)化。 a)麻雀搜索算法參數初始化。確定麻雀總數、生產者數量、跟隨者數量、警戒者數量、迭代總數、初始麻雀的位置參數、安全閾值(ST)。 b)將性能指標準確度(ER2)作為適應度(fit)值,ER2取值介于[0,1]之間,越接近于1代表模型的預測精度越高。根據麻雀的適應度值來計算種群最優(yōu)和最差的位置。 c)根據麻雀搜索算法公式進行迭代,取fit值前20%為生產者,20%至90%為跟隨者,最后10%為警戒者。 d)判斷是否滿足終止條件,如果滿足輸出當前麻雀的位置參數和fit值。否則繼續(xù)執(zhí)行b和c。 3)利用SSA優(yōu)化后的參數,建立LSTM模型和訓練神經網絡。 4)訓練好的LSTM模型用來預測測試集和評估模型誤差。本研究選取均方根誤差(ERMSE)、均方誤差(EMSE)、平均絕對誤差(EMAE)和準確度(ER2)作為評價指標來評價模型的預測效果。 (11) (12) (13) (14) 清洗后的數據分布如圖5所示。 圖5 黃鱔池溶氧變化曲線 由于在數據采集的過程中,容易受到各種因素的干擾,因此首先需要進行數據清洗工作。主要是對缺失值的插補和對異常值的剔除。然后用2020年5月21日之前的數據用作訓練集,2020年5月21日至2020年5月31日的數據用作測試集。 建立SSA-LSTM預測模型和3個對比模型(LSTM、GRU、PSO-LSTM),模型結構參數如表1所示。 表1 模型結構參數表 將處理后的數據導入SSA-LSTM模型和對照模型中進行預測,其中SSA-LSTM模型預測準確率為96.77%,相對于LSTM、GRU、PSO-LSTM模型性能對比如圖6所示。 圖6 不同模型預測結果與真實值對照圖 由圖6可知,每個模型對于溶氧的變化趨勢預測擬合基本一致,但是SSA-LSTM擬合度最高。通過4種評價指標(EMAE,ERMSE,EMSE,ER2)可以更加直觀地顯示4種模型的性能表現(xiàn),如表2所示,其中SSA-LSTM模型相對于LSTM和GRU模型,ER2分別提升了2.09%、3.34%,EMSE分別下降了23.1%、46.4%,EMAE分別下降了17.5%、32.0%,ERMSE分別下降了12.3%、26.8%。 表2 模型評價指標 基于上述指標表明,利用麻雀搜索算法優(yōu)化后的LSTM模型的預測精度和性能優(yōu)于未被優(yōu)化的LSTM模型。相對于PSO-LSTM模型ER2提升了0.55%,EMSE下降了12.3%,EMAE下降了10.9%,ERMSE下降了10.9%。基于上述指標表明,利用麻雀搜索算法優(yōu)化后的LSTM模型的預測精度和性能優(yōu)于利用粒子群算法優(yōu)化后的LSTM模型。 孫龍清等[28]利用天牛須搜索算法(IBAS)優(yōu)化LSTM,提出了IBAS-LSTM溶氧預測模型,模型預測結果EMSE為0.683 6,ERMSE為0.826 8,EMAE為0.542 8,通過結果可以看出,其模型性能與本研究提出模型性能基本一致。胡衍坤等[29]利用具有周期性的差分自回歸移動平均模型(SARIMA)與LSTM相結合,提出SARIMA-LSTM模型對河流水質指標中的化學需氧量進行預測,模型預測結果EMSE和ERMSE分別為3.17、1.37,模型性能不如本研究提出SSA-LSTM模型性能優(yōu)越。陳英義等[30]利用卷積神經網絡(CNN)對RNN進行優(yōu)化,提出CNN-RNN模型對水產養(yǎng)殖中溶氧參數進行預測,模型結果EMAE、ERMSE、ER2分別為0.138、0.229、0.954,其中ER2沒有本研究模型的效果好,但是EMAE、ERMSE兩項評價指標要優(yōu)于本研究模型,分析原因為在水質參數采集的過程中,容易受到各種環(huán)境因素的干擾,這些干擾因素在水質參數數據中會以噪聲的形式存在,陳英義等在對數據處理的過程中,采用了小波降噪的處理方式,降低了環(huán)境噪聲的干擾,因此其EMAE、ERMSE會優(yōu)于本研究模型。但是這樣會增大模型運算時占用的資源,考慮到在實際生產活動中模型需要符合輕量化布置的要求,便沒有將小波降噪加入到模型中。通過上述對比可以看出,本研究提出的SSA-LSTM模型具有較高的預測精度和預測質量,值得推廣和應用。 為了測試模型在連續(xù)性預測過程中的表現(xiàn),隨機選取連續(xù)10個點的4個模型預測值和真實值,其中GRU、LSTM、PSO-LSTM模型的平均絕對誤差分別為8.21%、6.18%、3.89%,而SSA-LSTM模型的平均絕對誤差為2.75%,低于對照模型。SSA-LSTM模型的最大絕對誤差為6.92%,而GRU、LSTM、PSO-LSTM模型的最大絕對誤差分別為15.51%、8.76%、7.39%,SSA-LSTM相對于對照模型分別下降66.45%、55.41%、29.22%。證明SSA-LSTM模型在連續(xù)性預測工程中具有優(yōu)越的性能。各模型實際值與預測值絕對誤差對比如表3所示。黃鱔池溶氧模型的泰勒如圖7所示。 表3 各模型實際值與預測值絕對誤差對比 圖7 黃鱔池溶氧模型的泰勒圖 圖7是上海市農業(yè)科學院循環(huán)水黃鱔養(yǎng)殖池的溶氧預測模型性能的泰勒圖[31]。泰勒圖是基于預測值與真實值的相關系數、均方根誤差和標準差繪制的可以更加直觀描述模型性能的工具。圖中的散點代表著本試驗的模型,徑向參數代表相關系數,橫軸和縱軸代表標準差。GRU模型的相關系數為0.975,標準差為1.02。LSTM模型的相關系數為0.978,標準差為1.11。PSO-LSTM的相關系數為0.983,標準差為1.01。SSA-LSTM模型的相關系數為0.984,標準差為0.998。其中SSA-LSTM模型相較于其他對照模型具有最強的相關性和最低的標準差,因此SSA-LSTM模型相較于對照模型對于黃鱔池溶氧的預測性能最好。 提出了SSA-LSTM模型,利用麻雀搜索算法對LSTM隱藏層中神經元的個數、dropout層的丟棄率超參數進行迭代尋優(yōu),克服了人工選取超參數的隨機性和不確定性對模型的影響。利用SSA-LSTM模型對上海市農業(yè)科學院莊行綜合試驗站黃鱔循環(huán)水養(yǎng)殖池的溶氧參數進行預測,準確度、均方根誤差、均方誤差、平均絕對誤差分別為96.77%、0.67、0.53、0.81,相較于對照模型準確度有明顯提升,均方根誤差、均方誤差、平均絕對誤差有明顯下降,結果表明SSA-LSTM模型的預測精度和魯棒性都優(yōu)于其他幾種模型。本研究只是使用單個變量的數據集對溶氧進行預測,在現(xiàn)實中,水質多個參數間存在著復雜的耦合關系。分析參數間的耦合關系,并利用這種的耦合關系實現(xiàn)對關鍵性參數的預測,在未來將是一個很好的研究方向。 □
2 建立SSA-LSTM水質參數預測模型


3 試驗與結果分析
3.1 數據處理

3.2 搭建模型

3.3 結果分析




4 結論