商志根,段小匯
(鹽城工學(xué)院電氣工程學(xué)院,江蘇 鹽城 224051)
我國(guó)是一個(gè)貧水大國(guó),人均水資源約為世界人均水平的1/4,然而我國(guó)農(nóng)業(yè)用水約占總供水的80%,其中多用于灌溉。隨著我國(guó)水資源供需矛盾日益突出,農(nóng)業(yè)灌溉必須走上精細(xì)灌溉之路。對(duì)作物需水量做出準(zhǔn)確預(yù)測(cè),并按需灌溉,對(duì)農(nóng)業(yè)工程中的節(jié)水灌溉具有重要意義[1]。
在農(nóng)業(yè)工程中,通常有2種方法計(jì)算作物需水量:基于修正的Penman-FAO公式的估算方法與基于時(shí)間序列或回歸模型的預(yù)測(cè)方法。修正的Penman-FAO公式是一種計(jì)算作物騰發(fā)量的方法,僅需氣溫、日照時(shí)數(shù)、水氣壓和風(fēng)速等氣象資料,是目前普遍應(yīng)用的公式之一,然而該方法計(jì)算精度略低[2]。近年來(lái),國(guó)際國(guó)內(nèi)學(xué)者提出了基于時(shí)間序列、模糊理論、灰色理論與神經(jīng)網(wǎng)絡(luò)(Neural Network, NN)等模型的預(yù)測(cè)方法。張兵等人[3]提出了一種基于L-M算法訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的作物需水量預(yù)測(cè)模型。夏澤豪等人[4]將灰色理論與神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出一種新的基于灰色神經(jīng)網(wǎng)絡(luò)的作物需水量預(yù)測(cè)模型。孟麗麗等人[5]基于α-加權(quán)模糊線性回歸模型預(yù)測(cè)作物需水量。因?yàn)樯窠?jīng)網(wǎng)絡(luò)可以逼近連續(xù)的非線性曲線,受到相關(guān)研究者的廣泛關(guān)注[6]。但是,神經(jīng)網(wǎng)絡(luò)對(duì)權(quán)重向量初始值敏感,并且是一種大樣本分析方法。
支持向量機(jī)(Support Vector Machine, SVM)采用結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,對(duì)較少的樣本,將樣本數(shù)據(jù)映射到一個(gè)高維空間里,進(jìn)而將數(shù)據(jù)間的關(guān)系用一種確定的方式表達(dá)[7]。LS-SVM(Least Squares SVM)是SVM的一種,它將SVM中的不等式約束改為等式約束,將訓(xùn)練集的誤差平方和作為經(jīng)驗(yàn)損失,于是SVM的二次優(yōu)化問(wèn)題轉(zhuǎn)化為線性方程組問(wèn)題。LS-SVM因計(jì)算速度快、性能良好而得到廣泛的應(yīng)用[8-16]。文獻(xiàn)[11]將經(jīng)驗(yàn)?zāi)J椒纸馀cLS-SVM相結(jié)合,用于微小通道氣液兩相流的流型辨識(shí)。文獻(xiàn)[12]為了給液壓機(jī)的鍛造工藝建模,提出了一種局部LS-SVM。文獻(xiàn)[13]利用LS-SVM預(yù)測(cè)機(jī)械加工表面的粗糙度,實(shí)驗(yàn)結(jié)果表明與NN相比,LS-SVM的預(yù)測(cè)精度更高。LS-SVM的相關(guān)參數(shù)對(duì)模型性能具有很大影響。近年來(lái),研究者將智能優(yōu)化算法用于SVM的參數(shù)組合尋優(yōu)[14-16]。文獻(xiàn)[14-15]將粒子群優(yōu)化算法(Particle Swarm Optimization, PSO)[17]優(yōu)化的LS-SVM分別用于瀝青質(zhì)沉積預(yù)測(cè)和物流系統(tǒng)的貨物運(yùn)輸量預(yù)測(cè)。文獻(xiàn)[16]結(jié)合馬氏距離,利用PSO優(yōu)化的LS-SVM實(shí)現(xiàn)模擬電路的早期故障診斷。
本文以美國(guó)田納西州大學(xué)高原實(shí)驗(yàn)室所測(cè)的數(shù)據(jù)[18]為例,以空氣濕度、溫度、太陽(yáng)輻射以及風(fēng)速為輸入,利用LS-SVM,構(gòu)造非負(fù)線性組合核函數(shù),將PSO與交叉驗(yàn)證相結(jié)合確定模型相關(guān)參數(shù),實(shí)驗(yàn)表明與神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林(Random Forest, RF)[19-20]相比,LS-SVM可取得更好的預(yù)測(cè)精度。
(1)
其中,φ(·)將原空間映射到高維特征空間,‖w‖2控制模型的復(fù)雜度,b為偏置,C可控制訓(xùn)練誤差在目標(biāo)函數(shù)中的比重。為得到優(yōu)化問(wèn)題(1)的對(duì)偶問(wèn)題,定義Lagrange函數(shù)如下:
(2)
其中,乘子αi≥0。Lagrange函數(shù)對(duì)于參數(shù)w、b、e、α的偏導(dǎo)數(shù)都應(yīng)等于0,得到:
(3)
(4)
Cei+αi=0
(5)
φ(xi)Tw+b-yi-ei=0
(6)
將式(3)和式(5)代入式(6),可得到:
(7)
將式(4)和式(7)寫成線性方程組形式,并將高維特征空間的內(nèi)積運(yùn)算用核函數(shù)代替,即K(xi,xj)=φ(xi)Tφ(xj),得到:
(8)
其中,1=[1,…,1]T∈Rl,α=[α1,…,αl]Τ,y=[y1,…,yl]Τ,I為單位矩陣。
核函數(shù)對(duì)LS-SVM預(yù)測(cè)模型的性能有重要影響。根據(jù)泛函相關(guān)理論,滿足Mercer條件的函數(shù)都可作為核函數(shù),且不同的核函數(shù)的非負(fù)線性組合仍然滿足Mercer條件[21]。常見(jiàn)的核函數(shù)有:
其中,d為正整數(shù),σ為正實(shí)數(shù)。在實(shí)際應(yīng)用中,徑向基核函數(shù)表現(xiàn)出良好的性能。徑向基核函數(shù)是典型的局部核,而多項(xiàng)式核函數(shù)是典型的全局核[21]。為利用多項(xiàng)式核函數(shù)和徑向基核函數(shù)的優(yōu)勢(shì),以它們的非負(fù)線性組合作為本文的核函數(shù):
(9)
其中,0<ρ<1。
粒子群算法與遺傳算法都是基于群體和適配概念的優(yōu)化算法,不同之處在于PSO算法有記憶粒子最佳位置的能力,同時(shí)粒子間的信息共享機(jī)制可免去遺傳算法的3步操作(選擇、交叉、變異),具有收斂速度快、規(guī)則簡(jiǎn)單、易于實(shí)現(xiàn)的優(yōu)點(diǎn)。
(10)
(11)
(12)
PSO算法需優(yōu)化LS-SVM的4個(gè)參數(shù),粒子群算法中的粒子如圖1所示。
圖1 粒子群算法中的粒子
PSO算法優(yōu)化LS-SVM參數(shù)的過(guò)程如下:
Step1初始化PSO。
將t設(shè)置為1,設(shè)置粒子群規(guī)模、粒子取值范圍與最大速度vmax、最大進(jìn)化代數(shù)、c1、c2、w,設(shè)置迭代結(jié)束條件為t達(dá)到最大迭代次數(shù),隨機(jī)產(chǎn)生n個(gè)粒子的位置與速度,單個(gè)粒子的歷史最優(yōu)解設(shè)置為粒子初始位置。
Step2訓(xùn)練LS-SVM模型。
利用訓(xùn)練數(shù)據(jù)和各粒子對(duì)應(yīng)的參數(shù)組合,根據(jù)式(8)和式(9),訓(xùn)練各粒子對(duì)應(yīng)的LS-SVM,計(jì)算驗(yàn)證集的均方根誤差(Root Mean Square Error, RMSE)。RMSEv的計(jì)算表達(dá)式為:
Step3更新粒子群。
將Step2中的RMSE的倒數(shù)作為粒子適應(yīng)度,更新粒子的歷史最優(yōu)解、粒子群的歷史最優(yōu)解,根據(jù)式(10)~式(12)更新粒子群。
Step4檢驗(yàn)迭代結(jié)束條件。
若滿足結(jié)束條件,則返回粒子群的當(dāng)前最優(yōu)解;否則t=t+1,轉(zhuǎn)至Step2。
預(yù)測(cè)模型的測(cè)試過(guò)程為:
Step1訓(xùn)練LS-SVM模型。
將訓(xùn)練集與驗(yàn)證集合并作為新的訓(xùn)練集,利用PSO算法返回的參數(shù),重新訓(xùn)練LS-SVM模型。
Step2計(jì)算測(cè)試誤差。
利用Step1得到的LS-SVM對(duì)測(cè)試數(shù)據(jù)進(jìn)行預(yù)測(cè),并計(jì)算測(cè)試集的RMSE。
本文所用數(shù)據(jù)來(lái)自美國(guó)田納西州大學(xué)高原實(shí)驗(yàn)室,所用試驗(yàn)田為肥沃的沙質(zhì)土壤,其長(zhǎng)度為12.20 m,寬度為4.05 m。試驗(yàn)針對(duì)的作物為青椒,數(shù)據(jù)觀測(cè)時(shí)間為1994年5月~6月。在試驗(yàn)中,測(cè)量了與青椒需水量息息相關(guān)的4個(gè)量:太陽(yáng)凈輻射、相對(duì)濕度、天氣溫度和風(fēng)速,其中太陽(yáng)凈輻射為一天累計(jì)值,其余為一天平均值。試驗(yàn)數(shù)據(jù)共有50個(gè)樣本,如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)
神經(jīng)網(wǎng)絡(luò)選用單隱層結(jié)構(gòu),并利用L-M算法訓(xùn)練模型,學(xué)習(xí)步長(zhǎng)為0.001,最多迭代次數(shù)為103,隱層激活函數(shù)選擇Sigmoid函數(shù),隱層節(jié)點(diǎn)數(shù)從{1,2,3,4}中選擇。隨機(jī)森林含有100棵分類回歸樹(shù),葉節(jié)點(diǎn)的樣本數(shù)從{1,2,3,4,5}中選擇。粒子群優(yōu)化算法迭代次數(shù)為100,種群有20個(gè)粒子,慣性權(quán)重w取0.6,c1與c2都取1.7。為簡(jiǎn)單起見(jiàn),非負(fù)線性組合核函數(shù)的d值設(shè)為2。LS-SVM的相關(guān)參數(shù)為σ、ρ和C。σ的取值范圍為[0.01,5],C的取值范圍為[0.01,104]。
首先將樣本1~5作為測(cè)試數(shù)據(jù),樣本6~50作為訓(xùn)練數(shù)據(jù),在訓(xùn)練集上利用粒子群算法和9折交叉驗(yàn)證方法確定最小RMSE所對(duì)應(yīng)的參數(shù)值,獲得樣本1~5的測(cè)試結(jié)果;然后以樣本6~10為測(cè)試樣本,其余樣本為訓(xùn)練數(shù)據(jù)。以此類推,直至獲得樣本46~50的測(cè)試結(jié)果。
對(duì)于神經(jīng)網(wǎng)絡(luò)和LS-SVM而言,在模型訓(xùn)練之前需將數(shù)值數(shù)據(jù)進(jìn)行歸一化處理,以克服數(shù)值數(shù)據(jù)量綱的影響。圖2給出了神經(jīng)網(wǎng)絡(luò)、隨機(jī)森林和LS-SVM的預(yù)測(cè)結(jié)果。表2給出了3種模型在測(cè)試集上誤差統(tǒng)計(jì),其中,MAPEt和MAEt分別指測(cè)試集的平均絕對(duì)誤差率(Mean Absolute Percentage Error)、平均絕對(duì)誤差(Mean Absolute Error),計(jì)算表達(dá)式分別為:
圖2 模型預(yù)測(cè)結(jié)果
由表2可知,與神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林相比,LS-SVM可獲得更小的誤差指標(biāo),具有更好的預(yù)測(cè)性能。
表2 預(yù)測(cè)模型的誤差統(tǒng)計(jì)
為預(yù)測(cè)作物需水量,以空氣濕度、溫度、太陽(yáng)輻射以及風(fēng)速為輸入,建立LS-SVM預(yù)測(cè)模型,利用PSO和交叉驗(yàn)證方法確定模型相關(guān)參數(shù)。與神經(jīng)網(wǎng)絡(luò)和隨機(jī)森林相比,LS-SVM模型可獲得更好的預(yù)測(cè)精度,有助于實(shí)施精細(xì)灌溉。