国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于高光譜數(shù)據(jù)和SVM方法的土壤鹽漬度反演

2018-07-25 03:40:20曹廣溥李丙春孜克爾阿不都熱合曼王文龍
關(guān)鍵詞:含鹽量線性光譜

池 濤,曹廣溥*,李丙春,孜克爾·阿不都熱合曼,王文龍

1.上海海洋大學(xué) 信息學(xué)院,上海 201306

2.喀什大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,新疆 喀什 844006

土壤鹽漬化是一種常見但危害巨大的土壤退化現(xiàn)象,會降低農(nóng)作物的產(chǎn)量,嚴(yán)重時農(nóng)作物無法生長而且會破壞當(dāng)?shù)厣鷳B(tài)環(huán)境。中國領(lǐng)土廣泛,不同區(qū)域的地質(zhì)、氣候、領(lǐng)海情況不同,造成了中國鹽漬土種類豐富,很難定量分析。國內(nèi)外對鹽漬化土壤光譜機理[1-4]和模型反演[5-8]已進(jìn)行了深入研究,形成了很多研究成果,但這些成果大多體現(xiàn)在定性分析和論文描述中,至今無應(yīng)用于實際儀器儀表記錄。

本研究是基于不同鹽度土壤反射光譜數(shù)據(jù)分析,采用多元線性回歸、BP神經(jīng)網(wǎng)絡(luò)和支持向量機三種在數(shù)據(jù)回歸領(lǐng)域中使用較廣的兩種算法,對土壤含鹽量進(jìn)行非線性定量擬合,代碼通過MATLAB編程實現(xiàn)。創(chuàng)新點是在PC機中驗證機器學(xué)習(xí)算法在土壤含鹽量預(yù)測領(lǐng)域的適用性,以便于后期移植到實際的儀器儀表制作中。

1 樣本采集與數(shù)據(jù)處理

1.1 樣品的采集

實驗以不同區(qū)域的土壤為研究對象,一類供試土樣采自上海市濱海地區(qū),二類供試土壤采自新疆省喀什區(qū)域,隨機土樣共270個(上海鹽土150個,喀什鹽土120個)并將每個土樣分為兩份,一份土樣用于含鹽量檢測,一份用于土壤光譜測定。

1.2 土樣含鹽量檢測

本研究使用重量法檢測土壤含鹽量,土壤進(jìn)過篩孔、溶解、去有機質(zhì)、風(fēng)干和稱重等過程,測得土壤樣本含鹽量情況如下表:

表1 土壤含鹽量樣地統(tǒng)計表Table 1 Statistics tables of soil salinity sample plots

1.3 土樣光譜測定與處理

土壤光譜測定使用了Field Spec Pro FR(美國Analytical Spectral Devices公司)光譜儀,波長范圍為350~2500 nm。在暗室中測定樣本光譜,350~1000 nm波段光譜分辨率為3 nm,1000~2500 nm波段光譜分辨率為10 nm,采樣間隔都是1 nm。光源使用了1000 W的鹵素?zé)?,光譜儀傳感器探頭放置在土壤樣本的正上方,探頭接收的樣本區(qū)域應(yīng)遠(yuǎn)小于土壤樣本的整體面積,確保探頭接受的所有反射光譜都是來自土壤樣本的[9]。重復(fù)采樣土壤樣本光譜曲線并取均值作為處理好實驗數(shù)據(jù)供后面實驗使用。

在MATLAB中對采集到的光譜曲線進(jìn)行去噪處理,處理后的光譜曲線如圖1。

圖1 不同鹽漬土光譜反射率Fig.1 Spectral reflectance of different saline soils

兩種供試土壤的土壤類型不同,第一類土壤采集自上海臨海區(qū)域的鹽土,土壤中的鹽類大多是氯化鹽,如NaCl和MgCl2,因為氯化物吸收水分的能力強導(dǎo)致氯化鹽土中水分較高,所以該類土壤的光譜反射率會隨著鹽漬化程度的增加而降低。而第二類供試土壤采集自新疆的喀什戈壁地區(qū),由于天氣干燥,土壤含水量極低而出現(xiàn)了鹽結(jié)晶溢出的現(xiàn)象,這也導(dǎo)致了二類土壤的光譜反射率會隨著鹽漬度程度增加而增加。

由于光譜波段數(shù)量較多,直接對原始數(shù)據(jù)進(jìn)行擬合實驗會造成實驗?zāi)P蛷?fù)雜且運行效率低,所以需要采集一些特征值來表征某個土壤樣本的整條光譜曲線。本研究選取鹽漬土在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)。

通過這種方法簡化后的17個參數(shù),不但涵蓋了土壤光譜曲線的所有信息,而且可以避免樣本少輸入數(shù)據(jù)多而導(dǎo)致的擬合模型不穩(wěn)定的問題。

2 鹽漬化反演模型的構(gòu)建

2.1 多元線性回歸模型

多元線性回歸是一種常用的線性擬合方法,適用于自變量數(shù)量多的數(shù)據(jù)回歸中,因變量與多個自變量都存在相關(guān)性,然后通過回歸分析得出因變量與自變量的映射關(guān)系。多元線性回歸方法是農(nóng)學(xué)數(shù)學(xué)分析最常用的方法,本研究對土壤光譜數(shù)據(jù)進(jìn)行多元線性回歸,除去大于0.05大于顯著水平的輸入變量,得到土壤光譜數(shù)據(jù)與含鹽量的映射方程,擬合公式如下:

2.2 BP神經(jīng)網(wǎng)絡(luò)模型

BP神經(jīng)網(wǎng)絡(luò)(BPNN)是一種采用了誤差逆向傳播算法來訓(xùn)練的前饋式神經(jīng)網(wǎng)絡(luò),如果已有神經(jīng)元之間的權(quán)值和閾值正向傳播無法達(dá)到期望值,則反向傳播計算誤差大小來修改各節(jié)點的權(quán)值和閾值,逐步減小代價函數(shù),使預(yù)測誤差降到預(yù)先設(shè)定的數(shù)值[10]。當(dāng)誤差達(dá)到期望或者多次迭代后無法降低誤差,則BP網(wǎng)絡(luò)訓(xùn)練完成,此時的BP網(wǎng)絡(luò)就是輸入與輸出之間的映射關(guān)系。

本研究中的BP神經(jīng)網(wǎng)絡(luò)在MATLAB中實現(xiàn),分為模型構(gòu)建、自動訓(xùn)練和結(jié)果預(yù)測三個過程,通過MATLAB自帶神經(jīng)網(wǎng)絡(luò)實驗箱中的newff、train、sim三個函數(shù)來實現(xiàn)。將表征光譜曲線的17個參數(shù)作為BP神經(jīng)網(wǎng)絡(luò)的17個節(jié)點,隱含層的數(shù)量在不斷實驗中確定,輸入層為土壤含鹽量一個節(jié)點。代碼實現(xiàn)過程如下:

其中:input是輸入的土壤光譜數(shù)據(jù);output是土壤含鹽量;input_test是測試數(shù)據(jù);BPoutput是預(yù)測結(jié)果。

通過mapminmax函數(shù)對輸入數(shù)據(jù)、輸出數(shù)據(jù)和訓(xùn)練樣本數(shù)據(jù)進(jìn)行歸一化,輸入層到隱含層使用S型對數(shù)函數(shù)logsig,隱含層到輸出層使用純線性函數(shù)purelin,通過多次實驗,選擇了收斂效果最好、誤差最小的trainlm作為訓(xùn)練函數(shù)。訓(xùn)練步數(shù)設(shè)置為100步,學(xué)習(xí)速率為0.1,理想誤差為0.00004。將土壤光譜數(shù)據(jù)作為輸入數(shù)據(jù),土壤含鹽量作為輸出數(shù)據(jù),訓(xùn)練模型,在誤差達(dá)到理想誤差時或是多次迭代后誤差不在下降時,模型訓(xùn)練結(jié)束,得到的權(quán)值閾值矩陣就是BP神經(jīng)網(wǎng)絡(luò)模型。訓(xùn)練完成之后,將訓(xùn)練樣本導(dǎo)入輸出層,計算出預(yù)測結(jié)果并與實際結(jié)果相比較,得出BP神經(jīng)網(wǎng)絡(luò)的誤差率。

由于BP神經(jīng)網(wǎng)絡(luò)模型受訓(xùn)練樣本數(shù)目影響較大,在小樣本實驗中,BP神經(jīng)網(wǎng)絡(luò)易出現(xiàn)局部誤差大、模型不穩(wěn)定等情況,所以本文對實驗進(jìn)行了2個調(diào)整:

(1)從輸入的17個節(jié)點中挑選出6個權(quán)值貢獻(xiàn)率最大的節(jié)點作為輸入節(jié)點,減少了輸入節(jié)點的數(shù)量,簡化了BP神經(jīng)網(wǎng)絡(luò)模型。

(2)加一個BP神經(jīng)網(wǎng)絡(luò)模型用于土壤種類的分類,減少了土壤種類對模型精確度的影響。

修改后的模型如圖2。

圖2 復(fù)合BP神經(jīng)網(wǎng)絡(luò)模型Fig.2 Compound BPneural network model

2.3 SVM模型

支持向量機(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的用來解決函數(shù)擬合的問題。支持向量機一般用于分類和回歸兩種情況,本研究中土壤鹽漬化反演模型就是使用支持向量機進(jìn)行回歸。在使用支持向量機進(jìn)行回歸時,需要調(diào)整的參數(shù)是懲罰參數(shù)c、不靈敏損失參數(shù)ε、核函數(shù)類型和核函數(shù)參數(shù)[11,12]。

控制支持向量機回歸的參數(shù)主要有懲罰參數(shù)c、不靈敏損失參數(shù)ε、核函數(shù)類型和核函數(shù)參數(shù)。c越大,表示經(jīng)驗風(fēng)險越小,即模型越復(fù)雜,泛化能力越差;c越小,模型越簡單,泛化能力越強,但可能犧牲了模型的擬合能力。ε用于修改支持向量的數(shù)量,ε越小,支持向量機數(shù)量越大,模型相對來說約復(fù)雜。已有學(xué)者研究表明,徑向基核函數(shù)在土壤鹽漬化反演模型中效果更好。因此,本研究的選擇徑向基(RBF)作為核函數(shù),其表達(dá)式為:

式中:σ為核函數(shù)參數(shù)。

代碼實現(xiàn)流程如下:

支持向量機輸入輸出數(shù)據(jù)初始化、測試樣本和訓(xùn)練樣本的設(shè)置與BP神經(jīng)網(wǎng)絡(luò)模型的設(shè)置相同,然后通過libsvm-mat的網(wǎng)格參數(shù)尋優(yōu)函數(shù)的調(diào)用,對懲罰參數(shù)c和核函數(shù)參數(shù)g進(jìn)行最優(yōu)值尋找。先進(jìn)行參數(shù)粗略選擇,c的搜索范圍設(shè)置為10-5~1010,g的搜索范圍設(shè)置為10-5~105,迭代步長設(shè)置為1,然后進(jìn)行參數(shù)精細(xì)選擇,c的搜索范圍設(shè)置為100~1010,g的搜索范圍設(shè)置為10-5~100,迭代步長設(shè)為0.3。參數(shù)選擇完成后,再利用回歸預(yù)測分析的最佳參數(shù)進(jìn)行SVM模型訓(xùn)練。

3 結(jié)果與分析

3.1 多元線性回歸、BP神經(jīng)網(wǎng)絡(luò)和SVM模型對土壤含鹽量預(yù)測比較

本實驗采集鹽漬土光譜數(shù)據(jù),處理后作為輸入數(shù)據(jù),并檢測土壤含鹽量作為輸出數(shù)據(jù),將這些數(shù)據(jù)分為訓(xùn)練集和預(yù)測集來進(jìn)行建模。

在多元線性回歸實驗中,除去大于0.05大于顯著水平的輸入變量后建立的模型擬合精度為76.8%,效果并不理想,這是因為多元線性回歸方法適用于線性數(shù)據(jù)的擬合,而土壤光譜數(shù)據(jù)是機理尚不明確的非線性數(shù)據(jù),使用線性回歸方法處理難免會出現(xiàn)誤差較大的情況。圖二是BP神經(jīng)網(wǎng)絡(luò)收斂過程,經(jīng)過17步訓(xùn)練,測試集誤差達(dá)到目標(biāo)誤差以下,為4.036×10-5,但測試集誤差下降到5×10-4左右時就會出現(xiàn)反復(fù)迭代無法下降的情況,這是因為BP神經(jīng)網(wǎng)絡(luò)模型對樣本數(shù)量要求較高,在小樣本實驗中,訓(xùn)練集和測試集都會出現(xiàn)數(shù)量不夠,從而導(dǎo)致模型不穩(wěn)定、測試集不具有普遍性、部分測試數(shù)據(jù)誤差較大的情況。圖三、圖四是支持向量機參數(shù)模糊、精確選擇結(jié)果,經(jīng)過網(wǎng)格尋優(yōu)得到的最優(yōu)參數(shù)為c=9.849、g=0.0583,模型的擬合精度為99.4119%。從以上實驗可以看出,線性回歸方法、BP神經(jīng)網(wǎng)絡(luò)和支持向量機都可以完成收斂任務(wù),BP神經(jīng)網(wǎng)絡(luò)和SVM的誤差收斂穩(wěn)定,訓(xùn)練、預(yù)測效果好。

圖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

3.2 土壤鹽漬化預(yù)測模型對比

對實驗使用的三種模型進(jìn)行誤差分析對比,對比結(jié)果如圖6。

圖6 多模型誤差對比Fig.6 Multi-model error comparison

線性回歸方法最大相對誤差為912.32%,最小相對誤差為10.03%,由于個別測試值誤差巨大,所以導(dǎo)致平均相對誤差達(dá)到128.25%,這也說明線性回歸方法并不適用于土壤光譜數(shù)據(jù)這種復(fù)雜非線數(shù)據(jù)的擬合;BP神經(jīng)網(wǎng)絡(luò)模型的最大相對誤差為444.68%,最小相對誤差為2.79%,平均相對誤差為67.45%,增加土壤分類功能的復(fù)合神經(jīng)網(wǎng)絡(luò)模型的最大誤差為158.35%,最小誤差為0.55%,平均相對誤差為32.213%,比較而言,傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)還是有部分預(yù)測數(shù)據(jù)誤差較大的情況,百分35.84%的擬合精度也不理想,而改進(jìn)后的復(fù)合BP神經(jīng)網(wǎng)絡(luò)模型的擬合精度達(dá)到了67.78%,預(yù)測精度遠(yuǎn)遠(yuǎn)高于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)模型,說土壤種類對土壤光譜數(shù)據(jù)的影響較大,通過修改模型減少這種影響可以提高預(yù)測模型精度;SVM模型的最大相對誤差為37.341%,最小相對誤差為0.431%,平均相對誤差為9.253%,擬合精度明顯高于BP神經(jīng)網(wǎng)絡(luò)模型,也達(dá)到了一個理想的精確度。之所以出現(xiàn)這樣的實驗現(xiàn)象,是因為BP神經(jīng)網(wǎng)絡(luò)模型對訓(xùn)練樣本數(shù)量要求高,需要對數(shù)據(jù)進(jìn)行大量的預(yù)先處理,而且在調(diào)試過程中需要大量的調(diào)整技巧,并不適用與土壤含鹽量反演這樣的小規(guī)模數(shù)據(jù)實驗。支持向量機在這樣的小規(guī)模數(shù)據(jù)實驗中表現(xiàn)較好,因為支持向量機有著嚴(yán)格的數(shù)學(xué)理論作基礎(chǔ),會先經(jīng)過大量計算來求出全局參數(shù)最優(yōu)解,省去了數(shù)據(jù)預(yù)處理的階段,并且可以有效避免神經(jīng)網(wǎng)絡(luò)易出現(xiàn)的局部極值問題,因此支持向量機模型的預(yù)測精度會高于多元線性回歸模型和BP神經(jīng)網(wǎng)絡(luò)模型。

4 結(jié) 論

本文以新疆喀什地區(qū)和上海沿海地區(qū)為研究區(qū),采集了270個土壤樣品進(jìn)行土壤鹽漬化預(yù)測研究。實驗選取了多元線性回歸模型、BP神經(jīng)網(wǎng)絡(luò)模型和支持向量機模型來預(yù)測土壤含鹽量,探究這三種模型在土壤含鹽量預(yù)測中的適用性,結(jié)論如下:

(1)多元線性回歸方法在預(yù)測土壤含鹽量時,會出現(xiàn)個別預(yù)測結(jié)果誤差極大,整體預(yù)測精度也不高,不適用于復(fù)雜非線性數(shù)據(jù)的擬合實驗中;

(2)BP神經(jīng)網(wǎng)絡(luò)模型受樣本數(shù)量影響較大,樣本數(shù)量不足會導(dǎo)致模型不穩(wěn)定,所以會出現(xiàn)土壤類型對精度影響大的現(xiàn)象,經(jīng)過改進(jìn)后的BP神經(jīng)網(wǎng)絡(luò)模型,實際實驗中均方誤差為32.213%,基本可以完成預(yù)測任務(wù);

(3)SVM模型有著嚴(yán)格的數(shù)學(xué)理論基礎(chǔ),在小樣本實驗中表現(xiàn)也更好,擬合精度達(dá)到99.4119%,在實際實驗中均方誤差為9.253%,預(yù)測結(jié)果非常理想。

猜你喜歡
含鹽量線性光譜
基于三維Saab變換的高光譜圖像壓縮方法
漸近線性Klein-Gordon-Maxwell系統(tǒng)正解的存在性
含鹽量及含水率對鹽漬土凍脹規(guī)律影響試驗研究*
黃河三角洲鹽漬土有機氮組成及氮有效性對土壤含鹽量的響應(yīng)*
線性回歸方程的求解與應(yīng)用
什么是水的含鹽量?
二階線性微分方程的解法
秦陵陪葬坑土遺址安全含鹽量探究
星載近紅外高光譜CO2遙感進(jìn)展
苦味酸與牛血清蛋白相互作用的光譜研究
泸水县| 崇阳县| 碌曲县| 兴国县| 海伦市| 永年县| 思茅市| 东阿县| 福清市| 南城县| 沁源县| 咸丰县| 溧阳市| 从化市| 宁安市| 浦北县| 靖边县| 丹阳市| 衡阳市| 来凤县| 永平县| 财经| 保定市| 绥化市| 滁州市| 宜阳县| 庐江县| 桓台县| 长宁区| 柯坪县| 昌都县| 沂南县| 长岭县| 奎屯市| 广丰县| 南开区| 邻水| 调兵山市| 顺平县| 双峰县| 甘谷县|