季彥東,李 龍
長久以來,我國都是一個農業大國,擁有著眾多的農業從業者,近年來,隨著科學技術的發展并應用于農業生產,我國農業科技取得了長足進步,“智慧農業”這一概念被提及,智慧農業研究也取得了豐碩成果[1-2].智慧農業是農業同科技高度融合的產物,主要應用的科學技術包括傳感器網絡、大數據、云計算、物聯網等等,其主要作用是通過對農業生產生活當中的相關數據進行采集、處理和分析,為相應的農業生產提供指導和智能決策.機器學習算法是智慧農業應用較常見的技術,其主要作用是利用人們的先驗知識建立不同算法模型,從而實現對未知事物的預測.農作物的分類、病蟲害識別預測、農產品價格預測是智慧農業發展的至關重要的三個方面,大量的研究結果顯示,機器學習算法(主要包括支持向量機、人工神經網絡、極限學習機、k最近鄰、隨機森林、Ada-Boost算法、線性判別分析、最小二乘支持向量、Fisher判別分析等)在以上三方面的應用非常廣泛[3-17].為了深入了解當前機器學習算法在智慧農業應用方面的研究進展,本文對機器學習算法在智慧農業上的主要研究成果進行了綜述,分析了相關研究的不足,以期為探索更加適合智慧農業發展的機器學習算法提供借鑒.
高光譜數據具有較高的分辨率,數據內容豐富,數據獲取方式多樣化,可以直接對照片進行光譜數據提取,也可以通過光譜儀進行實地數據采集,此外,還可以采用衛星的遙感數據進行分析,通常情況下,機器學習算法被用于分析高光譜的海量數據.智慧農業的一個重要發展前提是進行農作物的有效劃分,為后期的病蟲害預測、鋤草施肥提供依據,機器學習算法與高光譜技術結合成為智慧農業中進行農作物分類的有效手段.
程術希等(2014)[2]利用高光譜技術,結合Ada-Boost、極限學習機、隨機森林和支持向量機四種機器學習算法對8個品種的239顆大白菜種子進行品種驗證分析,四種算法均具有較強的泛化能力,通過對比發現,最優的算法是極限學習機,對大白菜種子的判斷準確率可以達到100%.
Pu Ruiliang(2009)[3]從高光譜數據中抽取的30個光譜特征變量,使用非線性人工神經網絡和線性判別分析兩種機器學習算法對美國佛羅里達州境內的11種城市森林闊葉樹種進行區分,結果顯示,采用高光譜技術與機器學習算法對闊葉樹種類的判斷精確度可以達到85%以上.
林川等(2013)[4]同樣在高光譜數據中抽取了8個光譜特征變量,同時使用非線性人工神經網絡和Fisher線性判別分析兩種機器學習算法對北京野鴨湖濕地的7種濕地植物進行生態類型分類,兩種算法的精確度分別達到85.5%和87.98%,甚至對兩種沉水植物的識別度達到了100%,說明機器學習算法可以對濕地植物進行良好的識別和分類.
李嬋等(2018)[5]提取了高光譜數據當中的63種特征變量,采用k最近鄰、支持向量機和隨機森林三種機器學習算法對江蘇宜興市郊的8種植物進行分類,研究結果表明,支持向量分類優于k最近鄰和隨機森林算法.
黃雙燕等(2018)[6]采用隨機森林機器學習算法對Sentinel 2A衛星獲取的沙灣縣內的典型農作物遙感數據進行分析,分類精度達到89%以上,整體的精度可以達到94.02%,此結果證明了隨機森林算法對農作物分類的有效性.
何雋(2016)[7]實現了機器視覺對圖像進行分割的技術,提高了農作物分類感興趣區域的比重,從而更好地進行農作物分類.
以上研究成果顯示,機器學習算法與高光譜數據結合能夠有效地進行植物物種識別和分類,針對不同的農作物,進行合理的機器學習算法的選擇能夠獲得較好的分類效果.
傳統的病蟲害預測,需要到田間進行農作物取樣,通過調查研究才可以進行相應的決策實施,因此存在著費時費力、預測不及時、預測范圍有限等缺點.而利用機器學習算法對農作物進行病蟲害的預測具有獨特的優勢,尤其對早期的病蟲害預測和田間管理具有重要意義,省時省力,人為干擾誤差減小,在農業生產中,可以為農業技術人員針對相應的病蟲害進行預防處理提供科學的理論支撐.近年來,研究學者已經在這方面取得了較多的研究成果.
石晶晶(2009)[8]利用支持向量機算法對稻縱卷葉螟危害水稻進行了遙感識別,將獲取到的108個樣本分為70個訓練樣本和38個測試樣本,測試的準確率可達到100%,此實驗驗證了機器學習算法進行農作物病蟲害預測的可行性,為后期病蟲害治理提供了決策支撐.
尹小君(2015)[9]對加工番茄細菌性斑點病的氮素含量反演進行了研究,通過病蟲害的預測來檢測氮素含量,為番茄施肥提供策略幫助.本研究首先對光譜指數進行區分,選取具有代表性的13個光譜指數,通過相關驗證,獲取4個穩定的光譜指數,作為算法的特征變量.其次,建立線性核、多項式核、徑向基核、Sigmoid核為核函數的支持向量機模型,根據預測效果,選定徑向基核.最后,通過使用K-cv交叉驗證,確定懲罰系數C、核函數參數g的最佳參數.本研究的特征在于非不同機器學習算法的比較,而是僅選擇一個機器學習算法,采用不同的參數進行模型的比較,為智慧農業中農作物病蟲害的預測提供了思路.
許章華(2018)[10]利用Fisher判別矩陣和隨機森林兩種機器學習算法對森林當中的馬尾松毛蟲進行了預測.其數據主要來自于LAI-2000實地采集的光譜數據和衛星遙感數據,同時結合當地的林業工作者長期的病蟲害記錄和總結,共選取7個特征變量,結果顯示,Fisher判別矩陣和隨機森林機器學習算法的平均檢測精度分別為74.5%和81.8%.二者的檢測精度比較接近,但在病蟲害等級劃分上具有差異,對于無、輕度、中度病蟲害檢測,隨機森林算法優于Fisher判別矩陣,對于重度病蟲害檢測,結果相反,Fisher判別矩陣要明顯優于隨機森林,可見,Fisher判別矩陣和隨機森林機器學習算法在病蟲害檢測方面各有優劣,在實際應用中,可以采用優勢互補的方式交叉使用這兩種算法.
向昌盛(2012)[11]針對蟲害發生所具有的小樣本數據和非線性的特點,基于小樣本數據量和非線性模型,使用最小二乘支持向量機的機器學習算法進行病蟲害的預測,結果顯示,通過遺傳算法對最小二乘支持向量機的參數進行了優化,可以獲得較好的預測效果.
葉聰等(2018)[12]利用人工神經網絡的機器學習算法對圖像灰度頻率數據預處理后進行病蟲害的預測.使用Canon EOS 550D數碼相機進行粘蟲板圖像數據采集,構建RGB彩色數碼圖像,進行分割與信息提取,共獲得14個特征變量,將總體的樣本分為訓練樣本和測試樣本兩類,訓練樣本用來訓練人工神經網絡,測試樣本進行人工神經網絡的驗證.結果顯示,采用人工神經網絡機器學習算法對溫室大棚環境下粉虱和薊馬的識別精度分別為96%和92%,說明人工神經網絡的機器學習算法對溫室大棚內的早期病蟲害的預測有幫助.
王雪麗(2018)[13]的研究則從專家庫建設的角度出發,通過BP神經網絡對所采集到的病蟲害相關的文本數據進行分類,為病蟲害進行專家系統的建立提供技術基礎.
通過以上分析可知,機器學習算法在農業病蟲害預測方面已經取得了豐碩的研究成果,主要集中于方法學研究、病蟲害預測精度研究、病蟲害分類研究等幾個方面,研究方法介紹細致,研究內容范圍較廣,可為后續的相關研究工作提供相應的技術參考.
農產品價格不僅與農民自身的經濟收入有關,同樣也關乎國民生活水平的穩定.農產品價格的上升有助于提高農民自身的經濟收入,但也帶來了物價上漲的困擾,相反,農產品價格的下降則會降低農民的經濟收入.因此,在智慧農業應用過程中,農產品價格的預測是影響智慧農業建設的重要方面,如何利用科技的力量進行合理、有效的農產品價格預測是智慧農業建設需要考慮的關鍵問題之一.
賀艷輝等(2010)[14]利用非線性BP人工神經網絡對影響羅非魚價格的相關因素進行分析,選擇銷售月份、銷售地經度、銷售地緯度、銷售地人口密度、銷售地人均消費水平五個指標作為特征變量,而價格參考上海、虎門、新疆三地的水產品市場,共收集135個樣本,其中108個樣本作為訓練樣本,27個作為測試樣本.結果顯示,測試的相對誤差在1%~6%,平均值為4%,測試結果非常準確,因此,非線性BP人工神經網絡算法可作為其他水產品或者農產品的價格預測工具.
羅長壽(2011)[15]利用BP神經網絡、遺傳算法下的神經網絡、RBF神經網絡對北京的香菇市場的每日價格進行預測分析,選取2003—2007年的每日香菇價格作為訓練數據,并使用2008—2009年的每日香菇價格作為測試數據.測試結果顯示,BP神經網絡、遺傳算法下的神經網絡、RBF神經網絡建立的三種模型預測的平均絕對誤差分別為0.15%、0.114%、0.144%,三種模型的集成模型的平均絕對誤差為0.106%,穩定性大大提高.
岳之峣等(2013)[16]以雞蛋價格預警作為切入點,采用支持向量機的機器學習算法對雞蛋價格進行預測.將雞蛋和豬肉價格的比值作為預警值,采用2010年7月到2011年6月的數據作為訓練樣本,采用2011年7月到2012年12月的數據作為測試樣本,最終測試樣本當中的預測結果均在實際范圍之內,說明支持向量機訓練的價格預測模型有效.
石波等(2016)[17]采用RBF神經網絡和訓練預測模型對中國的大豆價格進行預測,選取2009-2013年的數據作為訓練數據,將2014年的數據作為測試數據,將大豆進口量、消費者信心指數、進口大豆價格三個指數作為輸入變量,預測模型的預測誤差為3.64%,與傳統的數學建模分析方式相比,機器學習算法的分析難度和預測誤差均有所降低.
蔡超敏等(2016)[18]創新性地提出引進經驗模態分解方法(EMD),將豬肉的歷史數據進行分解并集成為高頻部分、低頻部分、殘余項三個模塊,通過支持向量機訓練模型進行預測.此外,還通過單純的SVM、EMD-BP、BP進行預測,通過比較分析發現,EMD-SVM具有較好的預測精度.
謝申汝(2018)[19]利用支持向量機算法以2005—2016年的小麥最低收購價格數據作為訓練數據對模型進行訓練,而后對2017年的小麥最低價格進行預測,預測準確率達到標準水平.
通過以上研究成果的分析可見,機器學習算法對農作物價格的預測非常有幫助.機器學習的海量數據來源廣泛,如農產品以往銷售的價格數據、當地人口消費水平的統計年鑒數據、原材料供應的價格數據等,為農產品價格的預測提供了數據支撐.采用機器學習算法對農產品價格進行預測,可以調控農產品價格,保障農民的經濟收入,從智慧農業的發展來看,農產品價格的預測有利于智慧農業發展方向的選擇,因此,有必要深入研究農產品價格預測的方法.
本文主要綜述了機器學習算法在智慧農業中的應用進展,集中對農作物分類、病蟲害預測、農產品價格預測三方面進行了分析,雖然機器學習算法在智慧農業上的應用已經取得了非常多的研究成果,且預測準確度較高,但仍然存在一些問題值得我們進一步思考.
首先,機器學習算法種類較多,各有優缺點,前文中論述的部分研究已經認識到這一點,考慮到單一的機器學習算法不能有效地完成任務,因此,多數研究是將多種機器學習算法進行對比分析,最終選擇準確率較高的一種.但還有一個問題需要考慮,就是研究對象的差異性,研究對象的差異同樣會造成機器學習算法預測精度的差異,因此,筆者認為,在后續的研究中,應該加入不同的農作物分類任務,重點考慮研究對象這一個維度,從而將研究結果細化.
其次,每種機器學習算法都需要引入一定的參數,參數選取的有效性直接影響機器學習算法分析的精度,對農作物分類、病蟲害預測、農產品價格預測的精度會有很大影響.但前文綜述的研究成果中對機器學習算法中不同參數選擇帶來的結果差異基本都沒有考慮,僅有的一篇文獻對支持向量機中的不同的參數所帶來的預測結果進行了分析[10],筆者認為,不同參數的選擇對于機器學習算法精度的影響也應該重點考慮,以提高預測結果的精度.
最后,機器學習算法中要求的特征變量及其數目的選擇具有隨機性.通常情況下,特征變量及其數目會影響機器學習算法的準確性和泛化能力,應該精確選取.然而,前文綜述的研究成果顯示,特征變量選擇的研究較少,多數特征變量的選擇僅僅是依據個人的經驗,具有一定的主觀性,標準不統一,從而導致相應有效的模型的可移植性較差,可應用的范圍縮小,不利于研究方法的進一步開發和應用.因此,今后應加強特征變量選擇的研究工作,提高預測模型的通用性.
為了促進機器學習算法在智慧農業中的應用,今后的研究應注意以下三方面:第一,著手從研究對象的差異方面切入,詳細分析研究對象的差異,進而選擇合適的機器學習算法,擴大機器學習算法的應用范圍;第二,在機器學習算法的相關參數的選擇方面,多比較不同參數所造成的模型差異,選擇最佳的參數;第三,在機器學習算法的特征變量的選擇方面,農業上應進行一個有效的統一,讓預測模型具有通用性,可以更加有效地為多樣化的智慧農業生產服務需求提供幫助.