匡 亮,華 馳,鄧小龍,施 珮
(1.江蘇信息職業(yè)技術(shù)學(xué)院 物聯(lián)網(wǎng)工程學(xué)院,江蘇 無錫 214153;2.南京信息工程大學(xué) 物理與光電工程學(xué)院,南京 210044; 3.南京航空航天大學(xué) 計算機信息科學(xué)與技術(shù)學(xué)院,南京 210016;4.中國水產(chǎn)科學(xué)研究院淡水漁業(yè)研究中心,農(nóng)業(yè)部淡水漁業(yè)和種質(zhì)資源利用重點實驗室,江蘇 無錫 214081)
水蜜桃是華東華南地區(qū)具有巨大經(jīng)濟(jì)價值的農(nóng)作物之一。水蜜桃的生長除了品種影響因素外,還與種植的環(huán)境有著密切聯(lián)系?;谇叭藢λ厶矣绊懸蜃拥难芯靠梢园l(fā)現(xiàn)[1-2],除了不同肥料比例、pH和紫外線等因素,濕度也是果園中重要的環(huán)境參數(shù)之一,與果樹的病蟲害及果子品質(zhì)有著密切的聯(lián)系。精準(zhǔn)、實時的果園濕度監(jiān)控系統(tǒng)對水蜜桃的產(chǎn)量和品質(zhì)有重要影響。
目前,有很多專家學(xué)者搭建基于WSN的濕度監(jiān)控系統(tǒng),也展開了濕度的監(jiān)控、插補和預(yù)測研究。郭秀明等[3]搭建了基于WSN的蘋果園溫度采集系統(tǒng),研究空氣溫濕度的果園分布特征;謝新華等[4]在番茄溫室大棚中,利用WSN監(jiān)控系統(tǒng)分析和研究溫濕度的變化規(guī)律;鄧雯等[5]基于能量平衡和物質(zhì)平衡原理,建立了蔬菜大棚的溫度和濕度的預(yù)測模型,模型的輸入?yún)?shù)不易測量,實用性不強。趙新蕖等[6]建立基于改進(jìn)灰色模型的糧倉溫濕度預(yù)測模型,模型對歷史數(shù)據(jù)依賴性強,沒有考慮其他相關(guān)因素之間的聯(lián)系。鄒偉東等[7]提出改進(jìn)極限學(xué)習(xí)機的日光溫室溫濕度預(yù)測模型,考慮隱含層節(jié)點數(shù)的確定問題,但忽略了隨機參數(shù)對模型的影響,同時缺少對模型輸入變量的分析。在水蜜桃的果園種植中,無線監(jiān)測系統(tǒng)的使用仍然較為貧乏。同時,基于無線監(jiān)測系統(tǒng)的果園濕度預(yù)測其預(yù)測模型的輸入數(shù)據(jù)較為冗余,預(yù)測精度較低。
針對上述問題,本文基于水蜜桃無線傳感監(jiān)測實驗基地,提出基于主成分分析(PCA)的粒子群優(yōu)化算法(PSO)改進(jìn)極限學(xué)習(xí)機(ELM)果園濕度預(yù)測方法。首先,利用PCA對影響濕度的氣象因子進(jìn)行分析,獲得模型的預(yù)測輸入變量,降低數(shù)據(jù)維度。再利用PSO算法改進(jìn)ELM,獲得最優(yōu)初始權(quán)值和閾值,比較不同激活函數(shù)下改進(jìn)ELM的預(yù)測模型效果,以果園環(huán)境監(jiān)測系統(tǒng)中9天(1296組)的數(shù)據(jù)為訓(xùn)練和測試對象,完成PSO-ELM濕度預(yù)測模型的驗證,并將預(yù)測模型應(yīng)用到無錫水蜜桃果園的溫濕度監(jiān)測預(yù)警中。
主成分分析PCA(Principal Component Analysis),又稱主分量分析,是將原來眾多具有相關(guān)性的指標(biāo),利用降維的方法將多個指標(biāo)轉(zhuǎn)換為少量相互不相關(guān)的指標(biāo),從而簡化模型的一種統(tǒng)計方法[8]。主成分分析是數(shù)學(xué)建模中常用的方法,廣泛應(yīng)用于人口統(tǒng)計、模式識別等領(lǐng)域[9]。設(shè)原變量X1,X2,X3…,Xm分別表示各對象的特征,可以用N×m矩陣表示,則
(1)
主成分分析步驟如下:
①原始數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理,得到標(biāo)準(zhǔn)矩陣Y,即
(2)
②計算特征值和特征向量
R=X*TX*/(N-1)
(3)
式中:X*為標(biāo)準(zhǔn)化后的數(shù)據(jù)矩陣。求得相關(guān)矩陣的特征值λ1,λ2,…,λm和相應(yīng)的特征向量u1,u2,…,um。
③計算主成分貢獻(xiàn)率和累計貢獻(xiàn)率
主成分貢獻(xiàn)率:
(4)
累計貢獻(xiàn)率:
(5)
④確定主成分個數(shù)和主成分矩陣
一般選取前p(p 主成分對應(yīng)的特征向量為Um×p=[u1,u2,…,up],則p個主成分構(gòu)成的矩陣為: (6) 粒子群優(yōu)化算法PSO(Particle Swarm Optimization)是按照群鳥覓食的模型來求解優(yōu)化問題的[11]。每個粒子都能夠表示問題的一個潛在解。粒子特征用粒子的位置、速度和適應(yīng)度值來表示。每次粒子移動的方位和距離均由粒子自身速度來決定。根據(jù)其他粒子的移動情況,粒子的速度也可同時調(diào)整,達(dá)到在可解空間尋優(yōu)[12-13]。在每次迭代尋優(yōu)的過程中,粒子速度和位置都要通過個體極值和全局極值來更新,可用如下公式表示: (7) (8) 式中:w為慣性權(quán)重;k為當(dāng)前迭代次數(shù);Vid表示粒子速度;c1和c2為加速度因子。r1和r2分別為[0,1]內(nèi)的隨機數(shù)。 極限學(xué)習(xí)機ELM(Extreme Learning Machine)是一種快速、高效的前饋神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法[14-16]。其包含輸入層、隱含層和輸出層。在包含n個樣本的集合(xi,yi)中,隱含層個數(shù)為L,激活函數(shù)為g(x),則該網(wǎng)絡(luò)輸出可表示為: (9) wj為第j個隱含節(jié)點與輸入節(jié)點間權(quán)值;bj為第j個隱含節(jié)點的偏置;β為隱含節(jié)點與輸出節(jié)點間權(quán)值;H為ELM網(wǎng)絡(luò)隱含層的輸出矩陣。則n個樣本的等式可寫成: Hβ=Y (10) 雖然極限學(xué)習(xí)機學(xué)習(xí)速度快,泛化能力好,但輸入層與隱含層間的連接權(quán)值、隱含層神經(jīng)元的閾值,隱含層神經(jīng)元個數(shù)對極限學(xué)習(xí)機精度有很大影響[17-19]。因此,本文選用粒子群優(yōu)化算法確定這些最優(yōu)化的參數(shù)值,以期獲得最優(yōu)的ELM預(yù)測模型。其主要步驟如下所示: ①建立ELM網(wǎng)絡(luò),確定ELM網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),輸入變量X=[X1,X2,…,Xm]T,輸出變量Y=[Y1,Y2,…,Yk]T。對粒子群參數(shù)進(jìn)行初始化,包括種群規(guī)模M、慣性權(quán)重w、迭代次數(shù)k、加速度因子C1、C2和粒子維數(shù)D等。 ②根據(jù)自身適應(yīng)度函數(shù)計算得到PSO適應(yīng)度值fitness,并得到個體極值和群體極值。 ③對粒子的速度和位置進(jìn)行更新,計算粒子適應(yīng)度值,對更新后的個體極值和群體極值進(jìn)行判斷,當(dāng)達(dá)到迭代次數(shù)或最小誤差時,粒子群尋優(yōu)終止。 ④得到ELM算法所需的最優(yōu)輸入權(quán)值矩陣abest和隱含層偏置bbest。 ⑤計算隱含層的輸出矩陣H。 (11) 通過確定的隱含層輸出矩陣H,利用線性系統(tǒng)最小二乘解的求解方法,得到隱含層節(jié)點與輸出節(jié)點之間的輸出權(quán)值β,公式如下所示。 (12) 式中:H+為輸出矩陣H的廣義逆。 基于PSO優(yōu)化ELM算法分為ELM神經(jīng)網(wǎng)絡(luò)隱含層確定、PSO優(yōu)化和ELM神經(jīng)網(wǎng)絡(luò)預(yù)測插補值3個部分,算法流程圖如圖1所示。 圖1 PSO優(yōu)化ELM算法流程圖 在ELM中,激活函數(shù)在ELM網(wǎng)絡(luò)中擁有重要地位。合適的激活函數(shù)能夠優(yōu)化網(wǎng)絡(luò)性能,提高算法的精度和泛化能力。反之,不合適的激活函數(shù)則會降低網(wǎng)絡(luò)性能,無論怎么優(yōu)化都實現(xiàn)不了好的學(xué)習(xí)效果。目前,ELM常用的激活函數(shù)包括4種[20],如下所示: ①Sigmoid函數(shù): (13) ②Sine函數(shù): g(x)=sin(aix) (14) ③hardlim函數(shù): g(x)=2 hardlim(aix) (15) hardlim激活函數(shù)的返回值為0或1。若輸入元素大于0,則返回1,;否則即返回0。 ④Rbf(Radial basis function)函數(shù) (16) 式中:ai為函數(shù)的中心,σ為激活函數(shù)的寬度參數(shù),控制函數(shù)作用范圍。 本文中的無線傳感網(wǎng)溫濕度監(jiān)測系統(tǒng)布局在江蘇省無錫市陽山水蜜桃種植基地。試驗基地25畝桃林中共鋪設(shè)3個微型果園無線傳感網(wǎng)監(jiān)測系統(tǒng)。每個系統(tǒng)由多個傳感器構(gòu)建無線傳感器網(wǎng)絡(luò),如圖2所示。監(jiān)控系統(tǒng)可以對溫度、濕度、壓強、光照、風(fēng)速、風(fēng)向和二氧化碳進(jìn)行數(shù)據(jù)采集,每10 min采集一組數(shù)據(jù),選取其中一個監(jiān)測系統(tǒng) 2016年7月22日至7月30日9 d內(nèi)全天的監(jiān)控數(shù)據(jù),共計1 296條數(shù)據(jù)。取前1 152組(8 d)數(shù)據(jù)為訓(xùn)練集,剩余144組(1 d)數(shù)據(jù)作為測試集,對果園的濕度指標(biāo)進(jìn)行預(yù)測。此實驗周期為水蜜桃大量成熟的時間,天氣環(huán)境無極端情況。 圖2 果園無線傳感網(wǎng)監(jiān)測系統(tǒng) 為避免各維數(shù)據(jù)之間數(shù)量級差別太大,使得其某些分量失去了對整個網(wǎng)絡(luò)的調(diào)控能力,需在極限學(xué)習(xí)機構(gòu)建神經(jīng)網(wǎng)絡(luò)過程中,將樣本數(shù)據(jù)進(jìn)行歸一化處理[21]。本文使用最大最小法(Max-Min Normalization)分別對原始?xì)庀髷?shù)據(jù)中溫度、濕度、壓強、光照、風(fēng)速、風(fēng)向和二氧化碳含量數(shù)值進(jìn)行歸一化,如公示(17)所示。 xk=(xk-xmin)/(xmax-xmin) (17) 式中:xmin為該維數(shù)據(jù)中的最小數(shù),xmax為該維數(shù)據(jù)中的最大數(shù)。 本文以果園濕度指標(biāo)為預(yù)測對象,首先利用PCA方法對歸一化后的1296組樣本7個影響因素進(jìn)行主成分分析。由計算可獲得 7個影響因子的特征值和方差貢獻(xiàn)率,如表1所示。其中3個主成分的累積方差貢獻(xiàn)率為86.865%,故選擇表1中的3個主成分來代表綜合指標(biāo)。各主成分因子載荷矩陣如表2所示。事實上,各個主成分對應(yīng)的各輸入指標(biāo)的載荷值反映了該指標(biāo)所表征的信息量,載荷越大,信息量就越大。主成分1的貢獻(xiàn)率為39%,可表征濕度、溫度及二氧化碳3個影響因素。主成分2的累計貢獻(xiàn)率為67%,可表征壓強和風(fēng)向兩個影響因素。主成分3的累計貢獻(xiàn)率為86%,可表征光照影響因素。由此,可確定濕度預(yù)測模型的輸入維度,即溫度、二氧化碳、壓強、風(fēng)向和光照5個指標(biāo),并構(gòu)建濕度預(yù)測模型的輸入輸出模型。 表1 特征值及方差貢獻(xiàn)率 表2 主成分因子載荷矩陣 經(jīng)過主成分分析,確定濕度預(yù)測模型的輸入輸出指標(biāo)。在MATLAB R2014a的運行環(huán)境下,對PSO-ELM中的PSO優(yōu)化部分和ELM算法的參數(shù)進(jìn)行設(shè)置,完成模型的訓(xùn)練和預(yù)測。 ①PSO優(yōu)化部分。在PSO優(yōu)化算法中,設(shè)置種群大小為40,迭代次數(shù)為200,加速度因子c1和c2分別為2.8和1.3。為了均衡全局搜索和局部搜索能力,采用線性遞減慣性權(quán)重方法,設(shè)置初始慣性權(quán)重為0.9,迭代結(jié)束時慣性權(quán)重設(shè)置為0.4。 ②ELM神經(jīng)網(wǎng)絡(luò)部分。在ELM網(wǎng)絡(luò)中,包含5個輸入節(jié)點和1個輸出節(jié)點。在隱含層節(jié)點數(shù)的確定上,為了避免出現(xiàn)“欠適配”、“過適配”的問題[22],借鑒“試錯法”,通過不斷試驗和改變模型的拓?fù)浣Y(jié)構(gòu),最終確定預(yù)測模型的隱含層節(jié)點數(shù)為26。 為了對PSO優(yōu)化極限學(xué)習(xí)機算法的預(yù)測性能進(jìn)行評估,選擇均方根誤差RMSE(Root Mean Square Error)、平均絕對百分比誤差MAPE(Mean Absolute Percent Error)和平均絕對誤差MAE(Mean Absolute Error)等指標(biāo)作為模型預(yù)測性能判斷的標(biāo)準(zhǔn)[23]。各評估指標(biāo)的計算公式分別為: (18) (19) (20) 本文的預(yù)測模型以溫濕度監(jiān)測系統(tǒng)的一個監(jiān)測點為例,對構(gòu)建的1 296組訓(xùn)練樣本和144組測試樣本進(jìn)行對比分析。 在PSO-ELM預(yù)測模型中,由于ELM的激活函數(shù)有多種,且激活函數(shù)對模型的預(yù)測效果有重要影響。為了選擇適宜的激活函數(shù),本文選擇“Sigmoid”、“Sine”、“hardlim”和“Rbf”4種常用激活函數(shù)進(jìn)行預(yù)測,根據(jù)預(yù)測的性能效果確定模型的激活函數(shù),結(jié)果如圖3所示。 圖3 PSO-ELM不同激活函數(shù)預(yù)測效果 由圖3信息可知,這4類常見激活函數(shù)均可實現(xiàn)濕度的預(yù)測,輸出濕度預(yù)測值;從預(yù)測性能上看,Sigmoid函數(shù)獲得了最小的MAE、RMSE和MAPE值,Sine函數(shù)和Rbf函數(shù)的預(yù)測精度相差不大,hardlim函數(shù)的預(yù)測性能最差,該激活函數(shù)不適宜處理該濕度的預(yù)測過程。從預(yù)測精度最高的原則出發(fā),最終確定性能最優(yōu)的Sigmoid作為PSO-ELM預(yù)測模型中隱含層的激活函數(shù),從而確定預(yù)測模型的拓?fù)浣Y(jié)構(gòu)。 經(jīng)上述實驗,最終確立以Sigmoid激活函數(shù)的PSO-ELM預(yù)測模型。PSO算法和ELM算法的參數(shù)如2.4節(jié)所述,對構(gòu)建的濕度預(yù)測訓(xùn)練集和測試集進(jìn)行測試。模型的迭代曲線如圖4所示,從圖中可以發(fā)現(xiàn)模型的收斂速度較快,適應(yīng)度達(dá)到了較高的精度。 圖4 PSO-ELM 迭代誤差圖 為了驗證PSO-ELM濕度預(yù)測模型有較好的性能,將PSO-ELM算法與單純ELM算法進(jìn)行對比試驗。本文中單純ELM預(yù)測模型的輸入指標(biāo)同PSO-ELM,將PCA方法中確定的5個指標(biāo)作為預(yù)測模型的輸入,輸出為濕度,其中ELM的初始權(quán)重和偏置通過隨機的方式獲得。圖5為PSO-ELM和ELM模型的預(yù)測值和真實值對比。由圖5可以發(fā)現(xiàn),PSO-ELM模型的擬合曲線與實際值一致,擬合效果較好,且明顯優(yōu)于ELM模型擬合效果。在ELM預(yù)測中,有較大部分?jǐn)?shù)據(jù)偏離真實值,誤差較大,且預(yù)測精度起伏較大,預(yù)測性能不穩(wěn)定。整個測試集合中,PSO-ELM模型的預(yù)測曲線與實際數(shù)據(jù)曲線之間雖存在較小的誤差,但實際預(yù)測效果能較好的反映真實數(shù)據(jù)的變化趨勢。 圖5 預(yù)測效果對比圖 為了進(jìn)一步分析PSO-ELM和ELM模型的預(yù)測性能,本文對兩預(yù)測模型進(jìn)行了比較,如表3所示。PSO-ELM的預(yù)測性能RMSE、MAPE、MAE相較于ELM模型分別提高了89.07%、89.31%和89.39%。該模型預(yù)測精度穩(wěn)定,總體預(yù)測性能明顯優(yōu)于ELM模型。PSO算法有較好的尋優(yōu)能力,能夠得到ELM所需最優(yōu)權(quán)值和隱含層偏置,因此PSO-ELM更適于實現(xiàn)濕度的預(yù)測。 表3 PSO-ELM、ELM模型插補性能評估對比 本文同時也引入傳統(tǒng)線性回歸方法,獲得不同預(yù)測方法的預(yù)測精度對比結(jié)果,其中僅顯示其中部分?jǐn)?shù)據(jù)如表4所示。 表4顯示,本文提出的PSO-ELM算法的實際預(yù)測值更接近真實值,平均相對誤差優(yōu)于線性回歸法,且預(yù)測效果穩(wěn)定。線性回歸算法的預(yù)測精度優(yōu)于ELM模型,兩模型均存在預(yù)測精度差異較大的問題,預(yù)測性能不穩(wěn)定。這是因為線性回歸法較適用于單調(diào)函數(shù),在震蕩劇烈、局部極值點不明確的情況下,線性回歸易發(fā)生偏差。而ELM模型的參數(shù)隨機獲取,預(yù)測結(jié)果易出現(xiàn)較大誤差。改進(jìn)的ELM預(yù)測模型克服了這些問題,可以對果園濕度指標(biāo)實現(xiàn)可靠、準(zhǔn)確的預(yù)測。 表4 不同預(yù)測方法預(yù)測精度對比 針對水蜜桃對溫濕度條件要求較高的情況,本文利用無線傳感果園溫濕度監(jiān)測系統(tǒng),實時獲取果園環(huán)境、天氣狀況。并通過PCA算法聯(lián)合PSO和ELM,構(gòu)建PCA算法下的PSO-ELM預(yù)測模型對果園的濕度進(jìn)行預(yù)測。基于果園種植條件下,空氣濕度主要受多種環(huán)境因素影響,本文將PCA方法分析各影響因素的關(guān)系,降低輸入變量的維度,去除變量間相關(guān)性;利用PSO算法優(yōu)化ELM模型的輸入權(quán)值和閾值;通過訓(xùn)練和測試發(fā)現(xiàn),以Sigmoid為激活函數(shù)的PSO-ELM模型,RMSE為0.5038預(yù)測精度較高,與傳統(tǒng)線性回歸法、ELM法相比有明顯的提升。PSO-ELM適用于多變量輸入的預(yù)測模型,不僅能為果園濕度預(yù)測提供切實可行的方法,也為其他環(huán)境指標(biāo)的預(yù)測提供新的思路。1.2 粒子群算法
1.3 PSO優(yōu)化ELM算法
1.4 激活函數(shù)
2 果園濕度預(yù)測模型構(gòu)建
2.1 研究區(qū)域
2.2 數(shù)據(jù)標(biāo)準(zhǔn)化
2.3 預(yù)測體系構(gòu)建
2.4 濕度預(yù)測模型的參數(shù)設(shè)置
2.5 性能評估
3 實驗結(jié)果與分析
3.1 模型的選擇
3.2 預(yù)測模型比較
4 結(jié)束語