池 濤,曹廣溥*,李丙春,孜克爾·阿不都熱合曼,王文龍
1.上海海洋大學(xué) 信息學(xué)院,上海 201306
2.喀什大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,新疆 喀什 844006
土壤鹽漬化是一種常見(jiàn)但危害巨大的土壤退化現(xiàn)象,會(huì)降低農(nóng)作物的產(chǎn)量,嚴(yán)重時(shí)農(nóng)作物無(wú)法生長(zhǎng)而且會(huì)破壞當(dāng)?shù)厣鷳B(tài)環(huán)境。中國(guó)領(lǐng)土廣泛,不同區(qū)域的地質(zhì)、氣候、領(lǐng)海情況不同,造成了中國(guó)鹽漬土種類(lèi)豐富,很難定量分析。國(guó)內(nèi)外對(duì)鹽漬化土壤光譜機(jī)理[1-4]和模型反演[5-8]已進(jìn)行了深入研究,形成了很多研究成果,但這些成果大多體現(xiàn)在定性分析和論文描述中,至今無(wú)應(yīng)用于實(shí)際儀器儀表記錄。
本研究是基于不同鹽度土壤反射光譜數(shù)據(jù)分析,采用多元線性回歸、BP神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)三種在數(shù)據(jù)回歸領(lǐng)域中使用較廣的兩種算法,對(duì)土壤含鹽量進(jìn)行非線性定量擬合,代碼通過(guò)MATLAB編程實(shí)現(xiàn)。創(chuàng)新點(diǎn)是在PC機(jī)中驗(yàn)證機(jī)器學(xué)習(xí)算法在土壤含鹽量預(yù)測(cè)領(lǐng)域的適用性,以便于后期移植到實(shí)際的儀器儀表制作中。
實(shí)驗(yàn)以不同區(qū)域的土壤為研究對(duì)象,一類(lèi)供試土樣采自上海市濱海地區(qū),二類(lèi)供試土壤采自新疆省喀什區(qū)域,隨機(jī)土樣共270個(gè)(上海鹽土150個(gè),喀什鹽土120個(gè))并將每個(gè)土樣分為兩份,一份土樣用于含鹽量檢測(cè),一份用于土壤光譜測(cè)定。
本研究使用重量法檢測(cè)土壤含鹽量,土壤進(jìn)過(guò)篩孔、溶解、去有機(jī)質(zhì)、風(fēng)干和稱(chēng)重等過(guò)程,測(cè)得土壤樣本含鹽量情況如下表:
表1 土壤含鹽量樣地統(tǒng)計(jì)表Table 1 Statistics tables of soil salinity sample plots
土壤光譜測(cè)定使用了Field Spec Pro FR(美國(guó)Analytical Spectral Devices公司)光譜儀,波長(zhǎng)范圍為350~2500 nm。在暗室中測(cè)定樣本光譜,350~1000 nm波段光譜分辨率為3 nm,1000~2500 nm波段光譜分辨率為10 nm,采樣間隔都是1 nm。光源使用了1000 W的鹵素?zé)簦庾V儀傳感器探頭放置在土壤樣本的正上方,探頭接收的樣本區(qū)域應(yīng)遠(yuǎn)小于土壤樣本的整體面積,確保探頭接受的所有反射光譜都是來(lái)自土壤樣本的[9]。重復(fù)采樣土壤樣本光譜曲線并取均值作為處理好實(shí)驗(yàn)數(shù)據(jù)供后面實(shí)驗(yàn)使用。
在MATLAB中對(duì)采集到的光譜曲線進(jìn)行去噪處理,處理后的光譜曲線如圖1。
圖1 不同鹽漬土光譜反射率Fig.1 Spectral reflectance of different saline soils
兩種供試土壤的土壤類(lèi)型不同,第一類(lèi)土壤采集自上海臨海區(qū)域的鹽土,土壤中的鹽類(lèi)大多是氯化鹽,如NaCl和MgCl2,因?yàn)槁然镂账值哪芰?qiáng)導(dǎo)致氯化鹽土中水分較高,所以該類(lèi)土壤的光譜反射率會(huì)隨著鹽漬化程度的增加而降低。而第二類(lèi)供試土壤采集自新疆的喀什戈壁地區(qū),由于天氣干燥,土壤含水量極低而出現(xiàn)了鹽結(jié)晶溢出的現(xiàn)象,這也導(dǎo)致了二類(lèi)土壤的光譜反射率會(huì)隨著鹽漬度程度增加而增加。
由于光譜波段數(shù)量較多,直接對(duì)原始數(shù)據(jù)進(jìn)行擬合實(shí)驗(yàn)會(huì)造成實(shí)驗(yàn)?zāi)P蛷?fù)雜且運(yùn)行效率低,所以需要采集一些特征值來(lái)表征某個(gè)土壤樣本的整條光譜曲線。本研究選取鹽漬土在350 nm、700 nm、1350 nm、1400 nm、1500 nm、1850 nm、2050 nm、2200 nm和2500 nm的光譜反射率曲線值以及土壤表征參數(shù)(特征波段斜率):
Xa(350~700 nm),Xb(700~1350 nm),Xc(1350~1400 nm),Xd(1400~1500 nm),Xe(1500~1850 nm),Xf(1850~2050 nm),Xg(2050~2200 nm),Xh(2200~2500 nm)。
通過(guò)這種方法簡(jiǎn)化后的17個(gè)參數(shù),不但涵蓋了土壤光譜曲線的所有信息,而且可以避免樣本少輸入數(shù)據(jù)多而導(dǎo)致的擬合模型不穩(wěn)定的問(wèn)題。
多元線性回歸是一種常用的線性擬合方法,適用于自變量數(shù)量多的數(shù)據(jù)回歸中,因變量與多個(gè)自變量都存在相關(guān)性,然后通過(guò)回歸分析得出因變量與自變量的映射關(guān)系。多元線性回歸方法是農(nóng)學(xué)數(shù)學(xué)分析最常用的方法,本研究對(duì)土壤光譜數(shù)據(jù)進(jìn)行多元線性回歸,除去大于0.05大于顯著水平的輸入變量,得到土壤光譜數(shù)據(jù)與含鹽量的映射方程,擬合公式如下:
BP神經(jīng)網(wǎng)絡(luò)(BPNN)是一種采用了誤差逆向傳播算法來(lái)訓(xùn)練的前饋式神經(jīng)網(wǎng)絡(luò),如果已有神經(jīng)元之間的權(quán)值和閾值正向傳播無(wú)法達(dá)到期望值,則反向傳播計(jì)算誤差大小來(lái)修改各節(jié)點(diǎn)的權(quán)值和閾值,逐步減小代價(jià)函數(shù),使預(yù)測(cè)誤差降到預(yù)先設(shè)定的數(shù)值[10]。當(dāng)誤差達(dá)到期望或者多次迭代后無(wú)法降低誤差,則BP網(wǎng)絡(luò)訓(xùn)練完成,此時(shí)的BP網(wǎng)絡(luò)就是輸入與輸出之間的映射關(guān)系。
本研究中的BP神經(jīng)網(wǎng)絡(luò)在MATLAB中實(shí)現(xiàn),分為模型構(gòu)建、自動(dòng)訓(xùn)練和結(jié)果預(yù)測(cè)三個(gè)過(guò)程,通過(guò)MATLAB自帶神經(jīng)網(wǎng)絡(luò)實(shí)驗(yàn)箱中的newff、train、sim三個(gè)函數(shù)來(lái)實(shí)現(xiàn)。將表征光譜曲線的17個(gè)參數(shù)作為BP神經(jīng)網(wǎng)絡(luò)的17個(gè)節(jié)點(diǎn),隱含層的數(shù)量在不斷實(shí)驗(yàn)中確定,輸入層為土壤含鹽量一個(gè)節(jié)點(diǎn)。代碼實(shí)現(xiàn)過(guò)程如下:
其中:input是輸入的土壤光譜數(shù)據(jù);output是土壤含鹽量;input_test是測(cè)試數(shù)據(jù);BPoutput是預(yù)測(cè)結(jié)果。
通過(guò)mapminmax函數(shù)對(duì)輸入數(shù)據(jù)、輸出數(shù)據(jù)和訓(xùn)練樣本數(shù)據(jù)進(jìn)行歸一化,輸入層到隱含層使用S型對(duì)數(shù)函數(shù)logsig,隱含層到輸出層使用純線性函數(shù)purelin,通過(guò)多次實(shí)驗(yàn),選擇了收斂效果最好、誤差最小的trainlm作為訓(xùn)練函數(shù)。訓(xùn)練步數(shù)設(shè)置為100步,學(xué)習(xí)速率為0.1,理想誤差為0.00004。將土壤光譜數(shù)據(jù)作為輸入數(shù)據(jù),土壤含鹽量作為輸出數(shù)據(jù),訓(xùn)練模型,在誤差達(dá)到理想誤差時(shí)或是多次迭代后誤差不在下降時(shí),模型訓(xùn)練結(jié)束,得到的權(quán)值閾值矩陣就是BP神經(jīng)網(wǎng)絡(luò)模型。訓(xùn)練完成之后,將訓(xùn)練樣本導(dǎo)入輸出層,計(jì)算出預(yù)測(cè)結(jié)果并與實(shí)際結(jié)果相比較,得出BP神經(jīng)網(wǎng)絡(luò)的誤差率。
由于BP神經(jīng)網(wǎng)絡(luò)模型受訓(xùn)練樣本數(shù)目影響較大,在小樣本實(shí)驗(yàn)中,BP神經(jīng)網(wǎng)絡(luò)易出現(xiàn)局部誤差大、模型不穩(wěn)定等情況,所以本文對(duì)實(shí)驗(yàn)進(jìn)行了2個(gè)調(diào)整:
(1)從輸入的17個(gè)節(jié)點(diǎn)中挑選出6個(gè)權(quán)值貢獻(xiàn)率最大的節(jié)點(diǎn)作為輸入節(jié)點(diǎn),減少了輸入節(jié)點(diǎn)的數(shù)量,簡(jiǎn)化了BP神經(jīng)網(wǎng)絡(luò)模型。
(2)加一個(gè)BP神經(jīng)網(wǎng)絡(luò)模型用于土壤種類(lèi)的分類(lèi),減少了土壤種類(lèi)對(duì)模型精確度的影響。
修改后的模型如圖2。
圖2 復(fù)合BP神經(jīng)網(wǎng)絡(luò)模型Fig.2 Compound BPneural network model
支持向量機(jī)(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的用來(lái)解決函數(shù)擬合的問(wèn)題。支持向量機(jī)一般用于分類(lèi)和回歸兩種情況,本研究中土壤鹽漬化反演模型就是使用支持向量機(jī)進(jìn)行回歸。在使用支持向量機(jī)進(jìn)行回歸時(shí),需要調(diào)整的參數(shù)是懲罰參數(shù)c、不靈敏損失參數(shù)ε、核函數(shù)類(lèi)型和核函數(shù)參數(shù)[11,12]。
控制支持向量機(jī)回歸的參數(shù)主要有懲罰參數(shù)c、不靈敏損失參數(shù)ε、核函數(shù)類(lèi)型和核函數(shù)參數(shù)。c越大,表示經(jīng)驗(yàn)風(fēng)險(xiǎn)越小,即模型越復(fù)雜,泛化能力越差;c越小,模型越簡(jiǎn)單,泛化能力越強(qiáng),但可能犧牲了模型的擬合能力。ε用于修改支持向量的數(shù)量,ε越小,支持向量機(jī)數(shù)量越大,模型相對(duì)來(lái)說(shuō)約復(fù)雜。已有學(xué)者研究表明,徑向基核函數(shù)在土壤鹽漬化反演模型中效果更好。因此,本研究的選擇徑向基(RBF)作為核函數(shù),其表達(dá)式為:
式中:σ為核函數(shù)參數(shù)。
代碼實(shí)現(xiàn)流程如下:
支持向量機(jī)輸入輸出數(shù)據(jù)初始化、測(cè)試樣本和訓(xùn)練樣本的設(shè)置與BP神經(jīng)網(wǎng)絡(luò)模型的設(shè)置相同,然后通過(guò)libsvm-mat的網(wǎng)格參數(shù)尋優(yōu)函數(shù)的調(diào)用,對(duì)懲罰參數(shù)c和核函數(shù)參數(shù)g進(jìn)行最優(yōu)值尋找。先進(jìn)行參數(shù)粗略選擇,c的搜索范圍設(shè)置為10-5~1010,g的搜索范圍設(shè)置為10-5~105,迭代步長(zhǎng)設(shè)置為1,然后進(jìn)行參數(shù)精細(xì)選擇,c的搜索范圍設(shè)置為100~1010,g的搜索范圍設(shè)置為10-5~100,迭代步長(zhǎng)設(shè)為0.3。參數(shù)選擇完成后,再利用回歸預(yù)測(cè)分析的最佳參數(shù)進(jìn)行SVM模型訓(xùn)練。
本實(shí)驗(yàn)采集鹽漬土光譜數(shù)據(jù),處理后作為輸入數(shù)據(jù),并檢測(cè)土壤含鹽量作為輸出數(shù)據(jù),將這些數(shù)據(jù)分為訓(xùn)練集和預(yù)測(cè)集來(lái)進(jìn)行建模。
在多元線性回歸實(shí)驗(yàn)中,除去大于0.05大于顯著水平的輸入變量后建立的模型擬合精度為76.8%,效果并不理想,這是因?yàn)槎嘣€性回歸方法適用于線性數(shù)據(jù)的擬合,而土壤光譜數(shù)據(jù)是機(jī)理尚不明確的非線性數(shù)據(jù),使用線性回歸方法處理難免會(huì)出現(xiàn)誤差較大的情況。圖二是BP神經(jīng)網(wǎng)絡(luò)收斂過(guò)程,經(jīng)過(guò)17步訓(xùn)練,測(cè)試集誤差達(dá)到目標(biāo)誤差以下,為4.036×10-5,但測(cè)試集誤差下降到5×10-4左右時(shí)就會(huì)出現(xiàn)反復(fù)迭代無(wú)法下降的情況,這是因?yàn)锽P神經(jīng)網(wǎng)絡(luò)模型對(duì)樣本數(shù)量要求較高,在小樣本實(shí)驗(yàn)中,訓(xùn)練集和測(cè)試集都會(huì)出現(xiàn)數(shù)量不夠,從而導(dǎo)致模型不穩(wěn)定、測(cè)試集不具有普遍性、部分測(cè)試數(shù)據(jù)誤差較大的情況。圖三、圖四是支持向量機(jī)參數(shù)模糊、精確選擇結(jié)果,經(jīng)過(guò)網(wǎng)格尋優(yōu)得到的最優(yōu)參數(shù)為c=9.849、g=0.0583,模型的擬合精度為99.4119%。從以上實(shí)驗(yàn)可以看出,線性回歸方法、BP神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)都可以完成收斂任務(wù),BP神經(jīng)網(wǎng)絡(luò)和SVM的誤差收斂穩(wěn)定,訓(xùn)練、預(yù)測(cè)效果好。
圖3 BP神經(jīng)網(wǎng)絡(luò)均方差變化曲線Fig.3 Variation curve of BP neural network mean square error
圖4 SVM參數(shù)模糊選擇結(jié)果Fig.4 SVM parameter fuzzy selection results
圖5 SVM參數(shù)精細(xì)選擇結(jié)果Fig.5 SVM parameters precision selection results
對(duì)實(shí)驗(yàn)使用的三種模型進(jìn)行誤差分析對(duì)比,對(duì)比結(jié)果如圖6。
圖6 多模型誤差對(duì)比Fig.6 Multi-model error comparison
線性回歸方法最大相對(duì)誤差為912.32%,最小相對(duì)誤差為10.03%,由于個(gè)別測(cè)試值誤差巨大,所以導(dǎo)致平均相對(duì)誤差達(dá)到128.25%,這也說(shuō)明線性回歸方法并不適用于土壤光譜數(shù)據(jù)這種復(fù)雜非線數(shù)據(jù)的擬合;BP神經(jīng)網(wǎng)絡(luò)模型的最大相對(duì)誤差為444.68%,最小相對(duì)誤差為2.79%,平均相對(duì)誤差為67.45%,增加土壤分類(lèi)功能的復(fù)合神經(jīng)網(wǎng)絡(luò)模型的最大誤差為158.35%,最小誤差為0.55%,平均相對(duì)誤差為32.213%,比較而言,傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)還是有部分預(yù)測(cè)數(shù)據(jù)誤差較大的情況,百分35.84%的擬合精度也不理想,而改進(jìn)后的復(fù)合BP神經(jīng)網(wǎng)絡(luò)模型的擬合精度達(dá)到了67.78%,預(yù)測(cè)精度遠(yuǎn)遠(yuǎn)高于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型,說(shuō)土壤種類(lèi)對(duì)土壤光譜數(shù)據(jù)的影響較大,通過(guò)修改模型減少這種影響可以提高預(yù)測(cè)模型精度;SVM模型的最大相對(duì)誤差為37.341%,最小相對(duì)誤差為0.431%,平均相對(duì)誤差為9.253%,擬合精度明顯高于BP神經(jīng)網(wǎng)絡(luò)模型,也達(dá)到了一個(gè)理想的精確度。之所以出現(xiàn)這樣的實(shí)驗(yàn)現(xiàn)象,是因?yàn)锽P神經(jīng)網(wǎng)絡(luò)模型對(duì)訓(xùn)練樣本數(shù)量要求高,需要對(duì)數(shù)據(jù)進(jìn)行大量的預(yù)先處理,而且在調(diào)試過(guò)程中需要大量的調(diào)整技巧,并不適用與土壤含鹽量反演這樣的小規(guī)模數(shù)據(jù)實(shí)驗(yàn)。支持向量機(jī)在這樣的小規(guī)模數(shù)據(jù)實(shí)驗(yàn)中表現(xiàn)較好,因?yàn)橹С窒蛄繖C(jī)有著嚴(yán)格的數(shù)學(xué)理論作基礎(chǔ),會(huì)先經(jīng)過(guò)大量計(jì)算來(lái)求出全局參數(shù)最優(yōu)解,省去了數(shù)據(jù)預(yù)處理的階段,并且可以有效避免神經(jīng)網(wǎng)絡(luò)易出現(xiàn)的局部極值問(wèn)題,因此支持向量機(jī)模型的預(yù)測(cè)精度會(huì)高于多元線性回歸模型和BP神經(jīng)網(wǎng)絡(luò)模型。
本文以新疆喀什地區(qū)和上海沿海地區(qū)為研究區(qū),采集了270個(gè)土壤樣品進(jìn)行土壤鹽漬化預(yù)測(cè)研究。實(shí)驗(yàn)選取了多元線性回歸模型、BP神經(jīng)網(wǎng)絡(luò)模型和支持向量機(jī)模型來(lái)預(yù)測(cè)土壤含鹽量,探究這三種模型在土壤含鹽量預(yù)測(cè)中的適用性,結(jié)論如下:
(1)多元線性回歸方法在預(yù)測(cè)土壤含鹽量時(shí),會(huì)出現(xiàn)個(gè)別預(yù)測(cè)結(jié)果誤差極大,整體預(yù)測(cè)精度也不高,不適用于復(fù)雜非線性數(shù)據(jù)的擬合實(shí)驗(yàn)中;
(2)BP神經(jīng)網(wǎng)絡(luò)模型受樣本數(shù)量影響較大,樣本數(shù)量不足會(huì)導(dǎo)致模型不穩(wěn)定,所以會(huì)出現(xiàn)土壤類(lèi)型對(duì)精度影響大的現(xiàn)象,經(jīng)過(guò)改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)模型,實(shí)際實(shí)驗(yàn)中均方誤差為32.213%,基本可以完成預(yù)測(cè)任務(wù);
(3)SVM模型有著嚴(yán)格的數(shù)學(xué)理論基礎(chǔ),在小樣本實(shí)驗(yàn)中表現(xiàn)也更好,擬合精度達(dá)到99.4119%,在實(shí)際實(shí)驗(yàn)中均方誤差為9.253%,預(yù)測(cè)結(jié)果非常理想。