基于人工蜂群算法优化SVM的NIR杉木弹性模量预测*
2021-03-13程献宝黄安民王学顺
陈 芳 程献宝 黄安民 王学顺
(1.北京林业大学理学院 北京 100083;2.中国林业科学研究院木材工业研究所 北京 100091)
木材弹性模量(elastic modulus)是表征木材力学性能最重要、最具特征的指标之一,是实现木材力学性能无损检测及强度在线自动分级的重要参数和依据。传统的木材弹性模量检测主要采用静态弯曲法,不仅对木材破坏性极大,而且操作过程复杂,测量用时较长,无法满足实际需要,如何快速、准确地检测木材弹性模量一直是科研人员的研究热点(Özparpucuetal.,2019)。近红外光谱(near-infrared spectrum,NIR)分析技术是近年来分析化学领域发展较为迅速的高新技术之一,具有快速、准确、简便、无损等优点(毛莎莎等,2010),广泛应用于食品业、农业、化学工业、烟草等领域(张建强等,2018)。在国外,Kelley等(2004)、Jones等(2006)已将NIR分析技术用于研究不同树种的木材性质,在国内,利用NIR分析技术提取木材性质信息方面的研究也越来越成熟。传统的木材近红外光谱预测方法主要有主成分回归法(principal component analysis, PCA)(郝勇等,2019)、偏最小二乘法(partial least squares,PLS)(汪紫阳等,2019)等,但这些方法适用于建立线性模型,对高度非线性数据无法精确模拟。
支持向量机(support vector machine,SVM)是一种用于解决小样本、非线性及高维模式识别下统计估计和预测问题的新方法,在手写数字识别、金融工程、生物信息学等领域均有出色表现(Djemaietal.,2016)。谭念等(2017)将SVM与近红外光谱分析技术相结合用于树种识别,并对杉木(Cunninghamialanceolata)密度进行预测(谭念等,2018),取得了不错的效果。杨双艳等(2018)基于近红外光谱和粒子群(particle swarm optimization, PSO)-SVM算法探索烟叶自动分级,认为该算法可作为烟叶分级的一种新型高效方法应用于生产。在SVM预测过程中,SVM预测性能很大程度上依赖于参数选择,其预测正确率与模型参数之间存在多峰值函数关系(Unleretal.,2011),尽管目前已有很多群智能算法用于SVM参数寻优,如遗传算法、粒子群算法等,但这些优化算法均存在一定缺陷,如运行时间较长、易陷入局部最优、不能充分反馈信息等,无法取得最优预测效果(高雷阜等,2016a)。
在群智能优化算法研究领域,Karaboga(2005)提出了一种新的群集智能优化算法——人工蜂群(artificial bee colony,ABC)算法,该算法通过不同工种蜜蜂之间的合作,解决了扩展新解域与在已知解域进行精密搜索之间的矛盾,很大程度上避免了陷入局部最优解问题(李璟民等,2015),且设置参数较少,能充分反馈信息,在处理多维问题时具备比传统优化算法更好的优化性能。鉴于此,本研究以杉木为研究对象,利用近红外光谱分析技术,提出一种基于人工蜂群算法优化支持向量机(ABC-SVM)的木材弹性模量预测模型,以期为木材弹性模量无损预测提供科学参考。
1 材料与方法
1.1 试验材料
树龄28~39年的人工林杉木采自安徽黄山市国有林场(117°58′—119°40′E,29°57′—31°19′N),共采伐20株,每株自胸径以上截取2 m长试样各4~5段,气干到平衡含水率,参照GB 1927~1943—91《木材物理力学性质试验方法》,在每个试样上截取规格为10 mm(R)×10 mm(T)×160 mm(L)的样本3~5个,共制得合格样本294个(王晓旭等,2011)。需采谱样本置于恒温恒湿箱(温度22 ℃,相对湿度65%)中调节平衡含水率至12%,参照ASTM D143—94使用INSTRON万能试验机测试样本抗弯强度和抗弯弹性模量。从样本破坏处截取10 mm(R)×10 mm(T)×10 mm(L)木块,测量含水率,参照美国力学性质测定要求,换算为含水率12%时的弹性模量。
1.2 NIRs采集
NIRs采集使用美国ASD公司生产的FieldSpec光谱仪,扫谱范围350~2 500 nm。采谱过程在温度(22±1.5)℃、湿度50%±30%的近红外光谱实验室内进行。对每个样本扫描10次全光谱(350~2 500 nm),取平均值(王晓旭等,2011),得到的近红外光谱经专业软件转换成Unscrambler R文件后保存使用。图1所示为294个杉木样本的近红外光谱。
图1 294个杉木样本的近红外光谱
1.3 数据预处理
为消除光谱信号中的高频噪声干扰,排除基线漂移或背景干扰的影响,提高信噪比,减少运算量,提供比原光谱更高的分辨率和更清晰的频谱信息(王学顺,2010),对原始数据进行15步指数平滑和一阶导数预处理,删除边界为0的数据,并利用主成分分析降维处理后的数据,从2 137维降至70维,累计贡献率达98.5%。处理后的数据保存在Excel中。
1.4 研究方法
1.4.1 偏最小二乘回归(PLS) PLS是一种新型的多元统计数据分析方法,其通过最小化误差的平方和寻找数据的最佳函数匹配。作为统计学方法,PLS与主成分回归有密切联系,分别将预测变量和观测变量投影到新空间,寻找一个线性回归模型。
1.4.2 支持向量机回归(SVR) 支持向量机回归(support vector machine regression,SVR)的基本思想是,首先利用一个非线性变换映射
φ:RN→RM(M>N)
将输入空间映射到高维特征空间,然后进行线性回归分析。在线性回归分析中,设超平面的函数解析式为:
f(x)=w·x+b,
对应高维空间的回归函数为:
f(x,w)=[w,φ(x)]+b。
式中:x=(x1,x2,…,xk)为训练样本集合,xk∈RN为N维向量,k为训练样本数量;φ(x)为非线性映射对应样本集;w为权向量;b为阈值。
将求解最优超平面问题转化为求解带约束凸二次规划问题:
其约束条件为:
该问题的对偶问题为:
其约束条件为:
求解上述问题得SVR的决策函数为:
核函数及其参数选择是影响SVR模型性能的重要因素,不同核函数对应生成不同的支持向量机。常见的核函数类型如下。
1)线性核函数:
K(xi,xj)=xi·xj;
2)多项式核函数:
3)Sigmoid核函数:
K(xi,xj)=tanh(kxi·xj-δ);
4)径向基(radial basis function,RBF)核函数:
式中:a、b、p、k、δ、g为每个核函数的参数,且p≥1、δ>0、g>0。
RBF核函数生成模型的泛化能力最佳,且比多项式核函数取值简单,计算速度明显高于Sigmoid函数(于仕兴,2014),故本研究选其作为支持向量机分类器的核函数。
1.4.3 人工蜂群算法优化支持向量机(ABC-SVM)人工蜂群(ABC)算法是Karaboga(2005)提出的一种模拟蜜蜂种群觅食行为的自然启发式算法(Brajevicetal.,2013),该算法将蜂群分为引领蜂、观察蜂和侦查蜂3类。关于食物源,其数量等于引领蜂和观察蜂的数量,位置对应优化问题的解,花蜜量对应每个解的适应度(高雷阜等,2016b)。在D维空间随机产生SN个初始解Xi(i=1,2,…,SN),D代表优化参数个数,SN代表食物源数目。引领蜂先对食物源实施邻域搜索,如果搜索到的花蜜量优于之前的花蜜量,则除旧布新,反之维持不变;待所有引领蜂搜索完成,回到舞蹈区通过跳摇摆舞将食物源信息传递给观察蜂(高雷阜等,2016b),观察蜂根据花蜜量以一定的概率选择食物源,花蜜量越优,被选择的概率越大;选择完食物源后,观察蜂在所选食物源的邻域搜寻,如果获得比原来引领蜂优秀的食物源,则更新本来引领蜂的解,否则不变。ABC算法即经由上述过程进行循环搜素,探求最优解,其优化支持向量机的基本思想是,用食物源代表支持向量机的惩罚参数c和径向基核函数参数g,以SVR预测的均方误差(mean square error,MSE)为目标函数,建立与(c,g)相关的函数F(c,g),得到数学模型:
主要操作步骤如下:
1)初始化参数。设置最大迭代次数maxCycle、蜜蜂总数NP、引领蜂(食物源)数量SN(NP/2)、维数D、个体最大更新次数limit以及待优化参数c和g的取值范围。
2)适应度函数设置。为了获得最小的均方误差,迎合蜂群算法获得最大适应度的规则,将适应度函数转化为:
(1)
(2)
将训练集按式(1)计算初始食物源的适应度,并确定最优食物源。
3)引领蜂按下式搜寻新的食物源,并按式(1)计算适应度,若新结果高于搜索前,则用新的代替旧的:
vij=xij+φij(xij-xkj)。
(3)
式中:i、k∈{1,2,…,SN},j∈{1,2,…,D};k为随机选择的下标,且k≠i;φij为[-1,1]之间的随机数。
4)观察蜂按下式计算概率,选择较大概率的食物源,并按式(3)进行邻域搜索,计算新的适应度,若新结果高于搜索前,食物源将被更新:
(4)
5)如果达到个体最大更新次数limit食物源还未更新,则舍弃此食物源,对应的引领蜂变为侦查蜂,并按下式产生新的食物源:
(5)
否则返回步骤3继续循环。j∈{1,2,…,D},xij为xi的第j个元素。
6)迭代更新食物源的位置,直至达到最大迭代次数maxCycle。
7)获取食物源位置信息,即最优的参数c和g,用所得参数建模,对测试集进行预测。
1.4.4 评价指标 为了深入比较上述3种模型的预测性能,采用以下4个指标进行评价。
决定系数(R2):
(6)
均方根误差(root mean square error, RMSE):
(7)
平均绝对百分比误差(mean absolute percentage, MAPE):
(8)
平均绝对误差(mean absolute error,MAE):
(9)
R2越接近1,误差越小,说明模型预测效果越好。
2 结果与分析
2.1 基于PLS模型的杉木弹性模量预测
PLS运行环境为MATLAB R2016a,将处理好的数据导入MATLAB R2016a中,随机选取235个样本作为训练集,59个样本作为测试集,展示建模效果并用所建模型进行预测。图2所示为杉木弹性模量预测值与实测值的对比。
图2 PLS模型预测值与实测值对比
PLS模型的R2为0.726 700、RMSE为6.744 9、MAPE为0.063 5、MAE为5.065 6,这表明近红外光谱和常规力学方法测定的弹性模量具有较好的相关性,可用偏最小二乘回归模型预测杉木弹性模量,但是误差较大。
2.2 基于SVR模型的杉木弹性模量预测
SVR运行环境为MATLAB R2016a,试验样本同上。采用6折交叉验证(6-CV)和网格搜索法寻找参数c和g。改变网格搜索范围会得到不同结果,本研究选取5个搜索范围进行测试,搜索步长设置为0.5。由表1可知,网格搜索法在不同搜索范围寻找参数最优值对模型的影响不同:当搜素范围锁定在2-5~25时,测试集预测R2最高,RMSE最小,模型预测能力最优;随着搜素范围扩大,模型预测能力逐渐减弱并趋于稳定。固定SVR模型参数搜索范围(2-5~25)进行训练,得到SVR模型参数选择结果如图3所示。
表1 网格搜索法结果
图3 SVR模型参数选择结果
根据试验结果,数据归一化后在6折交叉验证下经过训练得到的最小误差CVmse=0.032 621,在最小误差对应的等高线上有多组(c,g),选取其中最小的c对应的组参数作为最终寻优结果,得到最佳惩罚参数c为4,核函数参数g为0.031 25,对应图3中箭头所示的点(2,-5, 0.326 2)。图4所示为在该组最佳参数下杉木弹性模量预测值与实测值的对比。
图4 SVR模型预测值与实测值对比
SVR模型的R2为0.935 305、RMSE为3.528 1、MAPE为0.023 7、MAE为1.840 9,表明SVR模型预测效果很好。
2.3 基于ABC-SVM模型的杉木弹性模量预测
ABC-SVM运行环境为MATLAB R2016a,试验样本同上。设置ABC-SVM模型的搜索参数如下:蜜蜂总数NP为30,最大迭代次数maxCycle为50,个体最大更新次数limit为100,需要优化的参数为c和g,维数D取2,参数取值范围[2-5,25]。为了考察算法的稳健性,设置运行次数为3,其适应度变化如图5所示。由图5可知,当迭代到第3代时,适应度大幅度升至0.987 8,均方误差迅速减小,说明ABC算法性能较好,收敛较快。
图5 ABC适应度变化曲线
经过算法优化,得到最优参数c=5.670 51、g=0.031 25,将参数代入模型对测试集进行预测,并将预测结果反归一化与实测值进行比较。从图6可以看出,ABC-SVM模型对杉木弹性模量预测效果很好,除个别样本预测误差较大外,大部分样本数据均得到很好预测。
图6 ABC-SVM模型预测值与实测值对比
为了更清晰直观对比3种模型的优劣,将3种模型的4个评价指标列于表2。对比表2各指标,由R2可以看出,3种模型均可对杉木弹性模量进行有效预测,PLS模型预测效果略差,ABC-SVM模型预测效果最好;比较RMSE和MAPE,ABC-SVM和SVR模型均远小于PLS模型,ABC-SVM模型最小,说明ABC-SVM模型预测值与实测值最相近,预测精度最高;同时, ABC-SVM模型MAE最低,说明模型稳定性和适应性较高(刘渝根等,2019)。在试验中,由于个别点预测残差较大,导致预测总体RMSE偏大。如图7所示,3种模型均在序号为31的个体处出现较大残差,但是SVR和ABC-SVM模型起伏相对PLS模型平缓,表明SVR和ABC-SVM模型比较稳定,3种模型的误差变化相似,ABC-SVM模型相对来说误差更小。
表2 3种弹性模量预测模型比较
图7 3种模型的误差
3 讨论
18世纪初,木材力学性质研究已在欧洲开展,但对木材弹性模量的探索则相对延迟。国内近几十年才开始木材弹性模量研究,无损检测法是木材弹性模量的主要测量方法和发展方向。周志茹等(2015)采用应力波法测量采自苏北的欧美杨(Populus×euramericana)锯材弹性模量,并将其用于锯材分等,为应力波法在锯材无损检测和品质分等中的应用提供了理论借鉴;徐峰等(2014)采用最大公约数算法对速生杨木(NL-6583)木芯弹性模量进行预测,相比傅里叶变换(FFT)频谱分析方法,其预测效果更好,误差更低;赵荣军等(2009)利用近红外光谱分析技术,基于粗皮桉(Eucalyptuspellita)光谱数据建立PLS预测模型,实现了对木材弹性模量的快速无损检测。将现代分析技术用于木材弹性模量检测,能够克服传统检测方法过于依赖专业知识、测量时间长、过程繁琐等不足(刘镇波等,2005),进而实现木材弹性模量的快速无损检测。
近年来,支持向量机在木材弹性模量预测方面的探索尚未见报道。本研究利用近红外光谱分析技术,提出一种基于人工蜂群算法优化支持向量机(ABC-SVM)的木材弹性模量预测模型,并应用该模型和PLS模型分别对杉木弹性模量进行测试,对比测试结果与标准力学方法测定结果发现,相比PLS模型,ABC-SVM模型预测均方根误差下降约40%,且模型计算所得结果与传统力学方法测试值更加吻合,相关性更高。
但需要指出的是,由于人工蜂群算法存在早熟收敛、搜索精度不高等缺陷,因此如何改进模型算法、提高模型预测精度需进一步研究。
4 结论
支持向量机基于结构风险最小化原则,可克服传统机器学习方法的过学习等问题,具备很强的泛化能力。ABC-SVM模型对杉木弹性模量的预测效果很好,ABC算法是一种可行且有效的SVM参数优化方法,鲁棒性和泛化能力强(刘渝根等,2019),将ABC-SVM模型与近红外光谱相结合探索木材力学性质具有很好的研究价值和应用前景。