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