陳智威
(浙江理工大學(xué) 信息學(xué)院,浙江 杭州 310018)
隨著智慧農(nóng)業(yè)的發(fā)展,土壤參數(shù)預(yù)測(cè)研究取得了一些成果。研究人員在基于紅外光譜和支持向量機(jī)的土壤參數(shù)預(yù)測(cè)中應(yīng)用支持向量機(jī)算法對(duì)實(shí)時(shí)土壤光譜數(shù)據(jù)進(jìn)行處理,獲得了土壤全氮和有機(jī)質(zhì)的回歸模型[1-3]。楊瑋等[4]建立基于土壤參數(shù)的冬小麥預(yù)測(cè)模型,采用灰色理論對(duì)冬小麥土壤電導(dǎo)率、土壤pH值等因子進(jìn)行關(guān)聯(lián)分析,結(jié)果表明,反向傳播(BP)神經(jīng)網(wǎng)絡(luò)以及模糊最小二乘支持向量機(jī)(FLSSVM)預(yù)測(cè)模型的精度都較高,可以用來(lái)評(píng)估作物產(chǎn)量,為精細(xì)農(nóng)業(yè)變量處方管理提供理論與技術(shù)支持。本文采用遺傳算法(GA)-鯨魚(yú)算法(WOA)混合優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法對(duì)農(nóng)業(yè)土壤參數(shù)進(jìn)行預(yù)測(cè),并與其他算法進(jìn)行對(duì)比分析,為未來(lái)土壤參數(shù)的預(yù)測(cè)提供理論依據(jù)。
農(nóng)業(yè)土壤參數(shù)主要通過(guò)相關(guān)傳感器進(jìn)行采集,包括土壤溫度傳感器、土壤濕度傳感器、土壤電導(dǎo)率傳感器和土壤pH傳感器。通過(guò)模數(shù)(AD)轉(zhuǎn)換、微處理器和通用分組無(wú)線業(yè)務(wù)(GPRS)模塊將采集到的數(shù)據(jù)發(fā)送到云端,在云端通過(guò)上位機(jī)軟件可以做可視化處理,人們通過(guò)網(wǎng)頁(yè)等方式就可以了解采集的具體的土壤參數(shù)數(shù)值。
針對(duì)BP神經(jīng)網(wǎng)絡(luò)自身的缺點(diǎn),利用GA的全局搜索能力優(yōu)化BP神經(jīng)網(wǎng)絡(luò)。但由于標(biāo)準(zhǔn)GA存在易陷入局部最優(yōu)等缺點(diǎn),因此,本文將GA與WOA混合,提升算法尋優(yōu)能力,從而達(dá)到優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的目的。
1.2.1 GA
GA[5]是一類借助生物界進(jìn)化規(guī)律而得來(lái)的隨機(jī)化搜索方法,通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解。其基本運(yùn)行過(guò)程:1)隨機(jī)產(chǎn)生初始種群,初始化交叉率、變異率等相關(guān)進(jìn)化參數(shù);2)計(jì)算當(dāng)前種群中每個(gè)候選個(gè)體解的適應(yīng)度值;3)采用輪盤(pán)賭等方法對(duì)候選個(gè)體進(jìn)行基于適應(yīng)度值的選擇,將好的個(gè)體遺傳到下一代或者通過(guò)交叉變異方式產(chǎn)生下一代個(gè)體;4)將父代個(gè)體對(duì)進(jìn)行均勻交叉、單點(diǎn)交叉等,以產(chǎn)生新候選個(gè)體;5)通過(guò)變異概率改變個(gè)體部分基因座上的基因值;6)判斷得到的值是否滿足要求,滿足則退出,不滿足則返回步驟2)。
1.2.2 WOA
鯨魚(yú)算法[6]受自然界座頭鯨覓食行為的啟發(fā),包括環(huán)繞式捕食、泡泡網(wǎng)捕食和搜索捕食3個(gè)階段。
1.2.3 GA-WOA混合優(yōu)化算法
大量實(shí)驗(yàn)表明,GA由于交叉變異算子的引入,擁有很強(qiáng)的局部尋優(yōu)能力,但是容易陷入局部最優(yōu)。鯨魚(yú)算法跳出局部尋優(yōu)能力強(qiáng)且調(diào)整參數(shù)少,但是在處理復(fù)雜的優(yōu)化問(wèn)題上存在收斂精度低且收斂速度慢的缺點(diǎn)。本文提出基于GA與WOA的混合優(yōu)化算法GA-WOA,把GA和WOA各自擅長(zhǎng)的尋優(yōu)能力進(jìn)行有機(jī)結(jié)合。算法的具體實(shí)現(xiàn)步驟:1)初始化候選解群、迭代次數(shù)T與成員算法GA和WOA的偏好閾值r,當(dāng)前迭代次數(shù)t=0;2)若t
1.2.4 GA-WOA混合算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)
BP神經(jīng)網(wǎng)絡(luò)作為一種多層前饋神經(jīng)網(wǎng)絡(luò),其特點(diǎn)主要是信號(hào)前向傳遞、誤差方向傳播,BP神經(jīng)網(wǎng)絡(luò)包括輸入層、隱含層和輸出層,BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 BP的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
GA-WOA混合算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的基本思想是利用GA-WOA混合算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值,編碼時(shí)個(gè)體為神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,將BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練誤差作為個(gè)體的適應(yīng)度值,選擇最優(yōu)的BP神經(jīng)網(wǎng)絡(luò)初始權(quán)值和閾值。具體流程:1)BP神經(jīng)網(wǎng)絡(luò)初始化,確定網(wǎng)絡(luò)的輸入輸出結(jié)構(gòu)、初始連接權(quán)值和閾值;2)GA-WOA混合算法初始化,根據(jù)BP神經(jīng)網(wǎng)絡(luò)的初始連接權(quán)值和閾值對(duì)遺傳算法初始值編碼;3)以BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練誤差為適應(yīng)度值進(jìn)行選擇、交叉、變異、泡泡網(wǎng)捕食等操作,直至達(dá)到條件;4)獲得最優(yōu)權(quán)值和閾值;5)計(jì)算誤差更新權(quán)值和閾值;6)輸出誤差結(jié)果。
算法流程圖如圖2所示。
圖2 GA-WOA混合算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò) 算法的流程
實(shí)驗(yàn)采用土壤采集系統(tǒng)采集的數(shù)據(jù)和土壤數(shù)據(jù)網(wǎng)中的土壤參數(shù)數(shù)據(jù)作為數(shù)據(jù)集。實(shí)驗(yàn)中硬件環(huán)境:主頻2.2 GHz的Intel Core I3 CPU,內(nèi)存為4 GB,操作系統(tǒng)為Windows 10,集成開(kāi)發(fā)環(huán)境為Matlab 7.0。
實(shí)驗(yàn)對(duì)比算法包括:基于GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的農(nóng)業(yè)土壤參數(shù)預(yù)測(cè)算法,基于粒子群優(yōu)化算法(PSO)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的農(nóng)業(yè)土壤參數(shù)預(yù)測(cè)算法,基于WOA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的農(nóng)業(yè)土壤參數(shù)預(yù)測(cè)算法。GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的基本思想是利用GA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值;PSO優(yōu)化BP神經(jīng)網(wǎng)絡(luò)算法綜合了PSO的全局隨機(jī)變量最優(yōu)解和梯度下降局部細(xì)致搜索優(yōu)勢(shì)的特點(diǎn),用初始值作為粒子向量的值,優(yōu)化了BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值,達(dá)到了提高預(yù)測(cè)精度和改善泛化性的目的;WOA優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的基本思想是通過(guò)環(huán)繞式、泡泡網(wǎng)和搜索等捕食方法得到最優(yōu)的權(quán)值和閾值。
基于GA-WOA混合算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的算法綜合了WOA和GA算法的優(yōu)勢(shì),對(duì)BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行優(yōu)化,通過(guò)對(duì)樣本數(shù)據(jù)的不斷訓(xùn)練和測(cè)試,從而能夠?qū)ξ磥?lái)某一時(shí)刻的數(shù)值進(jìn)行精準(zhǔn)的預(yù)測(cè)。
回歸預(yù)測(cè)評(píng)價(jià)指標(biāo)主要包括R2、均方誤差(MSE)、均方根誤差(RMSE)、平均絕對(duì)百分誤差(MAPE)、平均絕對(duì)誤差(MAD),計(jì)算公式:
式中:a表示實(shí)際值;b表示預(yù)測(cè)值;c表示觀測(cè)數(shù)據(jù)的平均值。
GA-WOA混合優(yōu)化算法的參數(shù)設(shè)置如下:種群數(shù)50,迭代次數(shù)100,學(xué)習(xí)因子1,最大權(quán)重0.9,最小權(quán)重0.5,對(duì)數(shù)螺旋形狀常數(shù)1,變異概率0.7,交叉概率0.7。通過(guò)算法適應(yīng)度迭代曲線、預(yù)測(cè)效果圖和誤差表對(duì)GA-WOA混合優(yōu)化算法以及其他智能優(yōu)化算法在農(nóng)業(yè)土壤參數(shù)預(yù)測(cè)上的效果進(jìn)行對(duì)比及分析。
從圖3可以看出,在整個(gè)迭代過(guò)程中,每一代的適應(yīng)值隨著算法迭代次數(shù)的增加而減少,說(shuō)明該算法有效,且穩(wěn)定地向真實(shí)最優(yōu)解逼近。在進(jìn)行100次迭代后,土壤電導(dǎo)率(EC)、pH、濕度和溫度的種群最優(yōu)值分別從0.48、0.134、0.022和8.7下降到了0.28、0.010 5、0.013 8和4.2。經(jīng)過(guò)GA-WOA混合優(yōu)化后的算法能夠在很少的迭代次數(shù)下得到最小值,即最優(yōu)解。
圖3 適應(yīng)度的迭代曲線
從圖4可以看出,將50個(gè)測(cè)試樣本的實(shí)際值與本文方法預(yù)測(cè)值進(jìn)行對(duì)比,土壤EC、pH、濕度和溫度的預(yù)測(cè)值與實(shí)際值的最大誤差分別為0.4、0.45、0.5和0.6,具有很好的預(yù)測(cè)準(zhǔn)確度。
隨機(jī)取出10個(gè)土壤EC數(shù)據(jù)樣本值,計(jì)算其絕對(duì)誤差和相對(duì)誤差。從表1可以看出,預(yù)測(cè)值與實(shí)際值的最大差距為0.24,相對(duì)誤差在10%以內(nèi),即預(yù)測(cè)值與實(shí)際值比較接近。
為了驗(yàn)證GA-WOA遺傳優(yōu)化算法在優(yōu)化BP神經(jīng)網(wǎng)絡(luò)中的優(yōu)勢(shì),將此優(yōu)化算法與GA優(yōu)化算法、PSO優(yōu)化算法和WOA優(yōu)化算法以相同參數(shù)進(jìn)行對(duì)比實(shí)驗(yàn)。
表1 基于GA-WOA算法的土壤電導(dǎo)率預(yù)測(cè)誤差
圖4 預(yù)測(cè)的效果
以土壤EC為例,GA、PSO、WOA和GA-WOA適應(yīng)度收斂曲線對(duì)比結(jié)果如圖5所示。GA-WOA算法相對(duì)于其他算法能夠在最少的迭代次數(shù)上得到最優(yōu)解。雖然WOA算法相比GA-WOA混合算法收斂速度快,但由于其跳出局部最優(yōu)解的能力不足,導(dǎo)致其容易陷入局部最優(yōu)解,所以其結(jié)果距離最優(yōu)解較遠(yuǎn)。由于PSO算法和WOA算法適合處理連續(xù)型問(wèn)題,而本文主要處理離散問(wèn)題,所以GA-WOA算法更適合。GA-WOA算法較GA算法具有更快的收斂速度,且輸出結(jié)果更好,所以GA-WOA算法具有更強(qiáng)的搜索能力以及跳出局部最優(yōu)解的能力,預(yù)測(cè)效果更好。GA-WOA算法相比其他智能優(yōu)化算法,具備更優(yōu)的預(yù)測(cè)性能。
圖5 GA、PSO、WOA和GA-WOA適應(yīng)度 收斂曲線的比較
不同算法優(yōu)化的BP預(yù)測(cè)效果如表2所示。以土壤EC為例,通過(guò)GA-WOA混合算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)的回歸預(yù)測(cè)在R2上大于其他算法,在MSE、RMSE、MAPE和MAD上均小于其他算法,說(shuō)明GA-WOA混合算法實(shí)現(xiàn)了對(duì)標(biāo)準(zhǔn)GA的優(yōu)化。
表2 不同算法優(yōu)化的BP預(yù)測(cè)效果
提出一種基于GA-WOA混合算法來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)并用于對(duì)土壤相關(guān)參數(shù)值進(jìn)行預(yù)測(cè)的方法,實(shí)驗(yàn)結(jié)果表明,該算法能夠更快地達(dá)到最小值(最優(yōu)解),且預(yù)測(cè)值與實(shí)際值的誤差較小。該算法與其他優(yōu)化算法相比,具備預(yù)測(cè)誤差小、快速、預(yù)測(cè)值優(yōu)的特點(diǎn),可為未來(lái)農(nóng)業(yè)生產(chǎn)提供指導(dǎo),促進(jìn)智慧農(nóng)業(yè)的發(fā)展。