馮惠妍,陳爭光,王淑云
(1.黑龍江八一農(nóng)墾大學(xué)信息技術(shù)學(xué)院,大慶163319;2.黑龍江省科學(xué)技術(shù)情報研究所)
土壤肥力評價是精準(zhǔn)農(nóng)業(yè)的重點和熱點問題。針對土壤肥力評價問題,韓磊等[1]建立了基于matlab的BP神經(jīng)網(wǎng)絡(luò)的土壤養(yǎng)分綜合評價參考模型,李政等[2]建立了東湖沉積物營養(yǎng)狀況的BP神經(jīng)網(wǎng)絡(luò)模型。龐永青等[3]立了基于WebGIS的農(nóng)田測土配方施肥管理系統(tǒng)的設(shè)計。目前基于matlab的土壤肥力評價方法得到廣泛的使用,但很少將基于BP神經(jīng)網(wǎng)絡(luò)的土壤肥力評價方法和WebGIS技術(shù)相結(jié)合。使用matlab實現(xiàn)BP神經(jīng)網(wǎng)絡(luò)模型的構(gòu)建,再根據(jù)WebGIS技術(shù)特點及土壤肥力評價的實際需要,實現(xiàn)matlab2009a和VS2008的混合編程,實現(xiàn)對該區(qū)域土壤肥力進行綜合評價?;赪ebGIS評價平臺的建立,可為用戶提供準(zhǔn)確、科學(xué)的施肥指導(dǎo)。
黑龍江850農(nóng)場位于虎林市境內(nèi),北依完達山南麓、南傍穆棱河畔,地處著名的三江平原。地理位置東經(jīng)132 015′~132 051′,北緯45 041′~45 054′,屬三江平原完達山亞區(qū)地帶。土壤肥沃,水資源充足,自然資源豐富,取采樣點1 500個,對其進行土壤測定。土壤測定項目包括pH值、有機質(zhì)、速效氮、有效磷、速效鉀五個項目,測定方法按《測土配方施肥理論與實踐》中的方法進行[4]。土壤肥力等級的劃分依據(jù)北京市第二次土壤普查結(jié)果的指標(biāo)等級,并結(jié)合土壤質(zhì)量的實際狀況,將土壤等級分為:{極高、高、中、低、極低},對應(yīng)等級{一等、二等、三等、四等、五等}[5-6]。
誤差反向傳播神經(jīng)網(wǎng)絡(luò)模型(BP)是近年應(yīng)用最廣泛的網(wǎng)絡(luò)之一,它通過對有代表性例子的學(xué)習(xí)、訓(xùn)練,能夠掌握事物的本質(zhì)特征,進而解決問題[3],由輸入層、輸出層和若干個隱含層構(gòu)成。采用BP人工神經(jīng)網(wǎng)絡(luò)技術(shù)構(gòu)建的非線性評價模型,可以避免人為確定各指標(biāo)的權(quán)重帶來的主觀性,使評價結(jié)果的準(zhǔn)確性提高。
因BP方法在權(quán)重的確定上不依賴于人為因素,根據(jù)表1的分級指標(biāo)在matlab中使用Linspace函數(shù),均勻分布內(nèi)插生成5個級別的樣本,沒個級別樣本300個,共計1 500個訓(xùn)練樣本,從中隨機抽取1 200個樣本作為訓(xùn)練樣本,剩下的300個作為檢驗樣本,為了便于利用matlab神經(jīng)網(wǎng)絡(luò)工具箱中的訓(xùn)練函數(shù),應(yīng)用最大最小函數(shù)premnmx對訓(xùn)練樣本、檢測樣本進行預(yù)處理,將各參數(shù)量化到[-1,1]內(nèi),進行歸一化處理,然后再作為輸入單元。
表1 土壤養(yǎng)分含量分級標(biāo)準(zhǔn)Table1 Classification criterion of soil nutrient content
采用三層BP神經(jīng)網(wǎng)絡(luò)模型,因研究參評的土壤養(yǎng)分指標(biāo)為5個,故輸入層節(jié)點數(shù)為5,目標(biāo)輸出為土壤養(yǎng)分等級,故輸出層節(jié)點確定為1。隱層節(jié)點數(shù)的確定過程是將神經(jīng)網(wǎng)絡(luò)的算法學(xué)習(xí)速率設(shè)定為0.01,學(xué)習(xí)速率增加比率為10,減少比率為10,期望誤差為0.000 01,網(wǎng)絡(luò)最大訓(xùn)練次數(shù)設(shè)定為50 000次,輸入層到隱含層的激活函數(shù)為非線性Sigmoid函數(shù),隱含層到輸出層的激活函數(shù)為線性Purlin函數(shù)[7],使用matlab中的nntool工具箱進行驗證,結(jié)果表明模型在隱含層節(jié)點數(shù)為7時,在速度和精度兩方面達到最優(yōu)。故模型為5-7-1的拓?fù)浣Y(jié)構(gòu)。結(jié)果用postmnmx函數(shù)進行反歸一化處理,訓(xùn)練之后的BP神經(jīng)網(wǎng)絡(luò)的權(quán)值(如表2所示),相應(yīng)的閾值為:{20.93,-88.90,15.86,-9.56,5.50,57.78,24.86}。
表2 BP神經(jīng)網(wǎng)絡(luò)的權(quán)值Table2 Weightof BP neural network
將訓(xùn)練好的BP網(wǎng)絡(luò)模型應(yīng)用到黑龍江850農(nóng)場的土壤肥力評價上。該農(nóng)場的基本地理信息已建立,包括地理空間數(shù)據(jù)以及養(yǎng)分屬性數(shù)據(jù)信息[8]。
使用VS中調(diào)用matlab com組件達到數(shù)據(jù)共享編程,com組件的建立和VS中引用該組件如下:
(1)預(yù)測函數(shù)文件:因BP神經(jīng)網(wǎng)絡(luò)模型的3層結(jié)構(gòu)(5-7-1)、權(quán)值、閾值已確定,編寫預(yù)測函數(shù)文件(M文件)。函數(shù)頭為:Funntion[m]=bpnet(a),其中a為輸入的養(yǎng)分,m為輸出的預(yù)測結(jié)果,函數(shù)保存為bpnet.m。
(2)將bpnet.m生成com組件,并發(fā)布組件,設(shè)置目標(biāo)為.net Assemby,并注冊組件。
(3) 在VS2008中添加對該com組件的引用using Bpnet;為滿足程序需要還需要添加引用如using MathWorks.MATLAB.NET.Arrays;(把C#中的數(shù)組轉(zhuǎn)化為matlab中的數(shù)組);using MathWorks;等。
(4)在VS中編寫代碼,完成功能。
實現(xiàn)“選中”地塊,并高亮顯示如圖1所示,讀取該地塊的養(yǎng)分信息并作為com組件的輸入?yún)?shù)調(diào)用組件,經(jīng)BP模型的預(yù)測得到輸入養(yǎng)分的等級預(yù)測結(jié)果m,之后將該預(yù)測結(jié)果返回并顯示,如表3所示。
圖1 選擇地塊Fig.1 Selection of plot
表3 返回地塊級別信息Table3 Return plot level information
經(jīng)神經(jīng)網(wǎng)絡(luò)確定的地塊等級,各個等級部分?jǐn)?shù)據(jù)如表4所示。經(jīng)直方圖檢驗(圖2所示)標(biāo)準(zhǔn)方差0.974,偏度0.12(0.47),峰度-0.17(0.92),W檢驗值為0.263>0.05,服從正態(tài)分布。
圖2 直方圖檢驗Fig.2 Histogram test
用GS+7.0對地塊等級進行半方差Gaussian函數(shù)模擬(如圖3所示),將模擬的參數(shù)在Arcgis9.3中進行克里格插值[9],得到了該研究區(qū)域的在線等級分布圖,如圖4所示。
圖3 Gaussian函數(shù)模擬Fig.2 Gaussian functional simulation
圖4 土壤肥力等級在線空間分布Fig.4 Online spatial distribution of soil fertility grade
主要和文獻[8]中的模糊評判法進行了結(jié)果預(yù)測比較,從數(shù)據(jù)庫中抽取其中一部分?jǐn)?shù)據(jù)(如表3所示)由表3可知兩種方法進行等級評價得出的結(jié)果基本一致,但BP神經(jīng)網(wǎng)絡(luò)方法因在整個評價過程中不需要人為干預(yù)因素,因此更可信更客觀。
造成其中有等級預(yù)測結(jié)果不一致現(xiàn)象,分析其可能原因:(1)文獻[8]中計算權(quán)重使用的是層次分析法(AHP),該方法在計算過程中舍棄了方差較小的主成分,從而造成了一定的人為因素影響,而BP神經(jīng)網(wǎng)絡(luò)的權(quán)重的獲得是在反復(fù)的調(diào)整,直到滿足條件要求,整個過程自動完成,沒有人為干預(yù),所以結(jié)果更客觀。(2)克里格插值方法是在有限區(qū)域內(nèi)對區(qū)域化變量進行無偏最優(yōu)的估計進行取值,原因1造成有限區(qū)域內(nèi)的數(shù)值有誤差,導(dǎo)致在該方法下的插值也會有誤差。
針對黑龍江850農(nóng)場的土壤肥力評價的實際應(yīng)用,建立了BP神經(jīng)網(wǎng)絡(luò)模型,確定了模型的三層結(jié)構(gòu),并給出了模型的權(quán)值和閾值。在此基礎(chǔ)上,建立了基于webgis的土壤肥力評價的空間信息平臺,實現(xiàn)了地塊等級的在線評價及等級的地理空間分布。與相關(guān)方法的比較得出,此方法能夠更有效地進行土壤肥力評價。研究結(jié)果為實現(xiàn)網(wǎng)絡(luò)化、數(shù)字化、廣適性的精確農(nóng)作決策支持提供了基本平臺。
[1]韓磊,李銳,朱會利.基于BP神經(jīng)網(wǎng)絡(luò)的土壤養(yǎng)分綜合評價模型[J].農(nóng)業(yè)機械學(xué)報,2011,42(7):109-115.
[2]龐永青,歐陽歡,閆林,等.基于WebGIS的農(nóng)田測土配方施肥管理系統(tǒng)的設(shè)計[J].南方農(nóng)業(yè)學(xué)報,2012,43(1):117-119.
[3]李政,方濤,王坎,等.湖沉積物營養(yǎng)狀況的BP神經(jīng)網(wǎng)絡(luò)模型研究[J].環(huán)境科學(xué)與技術(shù),2011,34(12):110-114.
[4]謝衛(wèi)國.測土配方施肥理論與實踐[M].長沙:湖南科學(xué)技術(shù)出版社,2006.
[5]呂新,寇金梅,李宏偉.模糊評判方法在土壤肥力綜合評價中的應(yīng)用研究[J].干旱地區(qū)農(nóng)業(yè)研究,2004,22(3):56-59.
[6]董文濤,路明浩,韋大山,等.基于模糊數(shù)學(xué)方法的土壤肥力綜合評價及應(yīng)用[J].資源開發(fā)與市場,2011,27(6):511-513.
[7]肖鋼,鐘洛,陳立耀.神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練參數(shù)選取[J].武漢工業(yè)大學(xué)學(xué)報,1997,19(2):108-110.
[8]馮惠妍,陳爭光.基于WebGIS的模糊評判法的土壤肥力評價研究[J].黑龍江八一農(nóng)墾大學(xué)學(xué)報,2012,24(6):65-67.
[9]劉東海,梁國慶,周衛(wèi),等.基于神經(jīng)網(wǎng)絡(luò)的土壤肥力綜合評價[J].中國土壤與肥料,2011(5):12-19.
[10]丁毓峰.精通MATLAB混合編程[M].北京:電子工業(yè)出版社,2012.