宋妮娜, 肖 冬*, 李 森, 高宇潔
1. 東北大學信息科學與工程學院, 遼寧 沈陽 110819
2. 東北大學冶金學院, 遼寧 沈陽 110819
鹽堿地形成的實質(zhì)是土壤中不同方向的易溶性鹽發(fā)生漬化沉積, 使得鹽分逐漸積聚在鹽密集區(qū)的地表, 通過這種方式形成的有鹽漬土、 堿化土和各種鹽堿土等。 農(nóng)業(yè)生產(chǎn)受土壤鹽漬化影響較大, 因此研究鹽堿地的性質(zhì)和組成對后續(xù)實施生態(tài)恢復、 土地利用和改良措施具有重要意義。
傳統(tǒng)的含鹽量測定方法大多基于化學分析, 其測量精度高的優(yōu)點仍不能使人們忽視其成本高、 效率低的缺點, 將化學分析應用于大面積土地的可行性大大降低。 隨著時代的發(fā)展, 光譜法在含量檢測中的應用發(fā)展迅速。 將土壤指標與光譜指標相結合分析鹽堿地土壤性質(zhì)是一種高效率、 低損耗的流行方法[1], 考慮到硅、 硫、 鐵等金屬元素和一些復雜有機質(zhì)對鹽堿土樣品原始光譜數(shù)據(jù)的影響較大, 使正常情況下直接得到的光譜數(shù)據(jù)中包含有大量無效信息, 且獲得的樣本數(shù)據(jù)相關性過大。 極限學習機(extreme learning machine, ELM)作為一種基于前饋神經(jīng)網(wǎng)絡構建的機器學習系統(tǒng), 在許多研究中作為一種光譜處理方法被成功應用[2-3]。 有研究將其結合卷積神經(jīng)網(wǎng)絡(convolutional neural network, CNN)應用到煤炭分類上。 在探索過程中, 利用ELM算法構建的光譜特征數(shù)據(jù)預測分析模型具有諸多優(yōu)點, 自2006年以來迅速發(fā)展[4]。 例如有將粒子群算法(particle swarm optimization algorithm, PSO)加入ELM中進行參數(shù)優(yōu)化[5]。 根據(jù)ELM初始參數(shù)的特點, Chen等[6]提出了一種集成ELM算法對近紅外光譜進行標定。 Xiao等[7]利用主成分分析法對采集到的大量初始煤礦數(shù)據(jù)進行降維, 并采用多層極限學習機(M-ELM)建立煤種識別模型。 2019年Xiao[8]也提出了一種改進的PSO-ELM算法(IPSO-TELM), 其每個神經(jīng)網(wǎng)絡都有不同的隱含層, 其中每個隱含層的神經(jīng)元個數(shù)不同, 能夠通過改進算法找到最優(yōu)的神經(jīng)元數(shù)目。 ELM模型已經(jīng)被許多人改進, 如I-ELM(增量ELM)[9]。
在對光譜數(shù)據(jù)進行主成分分析法(PCA)預處理后, 提出了基于隨機值改進粒子群優(yōu)化算法(improved particle swarm optimization (PSO) algorithm with random values, RVIPSO-MELM)優(yōu)化的多層極限學習機模型。 隨著隱含層的增加, 極限學習機能夠保證模型性能不斷提升的同時, 提高模型的優(yōu)化速度。 本研究對于隱含層之間參數(shù)的兩種選擇方法進行了模型性能與優(yōu)化時間之間相關討論。
研究地區(qū)為吉林省鎮(zhèn)賚縣鹽堿地, 位于松寧平原西北部。 中國的松寧平原屬于堿性土地, 是中國重要的糧食產(chǎn)區(qū), 也是中國最大的堿土鹽堿地。 在該鹽堿地上采集表層樣本62個, 利用SVCHR-1024光譜儀測量了這些樣品的光譜數(shù)據(jù)。
圖1 樣品的反射光譜曲線
SVCHR-1024的光譜范圍為350~2 500 nm, 波長數(shù)為1 024。 在測量光譜數(shù)據(jù)實驗中, 為減少周圍環(huán)境對光譜測試的干擾, 在一個封閉室內(nèi)完成實驗。 對每個樣品進行了三次測試, 取平均值作為樣品的最終反射率。
從圖1的光譜曲線可以看出, 在400~600 nm的范圍內(nèi), 光譜反射率較低。 每個樣品的光譜彼此相似, 但在1 000~2 500 nm范圍, 不同鹽含量的光譜特征更為明顯。
1.2.1 主成分分析法
實驗得到的鹽堿地原始光譜數(shù)據(jù)有973個波段, 如果將這些未經(jīng)處理的數(shù)據(jù)用于建立的模型算法, 不僅計算困難, 而且樣本數(shù)據(jù)相關性差且嚴重冗余[10]。 會降低模型的準確性。 主成分分析(principal component analysis, PCA)可對數(shù)據(jù)線性降維, 是最普遍的使用方法。
PCA作為一種常用的數(shù)據(jù)降維方法, 可以將高維數(shù)據(jù)轉換為“信息”損失較少的低維數(shù)據(jù), 極大地促進了模型的建立, 可到節(jié)省訓練時間的目的。
考慮到鹽堿土的復雜性, 為了減少有效信息損失, 避免影響最終建模效果, 選取前10個主成分表征原始光譜數(shù)據(jù)信息, 貢獻率由圖2所示。
圖2 前10個主成分的貢獻率
1.2.2 粒子群算法(PSO)
有研究提出了一種進化計算技術——粒子群優(yōu)化算法(PSO), 即基于種群的元啟發(fā)式OA算法, 源于對鳥類捕食行為的研究。 粒子群算法的基本思想是通過群體間的協(xié)作和信息交換來尋找最優(yōu)解。
將整個群擴展到N維空間, 將每只鳥視為具有位置向量和速度向量的粒子,xi=(xi1,xi2, … ,xiN),vi=(vi1,vi2, … ,viN),i=1, 2, … ,m。 在每次迭代中, 粒子將根據(jù)式(1)和式(2)改變其位置
(1)
(2)
其中c1和c2是學習因子,ω是慣性權重, rand()為(0, 1)上的隨機數(shù), pbest為第i個粒子最佳位置。
1.2.3 極限學習機(ELM)
ELM的結構如圖3所示。
圖3 ELM的結構圖
對于N個任意不同的樣本(xi,ti), 其中x=[xi1,xi2, …,xin]T∈Rn,ti=[ti1,ti2, …,tim]T∈Rm,L個神經(jīng)元的單個隱層前饋神經(jīng)網(wǎng)絡可以建模為
bi,βi∈R;ai∈Rn
(3)
式(3)中,a=[ai1,ai2, …,ain]T∈Rn為輸入層神經(jīng)元與隱藏層第i個神經(jīng)元之間的輸入權重,βi和bi為輸入權重和偏置,ai·xj表示ai和xj的內(nèi)積。
極限學習機的目標函數(shù)可以表示為式(4)—式(6)
Hβ=T
(4)
H(a1,…,al,b1,…,bL,x1,…,xL)=
(5)
(6)
H和T是神經(jīng)網(wǎng)絡隱藏層的輸出矩陣和期望輸出。 Feng等[11]提出了隨機選擇輸入權重和隱藏層偏置值的算法。 訓練這個網(wǎng)絡結構就等于得到Hβ=T的最小二乘解β
Minimise: ‖Hβ=T‖
(7)
β=H+T
(8)
式(7)和式(8)中H+為Moore-Penrose廣義逆矩陣, 且最小二乘解的最小值是唯一的。
在基本粒子群算法中,ω是一個固定值, 表示粒子本身的慣性權重。 隨著迭代次數(shù)的增加, 問題的細節(jié)也會發(fā)生變化, 固定值在整體求解過程中存在諸多缺陷。 引入可變慣性權重可動態(tài)適應問題求解過程。
(9)
學習因子c1和c2反映粒子群之間的信息共享。 為了有效地控制粒子的速度, 使算法在全局搜索和局部搜索之間達到有效的平衡, CLERC構造了帶收縮因子的PSO模型, 并引入了壓縮因子。 這種調(diào)整方法確保了參數(shù)的適當選擇。 PSO算法的收斂性取消了對速度的邊界限制。 自學習因子c1和群學習因子c2均取2.05,C=c1+c2=4.01, 壓縮因子φ表示為式(10)
(10)
速度公式(1)可以更新為式(11)
(11)
ELM算法的缺點是初始權值和偏差是隨機產(chǎn)生的, 很難保證模型的準確性。 Xiao[7]提出了具有隨機值的多層極限學習機(RV-MELM)算法來不斷優(yōu)化模型的性能, 然而這種方法需要隨機生成和選擇數(shù)據(jù), 可能導致優(yōu)化結果不能達到真正的最優(yōu)問題。 本工作首先采用蒙特卡羅方法這一隨機實驗的思想, 隨機產(chǎn)生一組足夠的數(shù)據(jù)作為輸入層和隱層之間的權重和偏差, 并根據(jù)測試集的結果選擇最優(yōu)的一組權值和偏差輸出。 理論上分組數(shù)據(jù)會更接近最優(yōu)解, 然后使用IPSO算法以此為初值進行搜索, 比直接優(yōu)化更快收斂到最優(yōu)解, 避免陷入局部最優(yōu)解。
當擴展到多層時, 在RVIPSO和公式計算之間選擇后續(xù)層的權重和偏移量有兩種方法。
在為每一層選擇RVIPSO時, 將第一層的輸出矩陣H1作為第二層的輸入矩陣, 將第二隱層視為第一隱層進行再次計算。 測試集的實際輸出為式(12)
T1=H1β1
(12)
PH2=[B2W2]第二隱藏層的輸入和輸出變量為式(13)和式(14)
X2=[1H1]
(13)
H2=g(PH2×X2)
(14)
T2=H2β2
(15)
即計算測試集計算模型的性能, 確定初值, 然后尋求最優(yōu)解。 要求第二層的性能標準要優(yōu)于第一層, 以保證模型性能的持續(xù)提升。 其結構如圖4所示。
圖4 MELM的結構圖
根據(jù)RVIPSO確定參數(shù)的模型流程圖如圖5所示。
圖5 模型流程圖
當只對第一個隱含層的權值和偏移量進行RVIPSO優(yōu)化以獲得最優(yōu)值時, 再直接使用MELM中的計算方法, 得到的結果也會發(fā)生改變。 根據(jù)式(16)可以提供第二隱層的期望輸出矩陣H2EO
(16)
然后使PH2=[B2W2], 其中B2和W2是第二隱層的輸入偏置和權重。PH2可以通過式(17)獲得
(17)
M2=[1H1]
(18)
通過式(18)輔助矩陣可以獲得第二隱藏層的實際輸出結果H2AO, 并且可以通過式(19)和式(20)獲得第二隱藏層的輸出權重β2
H2AO=g(PH2M2)
(19)
(20)
根據(jù)上述計算方法進行遞歸計算, 可以得到第i個隱藏層的期望矩陣HiEO、 實際矩陣HiAO和輸出權重βi。 最后, 整個網(wǎng)絡的結果可以表示為式(21)
f(x)=HKβK
(21)
根據(jù)計算所建立的模型流程如圖6所示。
圖6 模型流程圖
采用五點采樣法在鎮(zhèn)賚縣采集了62個鹽堿土樣本點, 并將其按照國家標準進行風干、 研磨、 過篩、 溶解, 最后使用干燥法測得的相應含鹽量數(shù)據(jù)如圖7所示。
圖7 樣本數(shù)據(jù)對應的含鹽量情況
每個光譜反射率數(shù)據(jù)對應一個土壤含鹽量, 根據(jù)土壤的含鹽量情況, 將其分為4組, 即[0, 5], [5, 10], [10, 15], [15, 30]。 圖8中的每條光譜曲線分別表示以上四組具有特定鹽含量的區(qū)間, 即區(qū)段內(nèi)所有相應光譜反射率數(shù)據(jù)的平均反射率。
對于鹽堿地具體情況的直接分析研究中, 在該鹽堿地不同的位置和深度上采集樣本, 在經(jīng)過降維處理之后選擇了45個樣本作為訓練集和校正集, 17個樣本作為測試集。 在上述算法的基礎上建立了基于隨機值改進粒子群優(yōu)化算法(RVIPSO-MELM)優(yōu)化的多層極限學習機模型, 并且借助MATLAB平臺進行仿真實驗, 在單層隱含層的條件下, 得到的模型準確率如圖9所示。 根據(jù)仿真結果分析, 實際上, 由于樣本數(shù)量不夠豐富加上所使用的降維方法PCA具有一定的局限性, 無論使用的極限學習機具有幾層隱含層, 從圖10可以看出只要將模型訓練好, 基本都能達到近95%的準確率。
圖8 不同區(qū)段對應的平均反射率
圖9 模型的迭代情況
圖10 蒙特卡羅時的模型準確率情況
圖10所顯示的趨勢, 模型的收斂速度很快, 能夠在迭代次數(shù)不多的情況下就能夠穩(wěn)定在一個較好的準確率。 由于首先進行蒙特卡洛根據(jù)隨機數(shù)確定初值, 隨機生成2 000次, 隨機生成的數(shù)據(jù)對應的模型準確率情況如圖9所示, 可以看到模型的準確率可以最高達到0.7以上, 保留并且與其他數(shù)據(jù)比較之后, 輸出該數(shù)據(jù), 并以此作為初值再來進行IPSO優(yōu)化。 因此模型能夠在一開始就達到0.7以上的準確率, 在此基礎上進行穩(wěn)步提升。
考慮到粒子群算法用時長, 如果每一層都去套用RVIPSO算法進行優(yōu)化權值和偏重, 可以保證在隱含層數(shù)足夠并且訓練效果好的條件下有更高的準確率, 但是可能會產(chǎn)生較多的時間損失, 經(jīng)濟效益不大, 因此選擇初始權值和偏重使用RVIPSO選取最優(yōu)值, 而后的計算選擇經(jīng)驗函數(shù)進行計算, 在保證較高準確率的條件下能夠提高模型的速度, 在實際應用方面經(jīng)濟效益更大, 兩種模型在不同的隱含層數(shù)下的仿真運行時間對比如圖11。
圖11 兩種方法運行時間對比圖
在兩個隱藏層的情況下, 使用兩個模型進行仿真, 得到的準確率如圖12所示。
圖12 兩種方法下模型準確率對比圖
提出了一個RVIPSO-MELM模型, 該模型第一層的權值和偏重的選取使用了RVIPSO進行優(yōu)化, 該模型能在提升模型性能的同時提高模型的優(yōu)化速度。 相比于IPSO-ELM, 增加了隨機值選優(yōu)的一個步驟, 以此為初值進行啟發(fā)式搜索最優(yōu)值, 不僅在一定程度上保證了能達到全局最優(yōu)值, 還提高了模型的優(yōu)化速度, 不需要進行長時間搜索就能得到最優(yōu)解。 而相比于RV-MELM, 所選取的啟發(fā)式算法結合蒙特卡洛的方法, 提高了模型精度, 不需要太多隱含層就能訓練得到一個較好的結果, 更具有現(xiàn)實意義。 對于所研究的鹽堿地, 研究中建立的模型能夠達到一個需要的準確率, 并且具有著優(yōu)化速度快的優(yōu)勢, 在一定程度上節(jié)省時間成本和經(jīng)濟成本, 貼近實際, 推廣性強。 進一步的研究包括提取數(shù)據(jù)特征的方法改進和優(yōu)化算法并進一步提高模型準確率。