魏博識(shí),盧 濤*
1.智能機(jī)器人湖北省重點(diǎn)實(shí)驗(yàn)室(武漢工程大學(xué)),湖北 武漢430205;2.武漢工程大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,湖北武漢430205
農(nóng)業(yè)大數(shù)據(jù)是運(yùn)用大數(shù)據(jù)理念、技術(shù)和方法解決農(nóng)業(yè)或涉農(nóng)領(lǐng)域數(shù)據(jù)的采集、存儲(chǔ)、計(jì)算與應(yīng)用等一系列問題的技術(shù),是大數(shù)據(jù)理論和技術(shù)在農(nóng)業(yè)上的應(yīng)用和實(shí)踐[1]。近年來,深度學(xué)習(xí)方法在農(nóng)業(yè)領(lǐng)域的應(yīng)用取得巨大成功,廣泛應(yīng)用于科學(xué)施肥、產(chǎn)量預(yù)測和經(jīng)濟(jì)效益預(yù)估[2]等領(lǐng)域。根據(jù)土壤信息進(jìn)行數(shù)據(jù)挖掘,并在此基礎(chǔ)上提出區(qū)域性作物的種植建議,不僅可以促進(jìn)農(nóng)作物生長從而帶來經(jīng)濟(jì)效益,還可以改善土壤肥力,促進(jìn)可持續(xù)發(fā)展[3]。根據(jù)土壤種類、土地的類型,以及土壤養(yǎng)分元素[如:氮(N)、磷(P)、鉀(K)、有機(jī)質(zhì)(OM)等]的含量建立模型,分析并且給出精準(zhǔn)預(yù)測,可以形成科學(xué)的種植方案。研究表明,氮、磷、鉀在植物根莖的重吸收率分別為63.6%、56.8%、50.7%,是促進(jìn)作物生長的主要營養(yǎng)元素[4]?,F(xiàn)有的作物推薦算法均是基于土壤養(yǎng)分元素等數(shù)值域數(shù)據(jù)來構(gòu)建模型的[5],這極大地忽略了土壤類型(如:黃綿土、潮土、水稻土等)、地塊類型(如:坡地、平地、梯田等)等文本域數(shù)據(jù)的作用。這些文本域數(shù)據(jù)是土壤的基本物理性質(zhì),可以反應(yīng)土壤中不同大小直徑成土顆粒的組成狀況[6]。另外,不同質(zhì)地土壤的蓄水導(dǎo)水、保溫導(dǎo)熱、耕性、微生物種類及其活動(dòng)等性能的差異也能影響作物生長[7]?,F(xiàn)有數(shù)值型作物推薦算法在農(nóng)業(yè)生產(chǎn)決策領(lǐng)域已取得良好成效。例如,隨機(jī)森林支持向量機(jī) 作 物 推 薦 算 法[8](random forest support vector machine,RFSVM)采用隨機(jī)森林方法篩選特征最優(yōu)子集,然后使用支持向量機(jī)進(jìn)行作物推薦。然而中華土壤數(shù)據(jù)庫中土壤數(shù)據(jù)包含了數(shù)值域和文本域數(shù)據(jù)。多域特性的土壤數(shù)據(jù)導(dǎo)致現(xiàn)有作物推薦方法無法充分挖掘土壤數(shù)據(jù)之間的內(nèi)在關(guān)聯(lián)造成模型精度較低。一般來說,根據(jù)所學(xué)習(xí)數(shù)據(jù)類型的不同推薦算法[9]可分為學(xué)習(xí)數(shù)值域特征的數(shù)值型推薦算法和學(xué)習(xí)文本域特征的文本型推薦算法。常見數(shù)值型推薦算法:深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)[10]、支 持 向 量 機(jī)(support vector machine,SVM)[11]等應(yīng)用于土壤作物推薦中雖然可以高效的學(xué)習(xí)土壤數(shù)值域高階特征組合,然而由于沒有考慮土壤文本域數(shù)據(jù),這些算法的低階特征組合能力通常較弱;現(xiàn)有文本型推薦算法如邏輯回歸(logistic regression,LR)[12]、因子分解機(jī)(factorization machines,F(xiàn)M)[13]等應(yīng)用于作物推薦可以通過低階特征組合學(xué)習(xí)文本特征之間的相關(guān)性,但是沒有結(jié)合數(shù)值域特征,從而導(dǎo)致高階特征組合能力較弱;除此之外,基于獨(dú)熱編碼(one-hot encoding)[14]的文本域數(shù)據(jù)處理方式會(huì)導(dǎo)致樣本特征非常稀疏,這極大的增加了融合土壤數(shù)值域與文本域數(shù)據(jù)進(jìn)行推薦的難度。傳統(tǒng)推薦算法可以很好地學(xué)習(xí)文本域特征之間的低階交叉,深度學(xué)習(xí)推薦算法在高階特征交叉上表現(xiàn)良好,結(jié)合二者優(yōu)點(diǎn)的廣度與深度模型[15]通過組合數(shù)值域與文本域模型聯(lián)合訓(xùn)練的方法在具有多域特性的數(shù)據(jù)上表現(xiàn)出較好的性能。但是應(yīng)用在作物推薦領(lǐng)域還存在以下問題:一是土壤數(shù)據(jù)存在殘缺、重復(fù)、不平衡的問題,直接利用這些數(shù)據(jù)訓(xùn)練推薦模型會(huì)降低模型的精度和適用性;二是廣度與深度模型采用二分類激活函數(shù)進(jìn)行決策,無法應(yīng)用于多分類土壤作物推薦。
針對(duì)上述問題,提出了一種基于土壤數(shù)據(jù)廣度與深度模型的作物推薦算法。首先對(duì)殘缺、重復(fù)和不平衡的土壤數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,其次將土壤文本域數(shù)據(jù)經(jīng)過獨(dú)熱編碼轉(zhuǎn)化成稀疏的向量特征。然后對(duì)文本域向量特征進(jìn)行向量嵌入,同時(shí)采用廣義線性回歸[16]進(jìn)行特征組合來提取文本域特征相關(guān)性,并通過深度神經(jīng)網(wǎng)絡(luò)對(duì)級(jí)聯(lián)的文本域特征和數(shù)值域特征進(jìn)行自動(dòng)組合提取高階特征關(guān)系;最后改進(jìn)多分類激活函數(shù)并通過聯(lián)合訓(xùn)練的方式加權(quán)得出預(yù)測結(jié)果。通過邏輯回歸與深度神經(jīng)網(wǎng)絡(luò)組合的方法訓(xùn)練多域特性的土壤數(shù)據(jù)從而提高模型的精度。
基于土壤數(shù)據(jù)廣度與深度模型(soil width and depth,SWD)的作物推薦算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,圖中N、P、K、OM分別表示土壤數(shù)值域數(shù)據(jù)中氮、磷、鉀、有機(jī)質(zhì)的含量。LT、SL、PL分別表示土地類型、土壤類型和歷史種植作物的文本域數(shù)據(jù)。原始多域土壤數(shù)據(jù)首先在數(shù)據(jù)增強(qiáng)層進(jìn)行人工數(shù)據(jù)預(yù)處理并且采用合成少數(shù)類過采樣技術(shù)[17](synthetic minority oversampling technique,SMOTE)對(duì)數(shù)據(jù)進(jìn)行增強(qiáng),然后再通過多域數(shù)據(jù)編碼層把增強(qiáng)后的數(shù)值域數(shù)據(jù)經(jīng)過累計(jì)分布函數(shù)(cumulative distribution function,CDF)映射到(0,1)進(jìn)行歸一化。文本域數(shù)據(jù)在獨(dú)熱編碼后通過向量嵌入的方法轉(zhuǎn)化成低維稠密的特征向量,該特征向量在多域數(shù)據(jù)融合層與數(shù)值域向量級(jí)聯(lián)。級(jí)聯(lián)向量輸入到深度部分,經(jīng)過1 024,512,256大小的隱藏層,通過數(shù)值域數(shù)據(jù)與文本域數(shù)據(jù)的特征自動(dòng)交叉學(xué)習(xí)高階的特征組合。在廣度部分把LT、ST分別與PT聯(lián)合形成交叉積,學(xué)習(xí)文本域特征的相關(guān)性。采用聯(lián)合訓(xùn)練的方式在反向傳播的同時(shí)作用于這兩部分模型,單個(gè)模型的權(quán)重更新會(huì)受到廣度部分和深度部分對(duì)模型訓(xùn)練誤差的共同影響,最后通過Softmax函數(shù)實(shí)現(xiàn)多分類的作物推薦。
圖1 土壤數(shù)據(jù)廣度與深度模型圖Fig.1 Width and depth model of soil data
由于土壤數(shù)據(jù)具有殘缺、重復(fù)和不平衡的特性,直接輸入會(huì)影響模型的性能。對(duì)于殘缺土壤數(shù)據(jù),采取均值補(bǔ)齊的方法進(jìn)行處理,對(duì)于重復(fù)土壤數(shù)據(jù)直接刪除,對(duì)于不平衡數(shù)據(jù),采用一種基于隨機(jī)過采樣算法改進(jìn)的方案進(jìn)行處理。由于隨機(jī)過采樣采取簡單復(fù)制樣本的策略來增加少數(shù)類樣本,這種方式容易產(chǎn)生模型過擬合的問題,即模型學(xué)習(xí)到的信息過于特殊而不夠泛化。針對(duì)這一問題,采用SMOTE算法對(duì)數(shù)據(jù)進(jìn)行處理,其基本思想是對(duì)少數(shù)類樣本進(jìn)行分析并根據(jù)合成新樣本添加到數(shù)據(jù)集中,具體如圖2所示。
圖2 數(shù)據(jù)增強(qiáng)過程圖:(a)計(jì)算少樣本集,(b)取樣合成新樣本Fig.2 Diagrams of data enhancement process:(a)small sample set by calculation,(b)synthesizing new sample by sampling
算法流程如下:
1)對(duì)于少數(shù)類中每一個(gè)樣本,以歐氏距離為標(biāo)準(zhǔn)計(jì)算它到少數(shù)類樣本集Smin中所有樣本的距離,得到其k近鄰。
2)根據(jù)樣本不平衡比例設(shè)置一個(gè)采樣比例以確定采樣倍率N。對(duì)于每一個(gè)少數(shù)類樣本,從其k近鄰中隨機(jī)選擇若干個(gè)樣本,假設(shè)選擇的近鄰為xn。
3)對(duì)于每一個(gè)隨機(jī)選出的近鄰xn,分別與原樣本按式(1)構(gòu)建新的樣本。
廣度部分是廣義的線性模型,采用正則化引導(dǎo)方法(follow the regularized leader,F(xiàn)TRL)來優(yōu)化邏輯回歸模型。FTRL是一種在處理凸優(yōu)化問題上性能非常出色的梯度下降的模型優(yōu)化方法。邏輯回歸模型如式(2)所示:
其中y是模型的預(yù)測值,即作物被推薦種植的概率。w是d維權(quán)重向量,w=[w1,…,wd],表示土壤文本特征與作物關(guān)聯(lián)權(quán)重。x是土壤文本特征,它是一個(gè)d維的向量,x=[x1,...,xd]是每個(gè)特征對(duì)應(yīng)的向量,d是特征的數(shù)量,b是模型的偏差。其目標(biāo)函數(shù)如式(3)所示:
該目標(biāo)函數(shù)表示預(yù)測種植的作物。在推薦算法中文本在計(jì)算機(jī)中的表示一般采用獨(dú)熱編碼的方式。例如,土地的類型、土壤類型、作物種類3個(gè)文本特征使用獨(dú)熱編碼表示,如表1所示。
表1 獨(dú)熱表示示例Tab.1 One-hot representation example
獨(dú)熱表示法是特征處理的一種稀疏表示方法,均用0、1矩陣表達(dá)計(jì)算機(jī)中的文本特征。當(dāng)表示水稻種植在梯田上的水稻土中的獨(dú)熱編碼為:[[1,0],[0,1,0],[0,0,0,1]]。
廣度模型處理土壤數(shù)據(jù)的文本特征時(shí),采用交叉積變換來提取土壤數(shù)據(jù)文本域特征之間的相關(guān)性。其定義如式(4)所示:
其中,?k(x)表示輸入土壤文本特征x的交叉積特征,表示第i維土壤文本特征x是否參與第k個(gè)交叉特征的構(gòu)造,k表示第k個(gè)交叉特征,d表示文本特征x的維度。c k,i是一個(gè)布爾型變量,0表示第i維土壤文本特征x未參與第k個(gè)交叉特征的構(gòu)造,1表示參與構(gòu)造。該公式用于捕獲特征與特征之間的相關(guān)性。在線性模型中添加非線性項(xiàng)可以提高模型的精度。通過與深度模型的聯(lián)合訓(xùn)練,經(jīng)過激活函數(shù)輸出最終的作物推薦。
深度部分采用的是AdaGrad[18]優(yōu)化的深度神經(jīng)網(wǎng)絡(luò)。因?yàn)樯疃壬窠?jīng)網(wǎng)絡(luò)模型的輸入是連續(xù)而稠密的特征,因此需要對(duì)土壤數(shù)據(jù)進(jìn)行數(shù)據(jù)編碼處理。對(duì)于土壤信息的數(shù)值型特征,例如土壤中的養(yǎng)分含量:氮、磷、鉀、有機(jī)質(zhì)的含量通過分布損失函數(shù)進(jìn)行歸一化。而對(duì)于土壤類型、地塊類型這些文本域特征,因?yàn)槠涓呔S稀疏的特點(diǎn),在訓(xùn)練時(shí)在多域數(shù)據(jù)融合層嵌入向量將其轉(zhuǎn)化為稠密的低維向量才能適用于深度學(xué)習(xí)訓(xùn)練。稠密的低維向量需要連接土壤數(shù)值型特征,作為第一個(gè)隱藏層的輸入。在模型訓(xùn)練階段會(huì)根據(jù)最終的損失函數(shù)反向傳播進(jìn)行參數(shù)更新。嵌入向量被隨機(jī)初始化并根據(jù)最小化最終的損失函數(shù)來學(xué)習(xí)向量參數(shù)。這些低維稠密的向量隨后在神經(jīng)網(wǎng)絡(luò)的前饋通路中被輸入到隱藏層中。每個(gè)隱藏層如式(5)所示。
其中l(wèi)是隱藏層的數(shù)量,f是激活函數(shù),通常為Relu函數(shù)。a(l),b(l)和w(l)分別為l層的激活值、偏差和模型權(quán)重。深度部分利用神經(jīng)網(wǎng)絡(luò)表達(dá)能力強(qiáng)的特點(diǎn)進(jìn)行深層特征交叉來挖掘土壤數(shù)值域與文本域數(shù)據(jù)之間的內(nèi)在關(guān)聯(lián),提高模型的精度。
協(xié)同訓(xùn)練采用廣度與深度聯(lián)合訓(xùn)練的方式結(jié)合二者各自的優(yōu)點(diǎn)。廣度模塊和深度模塊的組合依賴于對(duì)其輸出對(duì)數(shù)幾率的加權(quán)求和作為預(yù)測值,然后將預(yù)測值輸入到邏輯損失函數(shù)中進(jìn)行聯(lián)合訓(xùn)練。聯(lián)合訓(xùn)練是在訓(xùn)練環(huán)節(jié)同時(shí)優(yōu)化廣度模型與深度模型,廣度部分補(bǔ)充深度部分的弱點(diǎn),通過小批量隨機(jī)優(yōu)化技術(shù)同時(shí)將輸出的梯度反向傳播到深度和廣度兩部分實(shí)現(xiàn)。在實(shí)驗(yàn)中,使用FTRL算法以及正則化來優(yōu)化廣度部分的模型,并使用AdaGrad優(yōu)化深度部分。聯(lián)合訓(xùn)練如式(6)所示:
其中,P表示預(yù)測作物的精確度,Y是作物分類標(biāo)簽,σ(.)是Softmax函數(shù),?(x)是特征x的交叉積變換,b是偏差項(xiàng),wwide是所有wide模型的權(quán)重向量,wdeep是最終激活alf的權(quán)重。
在廣度與深度模型中激活函數(shù)采用的是Sigmoid進(jìn)行二分類推薦。Sigmoid可以將一個(gè)實(shí)數(shù)映射到(0,1)的區(qū)間。其損失函數(shù)為二分類交叉熵?fù)p失函數(shù),如公式(7)所示。
其中y表示真實(shí)標(biāo)簽的分布,a表示訓(xùn)練后的模型的預(yù)測標(biāo)簽分布,交叉熵?fù)p失函數(shù)可以衡量y與a的相似性。然而由于農(nóng)業(yè)場景下的作物種類眾多,導(dǎo)致廣度與深度模型不能適用于多分類的作物推薦場景。Softmax激活函數(shù)相對(duì)于Sigmoid激活函數(shù)具有多分類的特性,可以將K維的實(shí)數(shù)向量壓縮(映射)成另一個(gè)K維的實(shí)數(shù)向量,其中向量中的每個(gè)元素取值都介于(0,1)之間,適用于多分類問題。其損失函數(shù)為多類別交叉熵?fù)p失函數(shù),如公式(8)所示。
Li表示第i個(gè)特征點(diǎn)的交叉熵,pi,j表示第i個(gè)特征點(diǎn)是j作物類別的預(yù)測概率,ti,j表示該特征點(diǎn)的實(shí)際作物類別標(biāo)簽。即將所有概率分配給每個(gè)特征點(diǎn)單個(gè)類別的目標(biāo),再將整數(shù)目標(biāo)值轉(zhuǎn)化分類目標(biāo)值。多類別交叉熵?fù)p失函數(shù)適用于Softmax激活函數(shù)的多分類場景。
算法基于TensorFlow框架,深度學(xué)習(xí)服務(wù)器中 CPU 為 Intel 6700K,GPU 為 NAVIDIA GTX1080Ti。數(shù)據(jù)來源于中國主要農(nóng)田生態(tài)系統(tǒng)的養(yǎng)分循環(huán)試驗(yàn)數(shù)據(jù)庫,該數(shù)據(jù)庫源于中國科學(xué)院對(duì)中國生態(tài)系統(tǒng)規(guī)律研究,并且對(duì)農(nóng)田生態(tài)系統(tǒng)進(jìn)行長期養(yǎng)分循環(huán)實(shí)驗(yàn)進(jìn)而收集并且整理的土壤信息數(shù)據(jù)庫。本文整理了該數(shù)據(jù)庫中的2 512條土壤數(shù)據(jù),其中每條數(shù)據(jù)包括土壤類型、地塊類型,土壤中液態(tài)氮、速效磷、速效鉀、有機(jī)質(zhì)的含量和作物種類。作物種類包含中國中部以及東部常見耕地作物8種:小麥、水稻、玉米、糜子、黃豆、花生、蕎麥、谷子。以6∶2∶2的比例將數(shù)據(jù)集隨機(jī)分為1 884條數(shù)據(jù)的訓(xùn)練集、628條數(shù)據(jù)的驗(yàn)證集和628條數(shù)據(jù)的測試集。另外使用本課題組采集的112條土壤數(shù)據(jù)作為泛化實(shí)驗(yàn)的測試集。設(shè)計(jì)了4組實(shí)驗(yàn)來驗(yàn)證本文方法的性能。第1組實(shí)驗(yàn)比較了不同數(shù)據(jù)增強(qiáng)方法的性能,第2組進(jìn)行了消融實(shí)驗(yàn),第3組對(duì)比了現(xiàn)有數(shù)值型作物推薦方法和經(jīng)典推薦算法,第4組實(shí)驗(yàn)進(jìn)行了泛化能力的測試。
由于實(shí)際場景下土壤數(shù)據(jù)具有殘缺、重復(fù)和不平衡的特性,因而在實(shí)驗(yàn)之前需要對(duì)土壤數(shù)據(jù)進(jìn)行預(yù)處理,否則會(huì)影響實(shí)驗(yàn)的性能。用SMOTE方法進(jìn)行數(shù)據(jù)平衡化處理,將8種常見耕地的實(shí)驗(yàn)數(shù)據(jù)保持在平均的狀態(tài)。
推薦算法的評(píng)價(jià)指標(biāo)有精確率P,召回率R和F1值,具體如式(9)所示。其中Tp為準(zhǔn)確預(yù)測的土壤數(shù)據(jù)個(gè)數(shù),F(xiàn)p為模型識(shí)別到的不相關(guān)土壤數(shù)據(jù)個(gè)數(shù),F(xiàn)N為模型沒有檢測到的土壤數(shù)據(jù)個(gè)數(shù)。
為了驗(yàn)證所提算法的性能,分別從以下幾方面進(jìn)行實(shí)驗(yàn):增廣數(shù)據(jù)對(duì)比實(shí)驗(yàn)、消融實(shí)驗(yàn)、現(xiàn)有作物推薦算法對(duì)比實(shí)驗(yàn)。
對(duì)比算法分為兩類:一類是現(xiàn)有數(shù)值型作物推薦算法;另外一類是處理交叉特征能力較強(qiáng)的經(jīng)典推薦算法,分別是乘積神經(jīng)網(wǎng)絡(luò)[19](productbased neural networks,PNN)和深度交叉神經(jīng)網(wǎng)絡(luò)[20](deep crossing networks,DEEPCROSS)。
1)RFSVM:現(xiàn)有數(shù)值型作物推薦算法,利用隨機(jī)森林篩選特征得到一個(gè)最優(yōu)子集然后采用SVM算法進(jìn)行作物預(yù)測。
2)PNN:是一種經(jīng)典推薦算法,對(duì)不同特征域采用內(nèi)積、外積等多積操作在深度學(xué)習(xí)框架上提高模型特征交叉的能力從而提高模型的精度。
3)DEEPCROSS:是一種經(jīng)典深度學(xué)習(xí)推薦模型框架,采用深度多層特征交叉提高模型的精度。
2.4.1 增廣數(shù)據(jù)對(duì)比實(shí)驗(yàn) 分別以中華土壤數(shù)據(jù)庫采集的2 512條原始數(shù)據(jù)、采用隨機(jī)過采樣技術(shù)(oversampling,OS)增強(qiáng)的數(shù)據(jù)以及用SMOTE方法增強(qiáng)的數(shù)據(jù)進(jìn)行對(duì)比實(shí)驗(yàn)。隨機(jī)過采樣是對(duì)較少的類按一定比例進(jìn)行一定次數(shù)的隨機(jī)抽樣,然后將每次隨機(jī)抽樣所得到的數(shù)據(jù)集疊加。圖3為實(shí)驗(yàn)數(shù)據(jù)分布圖。
圖3 實(shí)驗(yàn)數(shù)據(jù)分布圖:(a)原始數(shù)據(jù)圖,(b)隨機(jī)過采樣增強(qiáng)圖,(c)SMOTE增強(qiáng)圖Fig.3 Diagrams of experimental data distribution:(a)original data,(b)random oversampling enhancement,(c)SMOTEenhancement
在數(shù)據(jù)增強(qiáng)前,8種作物的種類分布不平衡并且數(shù)據(jù)量少,如圖3(a)所示。采用隨機(jī)過采樣方法進(jìn)行增強(qiáng)的數(shù)據(jù)本質(zhì)上沒有添加新數(shù)據(jù),抽取了少數(shù)類并且將數(shù)據(jù)疊加在樣本空間的分布不變,但是每個(gè)少數(shù)類的樣本變多了,在圖3(b)中從淺紅色變成深紅色。采用SMOTE方法增強(qiáng)的數(shù)據(jù),在樣本空間內(nèi)的分布變多并且更加均衡,適合模型的訓(xùn)練,如圖3(c)所示。對(duì)樣本增強(qiáng)數(shù)量與模型準(zhǔn)確度實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 不同增強(qiáng)方法本文模型性能圖Fig.4 Model performance diagram of different enhancement methods
其中,NO-SWD、OS-SWD、SWD分別表示未增強(qiáng)、隨機(jī)過采樣增強(qiáng)、SMOTE增強(qiáng)后的本文模型。橫軸代表作物增強(qiáng)的數(shù)量,縱軸表示在增強(qiáng)后數(shù)據(jù)上本文模型的準(zhǔn)確度。從實(shí)驗(yàn)結(jié)果可以看出,當(dāng)作物種類的數(shù)量在1 300條時(shí)趨于穩(wěn)定并且達(dá)到最好的效果,經(jīng)過隨機(jī)過采樣和SMOTE方法增強(qiáng)后的模型達(dá)到91.2%和92.1%。經(jīng)過隨機(jī)過采樣方法增強(qiáng)的數(shù)據(jù)在本文模型上提升0.4%,相較于未增強(qiáng)數(shù)據(jù),采用SMOTE方法增強(qiáng)的方法提高了1.3%,對(duì)預(yù)測的精準(zhǔn)度的提升更優(yōu)。這是因?yàn)閷?shí)際土壤數(shù)據(jù)不平衡的特點(diǎn)會(huì)影響模型的精確度和適用性,隨機(jī)過采樣技術(shù)會(huì)導(dǎo)致嚴(yán)重過擬合效果欠佳,而SMOTE平衡后的數(shù)據(jù)在模型上有更優(yōu)的表現(xiàn)。
2.4.2 消融實(shí)驗(yàn) 以6∶1的比例隨機(jī)將中華土壤數(shù)據(jù)庫提取的土壤數(shù)據(jù)分為訓(xùn)練集和測試集,分別在LR、DNN以及本文方法上進(jìn)行測試。實(shí)驗(yàn)結(jié)果如表2所示。
從實(shí)驗(yàn)結(jié)果可以看出,本文提出的方法在土壤數(shù)據(jù)集上的表現(xiàn)達(dá)到91.8%,比LR高7.3%,比DNN高5.1%。因?yàn)長R依賴人工選擇特征和先驗(yàn)信息,無法進(jìn)行高階特征組合導(dǎo)致模型精度降低。DNN可以很好地通過特征自動(dòng)交叉學(xué)習(xí)高階的土壤數(shù)值域特征關(guān)系,但卻無法融合土壤文本域信息從而造成模型精度較低。本文方法融合文本域數(shù)據(jù)與數(shù)值域數(shù)據(jù)進(jìn)行作物推薦,并且使用聯(lián)合訓(xùn)練的方法,使Wide部分訓(xùn)練文本特征關(guān)系反作用于Deep部分從而提高模型的精度。
2.4.3 現(xiàn)有作物推薦算法對(duì)比實(shí)驗(yàn) 為了驗(yàn)證本文方法的性能,本小節(jié)與現(xiàn)有作物推薦算法以及經(jīng)典推薦模型進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示。
表3 現(xiàn)有作物推薦算法對(duì)比Tab.3 Comparison of existing crop recommendation algorithms
由表3可以看出,所提模型的精確度比RFSVM提高了5.1%。相比于RFSVM,本文方法融合了多域土壤數(shù)據(jù),并且進(jìn)行數(shù)值域與文本域數(shù)據(jù)間的特征交叉,從而使得模型的精度更高。本文方法分別比PNN、DEEPCROSS高出了1.6%和3.7%。因?yàn)楸疚乃惴ńY(jié)合了傳統(tǒng)推薦算法優(yōu)秀的低階特征學(xué)習(xí)能力和深度學(xué)習(xí)推薦算法優(yōu)秀的高階特征學(xué)習(xí)能力,因而在土壤數(shù)據(jù)上的表現(xiàn)優(yōu)于主流推薦模型。
通過RFSVM以及經(jīng)典深度學(xué)習(xí)推薦模型進(jìn)行對(duì)比驗(yàn)證本文算法的優(yōu)越性。首先相比于RFSVM,本文算法引入土壤文本域數(shù)據(jù),并且通過挖掘土壤文本域特征之間的相關(guān)性提升預(yù)測精度。其次,RFSVM屬于傳統(tǒng)機(jī)器學(xué)習(xí)算法,在高階特征交叉性能上有所欠缺,而本文通過傳統(tǒng)算法與深度神經(jīng)網(wǎng)絡(luò)模型結(jié)合的方法,可以同時(shí)使模型在低階和高階的特征交叉上表現(xiàn)優(yōu)秀。最后本文選取了經(jīng)典深度學(xué)習(xí)推薦模型PNN、DEEP CROSS作為對(duì)比算法,在本文數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明在多域土壤數(shù)據(jù)的特征處理上,本文算法表現(xiàn)更佳。
2.4.4 不同測試集對(duì)比實(shí)驗(yàn) 實(shí)驗(yàn)以6∶1的比例隨機(jī)將中華土壤數(shù)據(jù)庫提取的土壤數(shù)據(jù)分為訓(xùn)練集和測試集1(Test1)以及武漢工程大學(xué)采集的土壤數(shù)據(jù)作為測試集2(Test2)分別在RFSVM以及本文方法進(jìn)行測試。實(shí)驗(yàn)結(jié)果如表4所示。
表4 不同數(shù)據(jù)集測試結(jié)果Tab.4 Test results on different data sets
從測試結(jié)果可以看出,RFSVM方法推薦作物種類時(shí)的效果在Test1與Test2相差3.2%,而本文方法在Test1與Test2僅相差0.5%。這是因?yàn)楝F(xiàn)有RFSVM方法不能通過多層的特征交叉來提高模型的泛化能力,因此在本課題組采集的數(shù)據(jù)集上測試表現(xiàn)較差。
針對(duì)常見的推薦模型無法充分地挖掘多域土壤特征以及其特征關(guān)系的問題,提出基于土壤數(shù)據(jù)廣度與深度模型的作物推薦算法。1)對(duì)土壤數(shù)據(jù)進(jìn)行增強(qiáng),獲得更為均衡的土壤數(shù)據(jù)作為模型的輸入;2)融合多域的土壤數(shù)據(jù)進(jìn)行作物推薦,同時(shí)學(xué)習(xí)了土壤數(shù)值域數(shù)據(jù)與文本域數(shù)據(jù)的特征關(guān)系,并分析了該關(guān)系對(duì)作物推薦的作用;3)改進(jìn)了多分類的激活函數(shù),使二分類推薦模型能應(yīng)用于土壤作物推薦領(lǐng)域。但是由于推薦任務(wù)的單一性,可能造成不能滿足復(fù)雜的實(shí)際推薦場景,在后續(xù)的研究中,將綜合推薦評(píng)估方法以及動(dòng)態(tài)土壤數(shù)據(jù)進(jìn)行多任務(wù)的推薦。