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