陳 芳 程獻(xiàn)寶 黃安民 王學(xué)順
(1.北京林業(yè)大學(xué)理學(xué)院 北京 100083;2.中國林業(yè)科學(xué)研究院木材工業(yè)研究所 北京 100091)
木材彈性模量(elastic modulus)是表征木材力學(xué)性能最重要、最具特征的指標(biāo)之一,是實(shí)現(xiàn)木材力學(xué)性能無損檢測及強(qiáng)度在線自動(dòng)分級(jí)的重要參數(shù)和依據(jù)。傳統(tǒng)的木材彈性模量檢測主要采用靜態(tài)彎曲法,不僅對(duì)木材破壞性極大,而且操作過程復(fù)雜,測量用時(shí)較長,無法滿足實(shí)際需要,如何快速、準(zhǔn)確地檢測木材彈性模量一直是科研人員的研究熱點(diǎn)(?zparpucuetal.,2019)。近紅外光譜(near-infrared spectrum,NIR)分析技術(shù)是近年來分析化學(xué)領(lǐng)域發(fā)展較為迅速的高新技術(shù)之一,具有快速、準(zhǔn)確、簡便、無損等優(yōu)點(diǎn)(毛莎莎等,2010),廣泛應(yīng)用于食品業(yè)、農(nóng)業(yè)、化學(xué)工業(yè)、煙草等領(lǐng)域(張建強(qiáng)等,2018)。在國外,Kelley等(2004)、Jones等(2006)已將NIR分析技術(shù)用于研究不同樹種的木材性質(zhì),在國內(nèi),利用NIR分析技術(shù)提取木材性質(zhì)信息方面的研究也越來越成熟。傳統(tǒng)的木材近紅外光譜預(yù)測方法主要有主成分回歸法(principal component analysis, PCA)(郝勇等,2019)、偏最小二乘法(partial least squares,PLS)(汪紫陽等,2019)等,但這些方法適用于建立線性模型,對(duì)高度非線性數(shù)據(jù)無法精確模擬。
支持向量機(jī)(support vector machine,SVM)是一種用于解決小樣本、非線性及高維模式識(shí)別下統(tǒng)計(jì)估計(jì)和預(yù)測問題的新方法,在手寫數(shù)字識(shí)別、金融工程、生物信息學(xué)等領(lǐng)域均有出色表現(xiàn)(Djemaietal.,2016)。譚念等(2017)將SVM與近紅外光譜分析技術(shù)相結(jié)合用于樹種識(shí)別,并對(duì)杉木(Cunninghamialanceolata)密度進(jìn)行預(yù)測(譚念等,2018),取得了不錯(cuò)的效果。楊雙艷等(2018)基于近紅外光譜和粒子群(particle swarm optimization, PSO)-SVM算法探索煙葉自動(dòng)分級(jí),認(rèn)為該算法可作為煙葉分級(jí)的一種新型高效方法應(yīng)用于生產(chǎn)。在SVM預(yù)測過程中,SVM預(yù)測性能很大程度上依賴于參數(shù)選擇,其預(yù)測正確率與模型參數(shù)之間存在多峰值函數(shù)關(guān)系(Unleretal.,2011),盡管目前已有很多群智能算法用于SVM參數(shù)尋優(yōu),如遺傳算法、粒子群算法等,但這些優(yōu)化算法均存在一定缺陷,如運(yùn)行時(shí)間較長、易陷入局部最優(yōu)、不能充分反饋信息等,無法取得最優(yōu)預(yù)測效果(高雷阜等,2016a)。
在群智能優(yōu)化算法研究領(lǐng)域,Karaboga(2005)提出了一種新的群集智能優(yōu)化算法——人工蜂群(artificial bee colony,ABC)算法,該算法通過不同工種蜜蜂之間的合作,解決了擴(kuò)展新解域與在已知解域進(jìn)行精密搜索之間的矛盾,很大程度上避免了陷入局部最優(yōu)解問題(李璟民等,2015),且設(shè)置參數(shù)較少,能充分反饋信息,在處理多維問題時(shí)具備比傳統(tǒng)優(yōu)化算法更好的優(yōu)化性能。鑒于此,本研究以杉木為研究對(duì)象,利用近紅外光譜分析技術(shù),提出一種基于人工蜂群算法優(yōu)化支持向量機(jī)(ABC-SVM)的木材彈性模量預(yù)測模型,以期為木材彈性模量無損預(yù)測提供科學(xué)參考。
樹齡28~39年的人工林杉木采自安徽黃山市國有林場(117°58′—119°40′E,29°57′—31°19′N),共采伐20株,每株自胸徑以上截取2 m長試樣各4~5段,氣干到平衡含水率,參照GB 1927~1943—91《木材物理力學(xué)性質(zhì)試驗(yàn)方法》,在每個(gè)試樣上截取規(guī)格為10 mm(R)×10 mm(T)×160 mm(L)的樣本3~5個(gè),共制得合格樣本294個(gè)(王曉旭等,2011)。需采譜樣本置于恒溫恒濕箱(溫度22 ℃,相對(duì)濕度65%)中調(diào)節(jié)平衡含水率至12%,參照ASTM D143—94使用INSTRON萬能試驗(yàn)機(jī)測試樣本抗彎強(qiáng)度和抗彎彈性模量。從樣本破壞處截取10 mm(R)×10 mm(T)×10 mm(L)木塊,測量含水率,參照美國力學(xué)性質(zhì)測定要求,換算為含水率12%時(shí)的彈性模量。
NIRs采集使用美國ASD公司生產(chǎn)的FieldSpec光譜儀,掃譜范圍350~2 500 nm。采譜過程在溫度(22±1.5)℃、濕度50%±30%的近紅外光譜實(shí)驗(yàn)室內(nèi)進(jìn)行。對(duì)每個(gè)樣本掃描10次全光譜(350~2 500 nm),取平均值(王曉旭等,2011),得到的近紅外光譜經(jīng)專業(yè)軟件轉(zhuǎn)換成Unscrambler R文件后保存使用。圖1所示為294個(gè)杉木樣本的近紅外光譜。
圖1 294個(gè)杉木樣本的近紅外光譜
為消除光譜信號(hào)中的高頻噪聲干擾,排除基線漂移或背景干擾的影響,提高信噪比,減少運(yùn)算量,提供比原光譜更高的分辨率和更清晰的頻譜信息(王學(xué)順,2010),對(duì)原始數(shù)據(jù)進(jìn)行15步指數(shù)平滑和一階導(dǎo)數(shù)預(yù)處理,刪除邊界為0的數(shù)據(jù),并利用主成分分析降維處理后的數(shù)據(jù),從2 137維降至70維,累計(jì)貢獻(xiàn)率達(dá)98.5%。處理后的數(shù)據(jù)保存在Excel中。
1.4.1 偏最小二乘回歸(PLS) PLS是一種新型的多元統(tǒng)計(jì)數(shù)據(jù)分析方法,其通過最小化誤差的平方和尋找數(shù)據(jù)的最佳函數(shù)匹配。作為統(tǒng)計(jì)學(xué)方法,PLS與主成分回歸有密切聯(lián)系,分別將預(yù)測變量和觀測變量投影到新空間,尋找一個(gè)線性回歸模型。
1.4.2 支持向量機(jī)回歸(SVR) 支持向量機(jī)回歸(support vector machine regression,SVR)的基本思想是,首先利用一個(gè)非線性變換映射
φ:RN→RM(M>N)
將輸入空間映射到高維特征空間,然后進(jìn)行線性回歸分析。在線性回歸分析中,設(shè)超平面的函數(shù)解析式為:
f(x)=w·x+b,
對(duì)應(yīng)高維空間的回歸函數(shù)為:
f(x,w)=[w,φ(x)]+b。
式中:x=(x1,x2,…,xk)為訓(xùn)練樣本集合,xk∈RN為N維向量,k為訓(xùn)練樣本數(shù)量;φ(x)為非線性映射對(duì)應(yīng)樣本集;w為權(quán)向量;b為閾值。
將求解最優(yōu)超平面問題轉(zhuǎn)化為求解帶約束凸二次規(guī)劃問題:
其約束條件為:
該問題的對(duì)偶問題為:
其約束條件為:
求解上述問題得SVR的決策函數(shù)為:
核函數(shù)及其參數(shù)選擇是影響SVR模型性能的重要因素,不同核函數(shù)對(duì)應(yīng)生成不同的支持向量機(jī)。常見的核函數(shù)類型如下。
1)線性核函數(shù):
K(xi,xj)=xi·xj;
2)多項(xiàng)式核函數(shù):
3)Sigmoid核函數(shù):
K(xi,xj)=tanh(kxi·xj-δ);
4)徑向基(radial basis function,RBF)核函數(shù):
式中:a、b、p、k、δ、g為每個(gè)核函數(shù)的參數(shù),且p≥1、δ>0、g>0。
RBF核函數(shù)生成模型的泛化能力最佳,且比多項(xiàng)式核函數(shù)取值簡單,計(jì)算速度明顯高于Sigmoid函數(shù)(于仕興,2014),故本研究選其作為支持向量機(jī)分類器的核函數(shù)。
1.4.3 人工蜂群算法優(yōu)化支持向量機(jī)(ABC-SVM)人工蜂群(ABC)算法是Karaboga(2005)提出的一種模擬蜜蜂種群覓食行為的自然啟發(fā)式算法(Brajevicetal.,2013),該算法將蜂群分為引領(lǐng)蜂、觀察蜂和偵查蜂3類。關(guān)于食物源,其數(shù)量等于引領(lǐng)蜂和觀察蜂的數(shù)量,位置對(duì)應(yīng)優(yōu)化問題的解,花蜜量對(duì)應(yīng)每個(gè)解的適應(yīng)度(高雷阜等,2016b)。在D維空間隨機(jī)產(chǎn)生SN個(gè)初始解Xi(i=1,2,…,SN),D代表優(yōu)化參數(shù)個(gè)數(shù),SN代表食物源數(shù)目。引領(lǐng)蜂先對(duì)食物源實(shí)施鄰域搜索,如果搜索到的花蜜量優(yōu)于之前的花蜜量,則除舊布新,反之維持不變;待所有引領(lǐng)蜂搜索完成,回到舞蹈區(qū)通過跳搖擺舞將食物源信息傳遞給觀察蜂(高雷阜等,2016b),觀察蜂根據(jù)花蜜量以一定的概率選擇食物源,花蜜量越優(yōu),被選擇的概率越大;選擇完食物源后,觀察蜂在所選食物源的鄰域搜尋,如果獲得比原來引領(lǐng)蜂優(yōu)秀的食物源,則更新本來引領(lǐng)蜂的解,否則不變。ABC算法即經(jīng)由上述過程進(jìn)行循環(huán)搜素,探求最優(yōu)解,其優(yōu)化支持向量機(jī)的基本思想是,用食物源代表支持向量機(jī)的懲罰參數(shù)c和徑向基核函數(shù)參數(shù)g,以SVR預(yù)測的均方誤差(mean square error,MSE)為目標(biāo)函數(shù),建立與(c,g)相關(guān)的函數(shù)F(c,g),得到數(shù)學(xué)模型:
主要操作步驟如下:
1)初始化參數(shù)。設(shè)置最大迭代次數(shù)maxCycle、蜜蜂總數(shù)NP、引領(lǐng)蜂(食物源)數(shù)量SN(NP/2)、維數(shù)D、個(gè)體最大更新次數(shù)limit以及待優(yōu)化參數(shù)c和g的取值范圍。
2)適應(yīng)度函數(shù)設(shè)置。為了獲得最小的均方誤差,迎合蜂群算法獲得最大適應(yīng)度的規(guī)則,將適應(yīng)度函數(shù)轉(zhuǎn)化為:
(1)
(2)
將訓(xùn)練集按式(1)計(jì)算初始食物源的適應(yīng)度,并確定最優(yōu)食物源。
3)引領(lǐng)蜂按下式搜尋新的食物源,并按式(1)計(jì)算適應(yīng)度,若新結(jié)果高于搜索前,則用新的代替舊的:
vij=xij+φij(xij-xkj)。
(3)
式中:i、k∈{1,2,…,SN},j∈{1,2,…,D};k為隨機(jī)選擇的下標(biāo),且k≠i;φij為[-1,1]之間的隨機(jī)數(shù)。
4)觀察蜂按下式計(jì)算概率,選擇較大概率的食物源,并按式(3)進(jìn)行鄰域搜索,計(jì)算新的適應(yīng)度,若新結(jié)果高于搜索前,食物源將被更新:
(4)
5)如果達(dá)到個(gè)體最大更新次數(shù)limit食物源還未更新,則舍棄此食物源,對(duì)應(yīng)的引領(lǐng)蜂變?yōu)閭刹榉?,并按下式產(chǎn)生新的食物源:
(5)
否則返回步驟3繼續(xù)循環(huán)。j∈{1,2,…,D},xij為xi的第j個(gè)元素。
6)迭代更新食物源的位置,直至達(dá)到最大迭代次數(shù)maxCycle。
7)獲取食物源位置信息,即最優(yōu)的參數(shù)c和g,用所得參數(shù)建模,對(duì)測試集進(jìn)行預(yù)測。
1.4.4 評(píng)價(jià)指標(biāo) 為了深入比較上述3種模型的預(yù)測性能,采用以下4個(gè)指標(biāo)進(jìn)行評(píng)價(jià)。
決定系數(shù)(R2):
(6)
均方根誤差(root mean square error, RMSE):
(7)
平均絕對(duì)百分比誤差(mean absolute percentage, MAPE):
(8)
平均絕對(duì)誤差(mean absolute error,MAE):
(9)
R2越接近1,誤差越小,說明模型預(yù)測效果越好。
PLS運(yùn)行環(huán)境為MATLAB R2016a,將處理好的數(shù)據(jù)導(dǎo)入MATLAB R2016a中,隨機(jī)選取235個(gè)樣本作為訓(xùn)練集,59個(gè)樣本作為測試集,展示建模效果并用所建模型進(jìn)行預(yù)測。圖2所示為杉木彈性模量預(yù)測值與實(shí)測值的對(duì)比。
圖2 PLS模型預(yù)測值與實(shí)測值對(duì)比
PLS模型的R2為0.726 700、RMSE為6.744 9、MAPE為0.063 5、MAE為5.065 6,這表明近紅外光譜和常規(guī)力學(xué)方法測定的彈性模量具有較好的相關(guān)性,可用偏最小二乘回歸模型預(yù)測杉木彈性模量,但是誤差較大。
SVR運(yùn)行環(huán)境為MATLAB R2016a,試驗(yàn)樣本同上。采用6折交叉驗(yàn)證(6-CV)和網(wǎng)格搜索法尋找參數(shù)c和g。改變網(wǎng)格搜索范圍會(huì)得到不同結(jié)果,本研究選取5個(gè)搜索范圍進(jìn)行測試,搜索步長設(shè)置為0.5。由表1可知,網(wǎng)格搜索法在不同搜索范圍尋找參數(shù)最優(yōu)值對(duì)模型的影響不同:當(dāng)搜素范圍鎖定在2-5~25時(shí),測試集預(yù)測R2最高,RMSE最小,模型預(yù)測能力最優(yōu);隨著搜素范圍擴(kuò)大,模型預(yù)測能力逐漸減弱并趨于穩(wěn)定。固定SVR模型參數(shù)搜索范圍(2-5~25)進(jìn)行訓(xùn)練,得到SVR模型參數(shù)選擇結(jié)果如圖3所示。
表1 網(wǎng)格搜索法結(jié)果
圖3 SVR模型參數(shù)選擇結(jié)果
根據(jù)試驗(yàn)結(jié)果,數(shù)據(jù)歸一化后在6折交叉驗(yàn)證下經(jīng)過訓(xùn)練得到的最小誤差CVmse=0.032 621,在最小誤差對(duì)應(yīng)的等高線上有多組(c,g),選取其中最小的c對(duì)應(yīng)的組參數(shù)作為最終尋優(yōu)結(jié)果,得到最佳懲罰參數(shù)c為4,核函數(shù)參數(shù)g為0.031 25,對(duì)應(yīng)圖3中箭頭所示的點(diǎn)(2,-5, 0.326 2)。圖4所示為在該組最佳參數(shù)下杉木彈性模量預(yù)測值與實(shí)測值的對(duì)比。
圖4 SVR模型預(yù)測值與實(shí)測值對(duì)比
SVR模型的R2為0.935 305、RMSE為3.528 1、MAPE為0.023 7、MAE為1.840 9,表明SVR模型預(yù)測效果很好。
ABC-SVM運(yùn)行環(huán)境為MATLAB R2016a,試驗(yàn)樣本同上。設(shè)置ABC-SVM模型的搜索參數(shù)如下:蜜蜂總數(shù)NP為30,最大迭代次數(shù)maxCycle為50,個(gè)體最大更新次數(shù)limit為100,需要優(yōu)化的參數(shù)為c和g,維數(shù)D取2,參數(shù)取值范圍[2-5,25]。為了考察算法的穩(wěn)健性,設(shè)置運(yùn)行次數(shù)為3,其適應(yīng)度變化如圖5所示。由圖5可知,當(dāng)?shù)降?代時(shí),適應(yīng)度大幅度升至0.987 8,均方誤差迅速減小,說明ABC算法性能較好,收斂較快。
圖5 ABC適應(yīng)度變化曲線
經(jīng)過算法優(yōu)化,得到最優(yōu)參數(shù)c=5.670 51、g=0.031 25,將參數(shù)代入模型對(duì)測試集進(jìn)行預(yù)測,并將預(yù)測結(jié)果反歸一化與實(shí)測值進(jìn)行比較。從圖6可以看出,ABC-SVM模型對(duì)杉木彈性模量預(yù)測效果很好,除個(gè)別樣本預(yù)測誤差較大外,大部分樣本數(shù)據(jù)均得到很好預(yù)測。
圖6 ABC-SVM模型預(yù)測值與實(shí)測值對(duì)比
為了更清晰直觀對(duì)比3種模型的優(yōu)劣,將3種模型的4個(gè)評(píng)價(jià)指標(biāo)列于表2。對(duì)比表2各指標(biāo),由R2可以看出,3種模型均可對(duì)杉木彈性模量進(jìn)行有效預(yù)測,PLS模型預(yù)測效果略差,ABC-SVM模型預(yù)測效果最好;比較RMSE和MAPE,ABC-SVM和SVR模型均遠(yuǎn)小于PLS模型,ABC-SVM模型最小,說明ABC-SVM模型預(yù)測值與實(shí)測值最相近,預(yù)測精度最高;同時(shí), ABC-SVM模型MAE最低,說明模型穩(wěn)定性和適應(yīng)性較高(劉渝根等,2019)。在試驗(yàn)中,由于個(gè)別點(diǎn)預(yù)測殘差較大,導(dǎo)致預(yù)測總體RMSE偏大。如圖7所示,3種模型均在序號(hào)為31的個(gè)體處出現(xiàn)較大殘差,但是SVR和ABC-SVM模型起伏相對(duì)PLS模型平緩,表明SVR和ABC-SVM模型比較穩(wěn)定,3種模型的誤差變化相似,ABC-SVM模型相對(duì)來說誤差更小。
表2 3種彈性模量預(yù)測模型比較
圖7 3種模型的誤差
18世紀(jì)初,木材力學(xué)性質(zhì)研究已在歐洲開展,但對(duì)木材彈性模量的探索則相對(duì)延遲。國內(nèi)近幾十年才開始木材彈性模量研究,無損檢測法是木材彈性模量的主要測量方法和發(fā)展方向。周志茹等(2015)采用應(yīng)力波法測量采自蘇北的歐美楊(Populus×euramericana)鋸材彈性模量,并將其用于鋸材分等,為應(yīng)力波法在鋸材無損檢測和品質(zhì)分等中的應(yīng)用提供了理論借鑒;徐峰等(2014)采用最大公約數(shù)算法對(duì)速生楊木(NL-6583)木芯彈性模量進(jìn)行預(yù)測,相比傅里葉變換(FFT)頻譜分析方法,其預(yù)測效果更好,誤差更低;趙榮軍等(2009)利用近紅外光譜分析技術(shù),基于粗皮桉(Eucalyptuspellita)光譜數(shù)據(jù)建立PLS預(yù)測模型,實(shí)現(xiàn)了對(duì)木材彈性模量的快速無損檢測。將現(xiàn)代分析技術(shù)用于木材彈性模量檢測,能夠克服傳統(tǒng)檢測方法過于依賴專業(yè)知識(shí)、測量時(shí)間長、過程繁瑣等不足(劉鎮(zhèn)波等,2005),進(jìn)而實(shí)現(xiàn)木材彈性模量的快速無損檢測。
近年來,支持向量機(jī)在木材彈性模量預(yù)測方面的探索尚未見報(bào)道。本研究利用近紅外光譜分析技術(shù),提出一種基于人工蜂群算法優(yōu)化支持向量機(jī)(ABC-SVM)的木材彈性模量預(yù)測模型,并應(yīng)用該模型和PLS模型分別對(duì)杉木彈性模量進(jìn)行測試,對(duì)比測試結(jié)果與標(biāo)準(zhǔn)力學(xué)方法測定結(jié)果發(fā)現(xiàn),相比PLS模型,ABC-SVM模型預(yù)測均方根誤差下降約40%,且模型計(jì)算所得結(jié)果與傳統(tǒng)力學(xué)方法測試值更加吻合,相關(guān)性更高。
但需要指出的是,由于人工蜂群算法存在早熟收斂、搜索精度不高等缺陷,因此如何改進(jìn)模型算法、提高模型預(yù)測精度需進(jìn)一步研究。
支持向量機(jī)基于結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則,可克服傳統(tǒng)機(jī)器學(xué)習(xí)方法的過學(xué)習(xí)等問題,具備很強(qiáng)的泛化能力。ABC-SVM模型對(duì)杉木彈性模量的預(yù)測效果很好,ABC算法是一種可行且有效的SVM參數(shù)優(yōu)化方法,魯棒性和泛化能力強(qiáng)(劉渝根等,2019),將ABC-SVM模型與近紅外光譜相結(jié)合探索木材力學(xué)性質(zhì)具有很好的研究價(jià)值和應(yīng)用前景。