?

基于GA-RBF融合算法的玉米病蟲害產量損失預測研究

2019-08-20 13:46王冬雪陳桂芬李英倫史樹森
江蘇農業科學 2019年9期
關鍵詞:RBF神經網絡遺傳算法

王冬雪 陳桂芬 李英倫 史樹森

摘要:鑒于玉米病蟲害等影響因素在預測玉米產量損失時所具有的復雜及非線性等特點,采用傳統的徑向基函數(radial basis function,簡稱RBF)神經網絡預測起來相對較難,且其預測精度較低。針對上述問題,提出1種基于遺傳算法(genetic algorithm,簡稱GA)和徑向基函數神經網絡相融合的優化算法,對病蟲害所造成的玉米產量損失進行預測。該融合算法利用人工神經網絡的非線性擬合能力強和遺傳算法尋優能力強的優點,建立最優產量損失預測模型,將該模型的估算值與玉米產量的實際值進行擬合,得到較好的擬合效果圖。為了驗證算法的可行性,以國家863計劃示范基地榆樹市弓棚鎮13號村的試驗數據為樣本數據進行仿真預測。結果表明,經過GA-RBF融合算法的預測誤差為0.207,較優化前誤差降低了0.151,預測精度得到提高,實現對玉米病蟲害產量損失的有效預測。預測結果可為農民進行科學有效的病蟲害防控提供科學依據,經濟有效地降低受災程度,提高玉米產量。

關鍵詞:遺傳算法;RBF神經網絡;融合算法;玉米病蟲害;產量損失預測模型

中圖分類號: TP312;S126文獻標志碼: A

文章編號:1002-1302(2019)09-0263-04

玉米不僅作為東北地區的主要糧食種植作物,而且在整個糧食生產中也具有重要的地位。病蟲害是影響玉米產量的重要因素之一,現階段病蟲害頻發對玉米的產量及質量造成了極大的威脅[1-3]。病蟲害農業產量損失預測與防治已成為農業經濟發展中一個不可或缺的環節。因此,對其進行研究和分析預測具有較強的實際指導意義。

鑒于玉米病蟲害等影響因素在預測玉米產量損失時所具有的復雜及非線性等特點[4],采用傳統單一的人工神經網絡對其進行預測不僅相對困難,且預測精度不達標,在解決樣本量少、噪聲多的問題時整體效果達不到預期。神經網絡技術雖在各個領域均有不同的應用,但仍然存在一些難以解決的問題[5],因此須對其進行相應的改進,使其發揮良好的預測作用。

針對以上問題,本研究提出一種基于遺傳算法(genetic algorithm,簡稱GA)與徑向基函數(radial basis function,簡稱RBF)神經網絡融合的優化算法,這種基于遺傳算法和神經網絡的GA-RBF融合算法不僅可以充分發揮神經網絡良好的映射能力,而且可以提高RBF神經網絡的收斂及自適應學習能力,在處理產量損失預測時具有獨特的優勢。通過融合后的優化算法建立GA-RBF預測模型,對玉米病蟲害的產量損失進行預測。根據預測結果分析病蟲害的發生動態對玉米產量的影響程度,可使種植者及時防治災害,經濟有效地降低受災程度,提高玉米產量。

1 研究方法

1.1 GA-RBF優化算法模型的構建

本研究主要采用MATLAB軟件,采用的技術路線分為3個部分:首先,利用遺傳算法工具箱優化RBF神經網絡;然后,將優化后的RBF神經網絡與遺傳算法融合,建立新的 GA-RBF 工具箱;最后,構建產量損失預測模型。

1.1.1 優化指標的選取

通常在通過遺傳算法優化設計神經網絡時[6-8],最關鍵的步驟是對神經網絡各參數的選擇,即數據中心ci、擴展常數(寬度)σi以及權值wi大小的選擇。本研究主要是通過遺傳算法對神經網絡的寬度及中心值進行精確的選擇以及優化,只有選擇了精確的參數值,才能更好地發揮RBF神經網絡的逼近效果,提高預測精度。

首先需要對徑向基神經網絡隱含層的基函數g(x)進行選擇,不失一般性,選擇的隱含層基函數為徑向基神經網絡中常被選用的高斯函數[9]。并最終確定其在徑向基神經網絡中的激活函數為:

式中:x=(x1,x2,…,xn),為網絡輸入矢量;ci=(ci1,ci2,…,cin)為隱含層中心矢量(所屬第i個神經元),與x具有同樣的維數;σi是第i個基函數的寬度;m是隱含層神經元的數量;‖x-ci‖ 表示矢量x、ci之間的歐式范數[10]。其完成的非線性映射方程如下:

式中:X∈Rn是輸入矢量;φ是1個R+→R的非線性函數[11]。

在確定RBF神經網絡對應的函數以及相應參數后,將通過遺傳算法對其進一步優化及修正。

1.1.2 優化流程

1.1.2.1 訓練樣本的預處理

采取歸一化方法[12]對數據樣本進行處理:

式中:xpi為第p個樣本的第i個變量的原始數據;x′pi為第p個樣本的第i個變量的歸一化處理數據。預處理后的樣本數據范圍為(0,1)。

1.1.2.2 對應于RBF的遺傳編碼

在本研究提出的算法中,主要思想是讓RBF神經網絡的寬度同中心一起,通過遺傳算法對其進行優化和修改。常用的編碼包括二進制法和實數編碼法[13]。由于本研究中是對網絡結構的中心及寬度進行優化,選擇的中心值較大,若采取二進制編碼法,會造成計算量大的缺點。因此,最終決定采用實數編碼法進行編碼,這種方法比較直觀簡單,減少了編碼過程及計算量,方便神經網絡隱含層的設計,提高了網絡的訓練速度、運行效率及識別精度。

1.1.2.3 創建初始種群

試驗時,設定遺傳算法的初始種群數為20個,最大進化代數為1 000。初始種群,即初始基函數g(x)的中心值。

1.1.2.4 構造適應度函數

在進行網絡訓練時,原始數據樣本分為訓練數據集和測試數據集。通過訓練誤差和網絡規模來確定相應網絡的適應度。適應度函數在選取時需要依據具體問題的情況來確定,且該函數須保證為非負[14]。通過遺傳算法對RBF網絡進行編碼后,網絡以輸入、輸出數據作為樣本訓練數據集,運行后以所有訓練數據集的輸出與期望值的誤差平方和的倒數作為適應度函數,得到的適應度函數能夠較好地反映個體性能的差異。適應性函數的取值是衡量算法的一個關鍵信息,也是能否找到最優解的關鍵[13]。

采用的適應度函數如下:

式中:L、p為樣本數;d為實際輸出;y為預測輸出。

1.2 仿真參數的設置

遺傳算子的賦值[15-16]:通過選擇、交叉、變異等遺傳操作,可以產生新一代種群,并逐漸演變為近似最優解的最優狀態。遺傳算法是一個迭代過程,每次迭代都會保留一些候選的解決方案以及排序的利弊,這些解決方案是根據遺傳算子的指標選擇和計算,產生的新一代候選解決方案,最終使目標達到收斂。

(1)選擇率(代溝):經多次計算試驗認為,比值為0.8時,進行選擇方法的轉換是比較合適的。通過比例選擇法確定比值[17],計算公式如下所示:

pi=Fi∑F;i=1,2,3,…,m。(6)

(2)交叉率:通常來說,交叉概率的取值在0.5~1.0之間,不宜過小。因為交叉概率太小會使搜索停滯[18]。本研究中交叉概率的取值經計算選擇0.7。所采用的“實數交叉法”操作如下:

akj=akj(1-b)-akjbalj=alj(1-b)+aljb。(7)

式中:akj、alj分別為第k、l個染色體在j位進行的交叉操作;b為[0,1]間的隨機數。

(3)變異操作:變異概率取值通常在(0.01,0.1)之間,不宜過大。變異率過大會使算法變為隨機搜索模式[19]。本研究先后取變異率為0.02、0.05進行試驗后的對比分析。

2 結果與分析

2.1 試驗數據的獲取

研究區為吉林省榆樹市弓棚鎮十三號村的農用田,榆樹市屬長白山前臺地平原區,屬于黑鈣土質,主產作物是玉米和大豆等,它是吉林省重要的商品糧基地之一。所選數據是通過全球定位系統(global positioning system,簡稱GPS)獲取采樣點空間信息,然后利用地理信息系統(geographic information systems,簡稱GIS)技術將地塊劃分成40 m×40 m的網格單元,A1~L10為采樣點,地塊位置網格如圖1所示。在此網格單元內取樣,采集2008—2010年連續3年的玉米病蟲害數據,經過聚類處理后,獲得地塊的病株率、蟲害率及產量等屬性值,選取其中130個采樣點數據作為樣本數據。研究區域部分數據如表1所示。

2.2 部分MATLAB代碼

通過遺傳算法對RBF神經網絡進行優化的部分MATLAB代碼如下:

net=newrb(train_x,train_y,0.01,1,5,1);

%構建神經網絡

Test_y=sim(net,test_x);

FieldDD=rep(RANGE,[1,NVAR]);

Chrom=crtrp(NIND,FieldDD);

%創建初始種群

gen=0;

ObjV=objfuns(net,Chrom,train_x,train_y);

%計算初始目標函數值

tic

while gen

FitnV=ranking(ObjV);

%分配適應度值(Assign fitness values)

SelCh=select(‘sus,Chrom,FitnV,GGAP); %選擇

SelCh=recombin(‘xovsp,SelCh,0.7);%重組SelCh=mutbga(SelCh,FieldDD,[0.05,1]);%變異

ObjVSel=objfuns(net,SelCh,train_x,train_y);

%計算子代目標函數值

[Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel);

gen=gen+1;

trace(gen,1)=min(ObjV);

trace(gen,2)=sum(ObjV)/length(ObjV);

2.3 仿真結果分析

2.3.1 確定變異算子

變異算子的確定是本研究中衡量預測是否合理化的一個關鍵。在遺傳算法中,變異操作是不可或缺的,變異率的選擇是產生新基因必不可少的輔助方法[20-22]。因此,選擇適當的變異率是整個尋優過程中的一個重要步驟,若變異率過大,會造成算法變為隨機搜索方法。

根據試驗樣本數據集,最終設定RBF神經網絡的輸入層神經元為2個,即玉米病株率與玉米蟲害率;輸出層神經元為1個,即玉米產量;利用迭代方法來設計訓練RBF神經網絡,通過訓練,逐漸增加迭代次數,每迭代1次網絡結構就增加1個神經元,直到誤差平方和低于目標誤差,或網絡神經元的數目達到最大值時,迭代停止。本試驗最終得到1個含有5個隱層神經元的網絡模型。

為選出適當的變異率進行操作,先后分別采用變異率為0.02、0.05進行仿真試驗。試驗結果如圖2、圖3所示。

通過仿真試驗,對部分數據進行歸一化處理后,得到2種不同變異率情況下的預測結果,對預測結果進一步計算后得出:變異率為0.05時的預測精度高于變異率為0.02時的預測精度。因此,在對比后采用了0.05的變異率進行最終預測。通過對比2種預測結果,可以看到變異率為0.05時,產量預測整體歸一化趨勢較好,且采用GA-RBF融合算法進行玉米病蟲害產量預測的相對誤差要小,預測精度較傳統單一的RBF神經網絡得到了提高。

由此可見,對遺傳算法變異率的選擇是一個十分重要的

過程[23-25],選擇合適的變異率才會使算法達到最優。

2.3.2 預測誤差的比較

為將誤差進行對比,在經過多次仿真試驗后,得到如下結論:隨著網絡訓練集樣本的數量逐漸增加,本研究所提出的GA-RBF融合算法相較于傳統的RBF網絡而言,無論是在收斂速度或是在網絡逼近的準確性上均有所提高且網絡的全局搜索能力較好。本研究依次采用3種不同算法來分別測試樣本數據。

由表2可以看出,對于預測精度來說,本研究構建的 GA-RBF 模型,預測誤差為0.207,明顯優于RBF網絡和BP網絡;在處理速度方面,在預測10個樣本的情況下,GA-RBF網絡較單一的RBF網絡和BP神經網絡速度均有提高。

同時,為了驗證算法的準確性,并將預測值與實際值的誤差更明顯地反映出來,通過優化后的算法工具箱來輸出誤差曲線,截取部分數據作誤差曲線分析,誤差結果對比如圖4所示。

分析誤差曲線可以得出,預測值和實測值偏差較小,表現出較高的預測精度。進一步證明改進算法后的RBF網絡比單一的RBF網絡和傳統的BP網絡具有更高的精度和更快的速度,實用性得到了加強。

3 結論

玉米病害、蟲害等影響因素是影響玉米產量損失的重要因素之一,其所具有的復雜特性導致在使用傳統單一的神經網絡進行預測時相對困難,且預測精度不夠理想。因此,針對以上問題,本研究提出1種基于遺傳算法和徑向基函數神經網絡相融合的優化算法,對玉米病蟲害所造成的玉米產量損失進行預測。研究結果表明,基于遺傳算法優化后的RBF神經網絡模型,可實現對玉米病蟲害產量損失的有效預測。該模型能夠較好地處理病蟲害影響因素與玉米產量損失之間的非線性關系,效果優于傳統的預測模型,作為一種定量模型可有效用于病蟲害的適時防控工作。通過計算分析后得出,采用單一RBF神經網絡模型對樣本數據集進行訓練時,所得到的預測誤差為0.358 01;而經過GA-RBF融合算法的預測誤差為0.207,較優化前的誤差降低了0.151。由此可見,經 GA-RBF 融合算法優化參數后,玉米產量損失預測精確度得到了提高。經過多次仿真試驗驗證,當網絡的訓練樣本數增加時,本研究提出的GA-RBF融合優化算法較傳統RBF網絡在收斂速度和網絡逼近的準確性上相對提高,其網絡的全局搜索能力較好。從整體上而言,預測結果與實際影響產量損失相對吻合,取得了良好的預測效果,對玉米農作物在防蟲工作中起到了有效的參考作用。

本研究主要從影響玉米產量的空間區域來研究玉米產量損失的預測,沒有考慮時間特性和其他因素。今后,隨著實踐的不斷深入,數據的積累不斷豐富,將繼續進行深層次多方面的研究。

參考文獻:

[1]姜玉英,曾 娟,陸明紅. 2015年全國農作物重大病蟲害發生趨勢預報[J]. 中國植保導刊,2015(2):10-12.

[2]劉 杰,姜玉英. 2012年玉米病蟲害發生概況特點和原因分析[J]. 中國農學通報,2014,30(7):270-279.

[3]孫甜田,范作偉,劉淑霞,等. 吉林省不同熟期玉米病蟲害發生情況[J]. 中國農學通報,2014,30(30):222-227.

[4]符保龍. RBF網絡在農業病蟲害預測中的應用研究[J]. 安徽農業科學,2008,36(1):388-389.

[5]劉 璇,唐慧強,許遐禎,等. 基于神經網絡的農業病蟲害損失預測[J]. 農機化研究,2009,31(4):13-16.

[6]劉鯖潔,陳桂明,劉小方. 基于遺傳算法SVM參數組合優化[J]. 計算機應用與軟件,2012,29(4):94-100.

[7]Chen G F,Dong W,Jiang J,et al. Variable-rate fertilization decision-making system based on visualization toolkit and spatial fuzzy clustering[J]. Sensor Letters,2012,10(1):230-235.

[8]曹麗英. 玉米主產區土壤養分與玉米產量的時空變異及其相關性研究[D]. 合肥:安徽農業大學,2013.

[9]曠 嶺. RBF神經網絡的糧食產量預測[J]. 計算機仿真,2011,28(11):189-191,200.

[10]張方舟,郝慶輝,周 勃,等. 遺傳算法的RBF神經網絡在線損計算中的應用[J]. 計算機技術與發展,2014,24(6):192-195,199.

[1]莊 健,楊清宇,杜海峰,等. 一種高效的復雜系統遺傳算法[J]. 軟件學報,2010,21(11):2790-2801.

[12]王銘澤,關新紅,閆吉府,等. 股票的GA-RBF預測模型[J]. 遼寧工程技術大學學報(自然科學版),2014,33(7):970-973.

[13]張 紀. 基于遺傳算法優化神經網絡的糧食產量組合預測研究[D]. 新鄉:河南師范大學,2015.

[14]Ahmadi M A,Zendehboudi S,Lohi A,et al. Reservoir permeability prediction by neural networks combined with hybrid genetic algorithm and particle swarm optimization[J]. Geophysical Prospecting,2013,61(3):582-598.

[15]曾 鈺. 基于遺傳算法優化的RBF神經網絡在光伏發電MPPT中的應用[D]. 株洲:湖南工業大學,2015.

[16]Jaddi N S,Abdullah S,Hamdan A R. A solution representation of genetic algorithm for neural network weights and structure[J]. Information Processing Letters,2016,116(1):22-25.

[17]周維華. RBF神經網絡隱層結構與參數優化研究[D]. 上海:華東理工大學,2014.

[18]紀思琪,吳 芳. 基于神經網絡的蔬菜病害靜態預警模型[J]. 電腦知識與技術,2016,12(10):189-196.

[19]Hu J,Li D L,Duan Q L,et al. A fuzzy C-Means clustering based algorithm to automatically segment fish disease visual symptoms[J]. Sensor Letters,2012,10(1/2):190-197.

[20]任艷娜,席 磊,汪 強,等. 糧食產量預測模型的應用與仿真研究[J]. 計算機仿真,2011,28(4):208-211.

[21]唐 忠,謝 濤. Matlab神經網絡工具NNTool的應用與仿真[J]. 計算機與現代化,2012(12):44-47,54.

[22]龔 純,王正林. 精通MATLAB最優化計算[M]. 北京:電子工業出版社,2009:2-4.

[23]齊靈子. 大豆食葉害蟲危害損失預測模型的研究[D]. 長春:吉林農業大學,2013.

[24]王曉娟. 基于模糊控制與RBF神經網絡的桃病蟲害發生預測研究[D]. 保定:河北農業大學,2011.

[25]王志敏,方保停. 論作物生產系統產量分析的理論模式及其發展[J]. 中國農業大學學報,2009,14(1):1-7.

猜你喜歡
RBF神經網絡遺傳算法
遺傳算法對CMAC與PID并行勵磁控制的優化
基于自適應遺傳算法的CSAMT一維反演
一種基于遺傳算法的聚類分析方法在DNA序列比較中的應用
基于遺傳算法和LS-SVM的財務危機預測
協同進化在遺傳算法中的應用研究
基于改進的遺傳算法的模糊聚類算法
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合