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