趙宇峰
【摘 要】為了能夠提高水產(chǎn)養(yǎng)殖中水體溶氧量短期預測精度,提出將遺傳算法和反向傳播(BP)神經(jīng)網(wǎng)絡相結合的預測模型。根據(jù)相關研究,采用對池水含氧量影響較大的幾個影響因素,作為預測模型的輸入端變化量;BP神經(jīng)網(wǎng)絡優(yōu)化的閾值和初始權值通過遺傳算法來獲得,遺傳算法具有全局搜索能力。采用改進后的BP神經(jīng)網(wǎng)絡建立起短期魚塘含氧量預測模型,該方法具有較高的預測精度。
【關鍵詞】魚塘增氧;BP神經(jīng)網(wǎng)絡;短期預測;遺傳算法
現(xiàn)代化的水產(chǎn)養(yǎng)殖中普遍使用增氧機作為魚塘水體增氧設備。多數(shù)增氧機的運行控制多為手動,或者根據(jù)時間程控,或者依靠傳感器采集的含氧量數(shù)據(jù)作為啟動依據(jù)。但是由于現(xiàn)代水產(chǎn)養(yǎng)殖中單位水面投放密度大,養(yǎng)殖場氣候變化快,水體藻類繁殖等因素,對水體的溶氧量影響大,而且具有突發(fā)性特點。增氧機不能及時反應,往往導致增氧不及時,造成翻塘事故,造成極大損失。
因此通過傳感器采集影響魚塘水體溶氧量因素的數(shù)據(jù),通過控制手段進行短期的水體溶氧量預測??梢愿鶕?jù)環(huán)境和水體變化及時或者提前啟動增氧機,避免大規(guī)模翻塘事故的發(fā)生。因此魚塘中水含氧量的短期預測是具有現(xiàn)實意義的。
1 BP神經(jīng)網(wǎng)絡
通過研究表明,水產(chǎn)養(yǎng)殖中影響水體溶氧量的因素比較多。包含養(yǎng)殖場實時氣溫、濕度、日照、氣壓等氣象參數(shù),以及水體藻類水平,水體富營養(yǎng)化條件以及生化需氧量等水體參數(shù)。屬于典型的多輸入,強耦合型的非線性映射關系。
神經(jīng)元是模仿人神經(jīng)元工作原理提出的模型。將許多神經(jīng)元之間按照層級互相連接,可以構成具有非線性、自適應、自組織的信息處理能力的神經(jīng)網(wǎng)絡。利用人工神經(jīng)網(wǎng)絡能夠模擬人腦的工作特性,BP神經(jīng)網(wǎng)絡是具有代表性的人工神經(jīng)網(wǎng)絡。當它的隱含層數(shù)和隱節(jié)點數(shù)具有相當規(guī)模(足夠多),就可以以任意的精度逼近非線性映射關系。
BP神經(jīng)網(wǎng)絡初始權值和閾值通過遺傳算法GA來確定,就可以避免BP網(wǎng)絡存在的收斂速度慢、容易陷入局部最優(yōu)值等問題。通過動量因子在BP學習算法中的引入,可以有效避免局部最優(yōu),達到較快搜索到全局最優(yōu)解。根據(jù)水體溶氧理論選取了氣壓、氣溫、溶氧量、季節(jié)、時間等氣象因素作為模型輸入,使用遺傳算法改進的BP 神經(jīng)網(wǎng)絡來建立魚塘水體溶氧預測模型。
2 遺傳算法改進型BP神經(jīng)網(wǎng)絡
在BP神經(jīng)網(wǎng)絡構建中,選擇不合理的輸入層和隱含層之間,隱含層和輸出層之間的連接權值初值;設置了不恰當?shù)碾[含層與輸出層的閾值初值,容易出現(xiàn)網(wǎng)絡收斂速度很慢及陷入局部最優(yōu)等問題。
“優(yōu)勝劣汰,適者生存”是自然界遺傳規(guī)律,遺傳算法是模擬自然界進化規(guī)律提出的。使用遺傳算法改進的BP神經(jīng)網(wǎng)絡魚塘水體溶氧預測模型按照遺傳規(guī)律方式進行參數(shù)優(yōu)化。按照遺傳規(guī)律,選取適應度函數(shù),通過選擇、交叉、變異方式對個體數(shù)據(jù)進行篩選。最優(yōu)的個體會在篩選中被保留,較差的個體會被迭代、淘汰[1]。經(jīng)過篩選后的種群就是在繼承而且更優(yōu)的一代,經(jīng)過反復篩選、直到滿足條件。
本文需要建設的是魚塘水體溶氧量短期預測模型,所以BP網(wǎng)絡的輸出量為未來某一時刻的水體溶氧量,選擇k=1。按照習慣水體溶氧量預測模型設計為包含輸入、隱含、輸出在內(nèi)的3層結構的BP神經(jīng)網(wǎng)絡,隱層節(jié)點為2n+1。神經(jīng)網(wǎng)絡的數(shù)目選擇為。隱含層的作用函數(shù)使用tansig型,使用pureline型函數(shù)作為輸出層的變換函數(shù)[2]。
具體構建步驟如下:
1)種群初始化。種群的個體是由網(wǎng)絡的輸入層和隱含層之間的連接權值,隱含層神經(jīng)元的閾值,隱含層和輸出層之間的連接權值,輸出層神經(jīng)元的閾值組成的數(shù)字串。采用實數(shù)編碼的方式對個體編碼,每個個體就是一個實數(shù)串。個體表達形式為:
w■w■…w■w■w■…w■a■…a■w'■…w'■(1)
2)適應度函數(shù)的確定。適應度函數(shù)F使用該網(wǎng)絡的輸出和期望輸出之間的絕對誤差和的倒數(shù)。
F=1/?撞■■■(2)
3)操作選擇。使用常規(guī)的輪盤賭注法從種群中隨機選擇若干個體,將選擇的個體設定為雙親,用來繁殖后代。按照適應度函數(shù)的選擇,適應度高的個體有更高的概率被遺傳下去,而適應度低的個體被遺傳的概率就比較小[2]。個體i能夠被選擇的概率為pi:
pi=F■/?撞■■F■(3)
式中:F■為個體i 的適應度值C,為種群個體的數(shù)目。
4)交叉操作。被選擇的個體以交叉概率pc來交換個體內(nèi)的數(shù)據(jù)(基因),于是產(chǎn)生兩個新的個體。按照實數(shù)交叉法,兩個個體k1和k2的第j位基因進行交叉,方式如下:
基因交叉的操作方法如下:
gk■j=gk■jr+gk■j(1-r)gk■j=gk■jr■+gk■j(1-r)(4)
式中:gk■j,gk■j分別表示第k■,k■個個體的第j位基因,r為隨機數(shù)取值在[0,1]之間。
5)變異操作。為了增加種群的多樣性,對第i 個個體的第j 個基因gij進行變異操作,變異概率為Pv,按照遺傳率變異概率一般較小。變異操作的方法如下:
g■=g■r+(g■-g■)r■(1-■),r■?叟0.5g■r+(g■-g■)r■(1-■),r■<0.5(5)
中:g■,g■分別為基因g■的上界限和下界限,r是一個隨機數(shù),s■是最大進化次數(shù),s是當前迭代次數(shù),r1為隨機數(shù)取值在[0,1]間的。
6)計算并驗證適應度函數(shù)值。如果算法結束條件能夠滿足,將輸出優(yōu)化后的權值和閾值。如果算法結束條件不能夠滿足,就重新返回第3)步運算。
7)通過遺傳算法優(yōu)化后的輸出,來組建BP神經(jīng)網(wǎng)絡。神經(jīng)網(wǎng)絡的權值和閾值來自于GA的輸出,使用樣本來對網(wǎng)絡進行訓練,就可以得到水體溶氧量短期預測模型。
8)水體溶氧量短期預測模型的泛化能力要使用檢驗樣本來檢測。
3 仿真
用于網(wǎng)絡訓練和檢驗的樣本來自于真實的魚塘的傳感器采集到氣象數(shù)據(jù),這些數(shù)據(jù)記錄了20天左右魚塘的氣象參數(shù)變化,由于氣象數(shù)據(jù)變化較為緩慢,按照離散做法,選擇每一段時間間隔的數(shù)據(jù),組成采樣樣本。從中選擇200組數(shù)據(jù)用作對網(wǎng)絡的訓練,30組數(shù)據(jù)用作對訓練后網(wǎng)絡的檢測。以此建立起魚塘水體溶氧量預測模型。
魚塘水體溶氧量的預測依據(jù)參數(shù)主要是當前含氧量變化率,氣溫、氣壓、濕度。以t時刻為時間起點,選擇該點的溫度、氣壓、濕度等參數(shù)作為起始數(shù)據(jù),組合t-3,…,t時刻的溶氧量作為預測模型輸入變量,進行t+1h 時刻的溶氧量的預測。
為了避免因為輸入量絕對值過大造成的神經(jīng)元輸出飽和,以及因此引起的取值調(diào)整進入水平區(qū)。對樣品數(shù)據(jù)進行歸一化處理是有必要的,使輸入層、輸出層數(shù)據(jù)都映射到[0,1]。在網(wǎng)絡訓練完成后,模型的輸出再映射回原始數(shù)據(jù)的范圍。
在遺傳算法中,如果初始種群數(shù)目不夠,將會導致后續(xù)計算的可變異基數(shù)少,得到性能良好的算法;但是如果種群數(shù)多,計算量又過大。按照經(jīng)驗,種群數(shù)一般選在20-60之間較為合理。因為做原理驗證,避免大規(guī)模計算故選擇20組,40次進化。
選擇合適的交叉頻率,可以控制交叉?zhèn)€體的更新速度。如果交叉概率過大,會造成高適應個體被快速破壞,而交叉概率過低,又會造成高適應個體搜索無效。一般按照經(jīng)驗,交叉概率選擇為0.5。同樣,變異率與交叉率類似,太大會造成搜索困難,太小優(yōu)秀個體又產(chǎn)生不出來。按照經(jīng)驗,變異率選擇為0.05。
經(jīng)過仿真驗證,遺傳算法優(yōu)化的神經(jīng)網(wǎng)絡參數(shù)較為合理的。再經(jīng)過樣本訓練后,在一定的時間內(nèi),溶氧量預測模型的輸出精度比較高。
4 結論
本文根據(jù)水體溶氧量理論,選取對水體影響較大,且容易由傳感器采集的濕度、溫度和氣壓等參數(shù)作為魚塘水體溶氧量短期預測模型的輸入量。減少了輸入變量的個數(shù),降低了預測模型的難度。利用遺傳算法改進了預測模型的神經(jīng)網(wǎng)絡的初始參數(shù),如神經(jīng)網(wǎng)絡的權值和閾值。經(jīng)驗證神經(jīng)網(wǎng)絡具有更快的收斂速度和一定的精度。為魚塘短期氧容量預測提供了一種解決辦法。
【參考文獻】
[1]王宇,尹曉峰,黃鵬程.神經(jīng)網(wǎng)絡和遺傳算法在膠粘劑設計中的應用[J].中國膠粘劑,2011-2-28.
[2]王德明,王莉,張廣明.基于遺傳BP神經(jīng)網(wǎng)絡的短期風速預測模型[J].浙江大學學報(工學版),2012-5-15.
[3]LightbodyL,IwinGW.Direet Neural Model Referenee Adaptive Control[J].IEEE Proc.Pt.D.Control Theory and pplieation,1995,142(l):31-43.
[4]周東華.自適應遺傳算法的策略和應用研究[D].合肥:中國科學技術大學,2006:26-47.
[5]席裕庚,柴天佑.遺傳算法綜述[J].控制理論與應用,1996,13(6):11-27.
[6]李士勇.模糊控制.神經(jīng)控制和智能控制論[M].哈爾濱:哈爾濱工業(yè)大學出版社,2004:254-264.
[責任編輯:田吉捷]