• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于GA-Adam優(yōu)化算法的BP神經(jīng)網(wǎng)絡(luò)農(nóng)業(yè)灌水量預(yù)測模型

      2022-04-12 02:47:14王建輝冉金鑫沈瑩瑩韓振中崔遠(yuǎn)來羅玉峰
      中國農(nóng)村水利水電 2022年4期
      關(guān)鍵詞:權(quán)值梯度閾值

      王建輝,冉金鑫,沈瑩瑩,韓振中,崔遠(yuǎn)來,羅玉峰

      (1.武漢大學(xué)水資源與水電工程科學(xué)國家重點(diǎn)實(shí)驗(yàn)室,武漢430072;2.中國灌溉排水發(fā)展中心,北京100054)

      0 引言

      農(nóng)業(yè)水資源管理是區(qū)域水資源優(yōu)化配置的重要環(huán)節(jié),而合理配置農(nóng)業(yè)水資源的前提是需要對(duì)農(nóng)業(yè)灌溉用水量進(jìn)行精確預(yù)測[1]。從機(jī)理層面看,農(nóng)業(yè)灌溉用水量受區(qū)域降水量、蒸散量、灌溉面積、灌溉水利用系數(shù)等因素的影響,從宏觀層面看,農(nóng)業(yè)灌水量與區(qū)域水資源可利用數(shù)量、灌溉工程建設(shè)水平、農(nóng)業(yè)結(jié)構(gòu)調(diào)整和灌溉管理水平等諸多因素也存在著密不可分的聯(lián)系[2]。因此農(nóng)業(yè)灌水量的變化趨勢既存在著可預(yù)見的規(guī)律性,又存在著一定的不確定性。要實(shí)現(xiàn)對(duì)其精確地預(yù)測,需要一種既能從機(jī)理層面解釋,又能在高維非線性關(guān)系中找尋最優(yōu)解的方法。人工神經(jīng)網(wǎng)絡(luò)模型便是一個(gè)比較合適的方法。

      近些年國內(nèi)外學(xué)者對(duì)神經(jīng)網(wǎng)絡(luò)應(yīng)用于灌溉用水量預(yù)測做了許多探索性研究。徐建新[3]等提出BP 神經(jīng)網(wǎng)絡(luò)灌區(qū)灌水量預(yù)測模型,考慮了灌溉面積、年降雨量以及糧食產(chǎn)量對(duì)灌溉用水量的影響;方旭[4]等利用BP 神經(jīng)網(wǎng)絡(luò)模型,對(duì)遼寧錦州市為實(shí)例進(jìn)行了灌水量預(yù)測,結(jié)果滿足規(guī)范要求;張藝聰[5]利用BP神經(jīng)網(wǎng)絡(luò)模型鄭州市農(nóng)業(yè)灌溉用水量進(jìn)行預(yù)測,預(yù)測精度較好。但這類方法采用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型算法,存在參數(shù)的初始值得不到優(yōu)化、收斂速度慢等問題。遲道才[6]等在人工神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上引入灰色預(yù)測方法,二者結(jié)合成并聯(lián)型灰色神經(jīng)網(wǎng)絡(luò)預(yù)測方法。儲(chǔ)誠山[7]等、嚴(yán)旭[8]等相繼提出了基于遺傳算法的BP 神經(jīng)網(wǎng)絡(luò)用水量預(yù)測模型,有效地提高了BP 神經(jīng)網(wǎng)絡(luò)的預(yù)測精度。Zhang[9]等通過非線性協(xié)整理論與小波神經(jīng)網(wǎng)絡(luò)相結(jié)合的方法,建立了灌溉水量小波非線性協(xié)整預(yù)測模型。但這類研究仍存在許多不足:并聯(lián)型灰色神經(jīng)網(wǎng)絡(luò)和小波非線性協(xié)整預(yù)測模型只在中長期灌水預(yù)測中表現(xiàn)較好,在短期灌水預(yù)測中誤差較大;單一遺傳算法不能解決學(xué)習(xí)率固定導(dǎo)致的收斂速度緩慢問題。本文從原理角度分析了傳統(tǒng)BP 神經(jīng)網(wǎng)絡(luò)在訓(xùn)練過程中存在的弊端,引入了GA 和Adam 兩種優(yōu)化算法,以黃河流域隴中片灌溉分區(qū)內(nèi)7 個(gè)典型灌區(qū)的實(shí)測灌水?dāng)?shù)據(jù)為例,對(duì)GA-Adam-BP神經(jīng)網(wǎng)絡(luò)的性能進(jìn)行了分析。

      1 優(yōu)化算法分析

      1.1 傳統(tǒng)GD算法存在的問題

      BP 神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑ニ惴ㄓ?xùn)練的多層前饋網(wǎng)絡(luò)。模型運(yùn)行過程包括正向傳播和誤差反向傳播兩部分。以3層BP 神經(jīng)網(wǎng)絡(luò)為例,如圖1所示。首先,樣本數(shù)據(jù)通過加權(quán)計(jì)算后,經(jīng)過輸入層、隱藏層以及輸出層,然后通過激活函數(shù),計(jì)算出網(wǎng)絡(luò)輸出值;最后將輸出值從輸出層到輸入層反向遍歷所有層,確定輸出層與樣本輸出期望值之間的損失函數(shù)。當(dāng)網(wǎng)絡(luò)誤差達(dá)到一定精度要求時(shí),網(wǎng)絡(luò)便訓(xùn)練成功[10]。

      圖1 3層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖Fig.1 3-layer BP neural network structure diagram

      在誤差反向傳播的過程中,梯度下降法(GD)是最原始的調(diào)整損失函數(shù)參數(shù)的方法。GD 法的原理是:當(dāng)誤差沒有達(dá)到預(yù)設(shè)精度,將損失函數(shù)分別對(duì)權(quán)重w和閾值b進(jìn)行求導(dǎo),求得損失函數(shù)對(duì)應(yīng)不同參數(shù)下的梯度dw和db,然后沿著負(fù)梯度方向進(jìn)行迭代,就可以收斂到損失函數(shù)最小值[11]。迭代公式為:

      式中:wt、bt是調(diào)整后的權(quán)值和閾值,wt-1、bt-1是待訓(xùn)練的權(quán)值和閾值,α是學(xué)習(xí)率,dw、db是梯度。

      傳統(tǒng)GD法存在著以下兩個(gè)問題:

      (1)參數(shù)的初始值選擇問題。初始權(quán)值w和閾值b一般是模型設(shè)計(jì)者給出的參數(shù),初始值選擇不同,獲得的最小值也有可能不同。因此GD 法求得的結(jié)果從理論上看只是局部最小值,除非損失函數(shù)是凸函數(shù)。因此傳統(tǒng)GD 法存在著局部最優(yōu)解而非全局最優(yōu)解的風(fēng)險(xiǎn),需要多次用不同初始值運(yùn)行算法,選擇損失函數(shù)最小化的初值。

      (2)學(xué)習(xí)步長的選擇問題。學(xué)習(xí)率α指定了反向傳播過程中梯度下降的步長,在GD 法中,學(xué)習(xí)率α從始至終是固定不變的,學(xué)習(xí)率太小會(huì)導(dǎo)致收斂速度過慢,而學(xué)習(xí)率太大會(huì)阻礙收斂,同時(shí)還會(huì)導(dǎo)致?lián)p失函數(shù)在極小值周圍波動(dòng)甚至背離。因此選擇合適的學(xué)習(xí)率變得尤為重要。

      1.2 引入GA算法后的改進(jìn)方案

      遺傳算法(GA)是一種并行隨機(jī)搜索最優(yōu)化方法。其基本要素包括:染色體編碼、適應(yīng)度函數(shù)、遺傳操作和運(yùn)行參數(shù)[12]。在本文中使用的編碼方法為實(shí)數(shù)編碼,每個(gè)個(gè)體均為一個(gè)實(shí)數(shù)串,由輸入層與隱含層連接權(quán)值、隱含層閾值、隱含層與輸出層連接權(quán)值以及輸出層閾值共4 部分組成。由于個(gè)體包含了神經(jīng)網(wǎng)絡(luò)全部權(quán)值和閾值,因此在網(wǎng)絡(luò)結(jié)構(gòu)已知的情況下,就可以構(gòu)成一個(gè)確定的神經(jīng)網(wǎng)絡(luò)。適應(yīng)度函數(shù)F為預(yù)測輸出和期望輸出之間的誤差絕對(duì)值和,函數(shù)表達(dá)式為:

      式中:k為系數(shù);Ti為期望輸出值;為預(yù)測輸出值。

      然后通過GA 法中選擇、交叉和變異操作找到最小適應(yīng)度值對(duì)應(yīng)個(gè)體,從全局得到最優(yōu)個(gè)體對(duì)網(wǎng)絡(luò)初始權(quán)值w和閾值b的賦值。因此引入GA 法可以實(shí)現(xiàn)對(duì)初始權(quán)值和閾值的預(yù)篩選,同時(shí)還可解決傳統(tǒng)GD 法存在著局部最優(yōu)解而非全局最優(yōu)解的缺點(diǎn)。

      1.3 引入Adam算法后的改進(jìn)方案

      Adam 算法來源于適應(yīng)性矩估計(jì)(Adaptive Moment Estimation),是一種使用動(dòng)量和自適應(yīng)學(xué)習(xí)率來加快收斂速度的優(yōu)化算法[13]。引入動(dòng)量因子是為了抑制GD 法在收斂過程中的震蕩作用。與GD 法相比,Adam 算法不直接使用梯度,而是用各個(gè)時(shí)刻梯度的指數(shù)移動(dòng)平均值來代替GD 法中的梯度,也即是梯度的一階矩估計(jì),其表達(dá)式為:

      式中:mt-1、mt分別為迭代前、迭代后的一階矩估計(jì);β1為指數(shù)加權(quán)平均參數(shù);dk代表權(quán)值w或閾值b的梯度。

      自適應(yīng)學(xué)習(xí)率算法實(shí)質(zhì)上是采用了梯度的二階矩估計(jì)[14]。二階矩估計(jì)表達(dá)式為:

      式中:vt-1、vt分別為迭代前、迭代后的二階矩估計(jì);β2為指數(shù)加權(quán)平均參數(shù);dk2代表權(quán)值w或閾值b的梯度平方。

      將上述一階動(dòng)量mt、二階動(dòng)量vt結(jié)合在一起,對(duì)權(quán)值和閾值進(jìn)行更新,表達(dá)式如下:

      式中:wt、bt為調(diào)整后的權(quán)值和閾值;wt-1、bt-1為待訓(xùn)練的權(quán)值和閾值;α為學(xué)習(xí)率;δ為常數(shù)。

      由式(6)和(7)可看出,Adam 算法利用一階矩估計(jì)mt代替GD 法的梯度,從而控制權(quán)值或閾值的調(diào)整方向;利用二階矩估計(jì)vt調(diào)整學(xué)習(xí)率的大小,讓學(xué)習(xí)速率自適應(yīng)于梯度變化,從而解決GD法難以選擇學(xué)習(xí)率和影響模型收斂的問題。

      2 模型的構(gòu)建

      2.1 GA-Adam-BP神經(jīng)網(wǎng)絡(luò)的構(gòu)建

      本文將GA 算法和Adam 算法同時(shí)應(yīng)用到BP 神經(jīng)網(wǎng)絡(luò)的農(nóng)業(yè)灌水量預(yù)測模型中,算法流程圖如圖2所示。

      圖2 GA-Adam-BP神經(jīng)網(wǎng)絡(luò)流程圖Fig.2 GA-Adam-BP neural network flow chart

      2.2 樣本數(shù)據(jù)簡介

      樣本數(shù)據(jù)為黃河流域隴中片灌溉分區(qū)內(nèi)典型灌區(qū)的氣象資料和作物實(shí)測灌水資料。典型灌區(qū)包括:興電灌區(qū)、賈崖張井五家溝灌區(qū)、發(fā)源灌區(qū)、菜子口灌區(qū)、灃泰渠灌區(qū)、永固渠灌區(qū)、馬寨南井灌區(qū)等7個(gè)灌區(qū)。樣本數(shù)據(jù)主要包括:

      (1)氣象資料。氣象資料包括典型灌區(qū)對(duì)應(yīng)7 個(gè)氣象站點(diǎn)的2015年1月1日-2018年12月31日的逐日氣象數(shù)據(jù),數(shù)據(jù)來源于中國氣象數(shù)據(jù)網(wǎng)(http://data.cma.cn/)。

      (2)實(shí)測灌水資料。7 個(gè)典型灌區(qū)的玉米實(shí)測灌水資料(2015-2018年)。利用氣象資料整理月降雨量,月ET0等因素作為模型輸入層,從水量平衡機(jī)理層面解釋農(nóng)業(yè)灌水量的變化趨勢;同時(shí)加入時(shí)間序列因子,增強(qiáng)模型的短期預(yù)測能力。以7個(gè)典型灌區(qū)2015-2017年的數(shù)據(jù)作為模型的訓(xùn)練集,2018年的數(shù)據(jù)作為測試集。表1 為興電灌區(qū)的訓(xùn)練集與測試集數(shù)據(jù)示例。由于灌區(qū)實(shí)測灌水?dāng)?shù)據(jù)不全,有些年份和月份的實(shí)測灌水量是空值,將空值日期剔除后,共計(jì)64 組訓(xùn)練數(shù)據(jù),14 組測試數(shù)據(jù)。

      表1 興電灌區(qū)訓(xùn)練集與測試集數(shù)據(jù)Tab.1 Xingdian Irrigation Area training samples and test samples

      2.3 模型參數(shù)設(shè)置

      (1)BP神經(jīng)網(wǎng)絡(luò)參數(shù)設(shè)置。以樣點(diǎn)數(shù)據(jù)中月ET0、月降雨以及月份序列作為模型的輸入層,輸入節(jié)點(diǎn)為3。月灌溉定額作為模型的輸出層,輸出節(jié)點(diǎn)為1。從理論來看,當(dāng)BP 網(wǎng)絡(luò)結(jié)構(gòu)為3 層時(shí),可以無限趨近于任何有理函數(shù)。考慮本模型輸入層節(jié)點(diǎn)數(shù)并不多,設(shè)置過多隱含層數(shù)容易導(dǎo)致過擬合現(xiàn)象。因此,將隱含層數(shù)設(shè)為1,隱含層節(jié)點(diǎn)數(shù)設(shè)為12。初始權(quán)重w和閾值b均設(shè)為0.5,訓(xùn)練結(jié)束次數(shù)設(shè)為5 000。

      (2)GA 和Adam 算法參數(shù)設(shè)置。GA 法參數(shù)設(shè)置:種群規(guī)模為10,進(jìn)化次數(shù)為50 次,交叉概率為0.4,變異概率為0.2。Adam 算法參數(shù)設(shè)置為:初始學(xué)習(xí)率α設(shè)為0.001,一階矩、二階矩估計(jì)的指數(shù)加權(quán)平均參數(shù)β1和β2分別設(shè)為0.9 和0.999,δ取值為10×10-8。

      3 模型的性能評(píng)價(jià)

      3.1 模型訓(xùn)練性能分析

      本文分別使用GD算法、GA算法、Adam算法以及GA-Adam算法對(duì)BP 神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,共建立4 種農(nóng)業(yè)灌水量預(yù)測模型,模型參數(shù)設(shè)置保持一致,以此檢驗(yàn)GA-Adam 優(yōu)化算法性能的好壞。

      圖3 為4 種算法在實(shí)際訓(xùn)練過程損失函數(shù)變化圖。對(duì)比4種模型誤差收斂速度,其中GA 法無法在指定訓(xùn)練次數(shù)達(dá)到預(yù)設(shè)精度,在訓(xùn)練次數(shù)達(dá)到5 000次仍未達(dá)到預(yù)設(shè)精度。由圖3可看出,訓(xùn)練次數(shù)達(dá)到1 400 次左右時(shí),GD 法的損失函數(shù)基本收斂在0.022 5附近,這說明傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)能力不夠,未能捕捉到樣本數(shù)據(jù)集的特征信息;GA 法可以改進(jìn)傳統(tǒng)梯度下降法收斂速度慢的缺點(diǎn),在訓(xùn)練次數(shù)達(dá)到1 084 次時(shí),損失函數(shù)值降為0.001,達(dá)到預(yù)設(shè)訓(xùn)練精度;Adam 法能夠快速收斂,在訓(xùn)練93 次時(shí)達(dá)到預(yù)設(shè)精度。GA-Adam 法所需訓(xùn)練次數(shù)最少,在訓(xùn)練67次時(shí)達(dá)到預(yù)設(shè)精度。

      圖3 不同算法的損失函數(shù)變化圖Fig.3 Variation diagram of loss function of different algorithms

      圖4 是4 種算法的訓(xùn)練時(shí)長對(duì)比圖。GD 法在訓(xùn)練過程中速度基本保持恒定,這可能是因?yàn)镚D 法保持恒定學(xué)習(xí)率進(jìn)行訓(xùn)練導(dǎo)致的結(jié)果。GD 法在預(yù)設(shè)5 000 次訓(xùn)練次數(shù)的限制下,用時(shí)3.926 s,而其損失函數(shù)在第1400 次訓(xùn)練次數(shù)時(shí)基本達(dá)到收斂,此時(shí)訓(xùn)練時(shí)長為1.113 s,同比其他算法依舊用時(shí)最多;GA法在訓(xùn)練末期速度加快,總訓(xùn)練時(shí)長達(dá)到0.966 s;Adam 法和GA-Adam 法在10 次訓(xùn)練次數(shù)以內(nèi),訓(xùn)練速度均較為緩慢,隨后逐漸加快,在訓(xùn)練末期速度減慢。總訓(xùn)練時(shí)長達(dá)到0.528 s 和0.403 s。

      圖4 不同算法的訓(xùn)練時(shí)長對(duì)比圖Fig.4 Comparison of training duration of different algorithms

      因此,結(jié)合訓(xùn)練精度和時(shí)長來看,GA-Adam法最為高效,僅在訓(xùn)練次數(shù)為67 次,訓(xùn)練時(shí)長為0.403 s 時(shí)就達(dá)到模型預(yù)設(shè)精度。

      3.2 模型預(yù)測結(jié)果分析

      圖5 為4 種算法模型預(yù)測值與期望值的對(duì)比圖。從圖5 中可看出,GD 法和GA 法的預(yù)測值曲線變化趨勢與實(shí)測值的變化趨勢大致一致,除了個(gè)別與測試樣本數(shù)據(jù)相差較大,例如GD 法與測試樣本序列第3、6、9、11 的誤差較大,GA 法與測試樣本序列2、4、7、9 的誤差較大??傮w來看GD 法和GA 法的預(yù)測值與實(shí)測值之間的擬合情況一般。GD 法預(yù)測效果更差,GA 法相對(duì)較好。Adam 法和GA-Adam 法的預(yù)測值擬合效果較好,預(yù)測值曲線均大致分布在實(shí)測值附近,該兩種方法較GD 和GA 法來看明顯更優(yōu)。

      圖5 不同算法模型預(yù)測值與實(shí)測值的對(duì)比圖Fig.5 Comparison between predicted and measured values of different algorithm models

      為了定性分析二者的優(yōu)劣性,進(jìn)行4 種算法預(yù)測值與實(shí)測值的回歸分析。圖6為預(yù)測值與實(shí)測值的回歸分析圖。采用均方根誤差RMSE)、平均絕對(duì)誤差MAE和決定系數(shù)R2等統(tǒng)計(jì)指標(biāo)對(duì)預(yù)測值進(jìn)行精度評(píng)價(jià)。均方根誤差RMSE、平均絕對(duì)誤差MAE越小,決定系數(shù)越接近1,預(yù)測值和實(shí)際值越接近,預(yù)測效果越好。表2 為4 種算法模型預(yù)測誤差表。由表1 和圖6 可看出,隨著算法的改進(jìn),4種算法的均方根誤差和平均絕對(duì)誤差逐漸減小,預(yù)測誤差從大到小的算法依次是GD 法、GA 法、Adam法、GA-Adam 法,GA-Adam 法的RMSE和MAE分別為54.73 和47.76。從決定系數(shù)R2來看,從大到小順序?yàn)镚A-Adam 法、Adam法、GA法、GD法,其中GA-Adam 法的R2為0.81,最接近于1。綜上所述,不論從模型訓(xùn)練速度還是從預(yù)測結(jié)果精度來看,均是GA-Adam法為最佳優(yōu)化算法。

      表2 不同算法模型預(yù)測誤差表Tab.2 Prediction error table of different algorithm models

      圖6 不同算法模型預(yù)測值與實(shí)測值的對(duì)比圖Fig.6 Comparison between predicted and measured values of different algorithm models

      4 結(jié)論

      GA-Adam算法在訓(xùn)練過程中表現(xiàn)出極高的精度,同時(shí)收斂速度最快,僅在訓(xùn)練次數(shù)為67 次,訓(xùn)練時(shí)長為0.403 s 時(shí)便達(dá)到預(yù)設(shè)精度;在模型測試誤差分析中,GA-Adam 模型預(yù)測值與期望值的RMSE和MAE分別為54.73和47.76,決定系數(shù)R2為0.81,同樣是GA-Adam 算法預(yù)測精度最好。綜上所述,本文基于GA-Adam 優(yōu)化算法的BP 神經(jīng)網(wǎng)絡(luò)農(nóng)業(yè)灌水量預(yù)測模型,在農(nóng)業(yè)灌水量預(yù)測方面有較高的可靠性和較好的應(yīng)用性。□

      猜你喜歡
      權(quán)值梯度閾值
      一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
      一個(gè)改進(jìn)的WYL型三項(xiàng)共軛梯度法
      CONTENTS
      一種自適應(yīng)Dai-Liao共軛梯度法
      小波閾值去噪在深小孔鉆削聲發(fā)射信號(hào)處理中的應(yīng)用
      一類扭積形式的梯度近Ricci孤立子
      基于自適應(yīng)閾值和連通域的隧道裂縫提取
      比值遙感蝕變信息提取及閾值確定(插圖)
      河北遙感(2017年2期)2017-08-07 14:49:00
      基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
      室內(nèi)表面平均氡析出率閾值探討
      邵武市| 青州市| 北流市| 连州市| 金门县| 陇西县| 东乡族自治县| 隆回县| 巍山| 方山县| 磴口县| 白城市| 德安县| 双桥区| 三门县| 谷城县| 会理县| 读书| 广南县| 南宫市| 赣州市| 榆林市| 大关县| 楚雄市| 施甸县| 弥勒县| 南开区| 迁西县| 延庆县| 德令哈市| 玛纳斯县| 许昌市| 玛多县| 通州区| 辽源市| 察哈| 图木舒克市| 望城县| 南江县| 盐津县| 招远市|