基于改进哈里斯鹰优化算法的光谱特征波段选择模型研究

2024-01-12 05:54:58浩,张艳*
光谱学与光谱分析 2024年1期
关键词:哈里斯复杂度适应度

鲍 浩,张 艳*

1. 贵州大学大数据与信息工程学院,贵州 贵阳 550025 2. 贵阳学院农产品无损检测工程研究中心,贵州 贵阳 550005

引 言

近红外光是介于可见光与中红外光之间的电磁辐射波,其波段范围为700~2 500 nm。 近红外区域与有机分子中含氢基团(O—H、 N—H、 C—H)振动的合频和各级倍频的吸收区一致,通过扫描样品的近红外光谱,可以间接得到样品中有机分子含氢基团的特征信息。 近红外光谱分析技术广泛应用于食品、 农业、 医学以及矿物开采等定性、 定量分析领域[1]。 然而,近红外光谱数据一般存在样本量少、 波段数多的问题,在建模时不仅增加了模型复杂度还会降低模型性能,因此特征波段选择一直是近红外光谱分析的研究热点。

传统的特征波段选择方法有竞争性自适应重加权采样算法[2](competitive adapative reweighted sampling,CARS)、 连续投影算法[3](successive projections algorithm,SPA)以及无信息变量消除法[4](uniformative variable elimination,UVE)。 CARS算法需要多次蒙特卡洛采样,导致该算法的运行时间较长; SPA算法属于前向特征波段选择的方法,即只能加入特征波段而不能去除特征波段,且仅考虑到变量之间的共线性,未考虑到其非线性关系,进而导致该算法选择特征波段时易陷入局部最优值; 而全波段在经过UVE算法之后仍具有较多的特征波段,在实际应用中需要继续进行特征波段选择。

智能优化算法是基于自然界生物活动而提出的一种数学模型,具有强大的优化求解能力,常用于目标提取[5]、 故障检测[6]以及能源管理[7]等多个领域的优化分析。 光谱特征波段选择是一种组合优化问题,在即给定全波段光谱的条件下确定某些特征光谱波段,使用特征波段建模时以期提高模型性能。 智能优化算法适用于求解特征波段选择的组合优化问题,许多学者提出了基于智能优化算法的特征波段选择方法,如遗传算法[8]、 改进免疫遗传算法[9]以及灰狼优化算法[10]。 哈里斯鹰优化(Harris Hawks optimization,HHO)算法是Heidari[11]等受哈里斯鹰捕食行为启发提出的智能算法,该算法原理简单易懂、 参数少,广泛应用于土木[12]、 特征选择[13]以及图像处理[14]等领域。 针对哈里斯鹰优化算法应用于近红外光谱分析领域的研究较少,本工作将HHO算法应用于光谱特征波段选择。 为了提高HHO算法在光谱特征波段选择中的组合优化能力,提出了基于改进哈里斯鹰优化(improved Harris Hawks optimization,IHHO)算法的近红外光谱特征波段选择模型,与CARS算法、 SPA算法、 遗传算法(genetic algorithm,GA)、 粒子群优化(particle swarm optimization,PSO)算法、 HHO算法进行比较,以说明IHHO算法的优势。

1 模型建立

1.1 哈里斯鹰优化算法

HHO算法源于哈里斯鹰群体的捕食行为,HHO算法的流程图如图1所示,可概括为以下步骤:

图1 HHO算法流程图Fig.1 Flow charts of IHHO algorithms

(1)初始化设置。 初始化问题维度、 解的上下界、 最大迭代次数、 适应度函数以及哈里斯鹰种群。

(2)计算初始种群适应度。 通过给定的适应度函数计算每个哈里斯鹰个体的适应度值,并将适应度值最优的个体位置作为猎物位置。

(3)哈里斯鹰个体位置更新。 更新猎物的逃逸能量与跳跃强度,哈里斯鹰根据猎物逃逸能量与跳跃强度的变化使用相应的捕食策略进行个体的位置更新。 猎物逃逸能量与跳跃强度的更新分别如式(1)和式(2)所示

(1)

J=random(0,2)

(2)

式(2)中,E为能量衰减因子,T为最大迭代次数,E0为-1到1之间的随机数,t为当前迭代次数,J为跳跃强度,random(0,2)函数随机选取0到2之间的数。

(4)计算新种群适应度。 使用适应度函数计算位置更新以后哈里斯鹰个体的适应度,并使用最优哈里斯鹰个体的位置作为新的猎物位置。

(5)算法迭代停止。 重复步骤(3)和(4),直至达到最大迭代次数,输出最优适应度值与最优解。

1.2 改进的哈里斯鹰优化算法

在HHO算法中,种群的初始质量差、 算法仅能用于连续空间的优化问题、 猎物的逃逸能量是线性变化且跳跃强度为一个随机数,导致该算法的收敛精度低且易陷入局部最优。 因此,采用了新的种群初始化方式与多策略对HHO算法进行改进。

(1)种群初始化

针对HHO算法初始种群的质量差,导致算法出现全局探索能力不足的问题,采用两种方法进行改进:

① 混沌映射: 混沌映射用于生成混沌序列,具有随机性与遍历性等特点,能增强算法的全局探索能力[15]。 其中,Tent映射相较于其他混沌映射具有良好的均匀性,因此使用Tent映射对伪随机数产生的初始种群进行扰动,如式(3)所示

(3)

式(3)中,α∈(0,1),选择不同取值的α得到序列的均匀性存在差异。 经过多次实验结果的对比分析,取α=0.8可以使得哈里斯鹰种群具有较好的均匀性。

② 反向学习: 主要是同时考虑估计值及其反估计值的适应度,进而丰富初始种群,以提高算法的寻优能力,反向学习如式(4)所示

XiOBL=li+ui-Xi,i=1,2,…,n

(4)

式(4)中,XiOBL表示Xi的反向个体,li与ui表示第i维的下界与上界。 通过计算原始种群与反向种群中的个体适应度,选取适应度值最优的个体组成新的种群,进而提高初始种群的质量。

(2)多策略改进

为了使HHO算法能用于特征波段选择,先使用二进制离散化策略对基本HHO算法进行修正; 针对HHO算法中猎物的能量衰减与跳跃强度更新的不足,提出了新的能量衰减与跳跃强度的更新模型; 为了防止算法收敛到局部最优,使用变异策略保持种群的多样性。

① 二进制离散化: 针对HHO算法仅能用于连续空间的优化问题,而特征波段选择需要在离散空间进行求解,因此需要对HHO算法进行修改,如式(5)所示

(5)

② 非线性逃逸能量: 能量衰减因子E控制HHO算法由全局探索过渡到局部搜索,然而在HHO 算法中E1是由2线性衰减到0,导致HHO算法在局部搜索时的寻优性能较差。 针对此问题,提出了如式(6)所示的能量衰减模型

(6)

式(6)中,E为新的能量衰减因子,T为最大迭代次数,E0为-1到1之间的随机数,t为当前迭代次数。

③ 非线性跳跃策略: 在HHO算法中,猎物的跳跃强度是0到2中的随机数,导致算法在寻优过程中很难具备较好的收敛性,使得算法收敛精度低。 考虑到在迭代后期由于能量衰减,导致跳跃强度受到较大的影响,提出了如式(7)所示的跳跃策略

(7)

式(7)中,J为猎物的跳跃强度,T为最大迭代次数,r为0到1之间的随机数,t为当前迭代次数,t=0,1,2,…,T-1。

④ 变异: 为了避免HHO算法收敛到局部最优解,借鉴了遗传算法[15]的变异策略应用于IHHO算法,变异方式如式(8)所示

Xij(t+1)=1-Xij(t)

(8)

式(8)中,Xij为个体,t为迭代次数,i为个体索引,j为维度索引。 变异概率是种群变异情况的特征参量,变异概率越大则个体发生变异的可能性越高,导致种群的多样性过高,使算法的收敛不稳定甚至不收敛; 变异概率越小则个体发生变异的可能性越小,不会带来种群多样性的提高。 在遗传算法中,变异概率一般取q∈[0.001,0.1],经过多次实验比较,确定变异概率q=0.01。

(3)IHHO算法流程图

结合HHO算法流程图与算法的改进策略,得到了IHHO算法流程图,如图2所示。 首先,与图1所示的原始HHO算法相比,提出的IHHO算法在种群初始化阶段使用了混沌映射与反向学习的策略,扩大了算法的全局搜索空间,提高了种群的多样性,使得算法具有较好的全局搜索能力; 使用二进制离散化策略,使得算法能在离散空间进行特征波段选择; 提出了非线性逃逸能量和非线性跳跃策略,以提高算法的寻优能力和收敛精度; 最后使用变异策略增加哈里斯鹰种群多样性,以避免算法收敛到局部最优解。

图2 IHHO算法流程图Fig.2 Flow charts of IHHO algorithms

非线性逃逸能量和原始的线性逃逸能量的对比如图3(a,b)所示。 在迭代前期,逃逸能量随着迭代次数的增加而快速减少,可以提高算法由全局探索过渡到局部搜索的速度; 在迭代后期,算法已经进入局部搜索阶段,较平缓的逃逸能量衰减可使得哈里斯鹰算法收敛到较优解。

图3 逃逸能量变化曲线(a): 非线性逃逸能量; (b): 线性逃逸能量Fig.3 Escape energy change curve(a): Non-linear escape energy; (b): Linear escape energy

非线性跳跃策略与原始跳跃策略的对比如图4(a,b)所示。 在非线性跳跃策略中,跳跃强度随迭代次数呈现指数衰减,符合在迭代后期由于猎物能量不足导致跳跃强度快速下降,从而使得哈里斯鹰算法在局部搜索时更容易收敛到全局最优解。

图4 跳跃强度变化曲线(a): 非线性跳跃策略; (b): 原始跳跃策略Fig.4 Jump strength curve(a): Non-linear jumping strategy; (b): Original jumping strategy

1.3 基于IHHO算法的特征波段选择模型

(1)适应度函数设计

在选择特征波段时,由于需要在保证分类器或回归器具有较好性能的同时,使得特征波段的数量最少,即选择的特征波段需要具有最好的代表性。 分类器与回归器的性能可以使用准确率与决定系数进行评价,为了使所选择的特征波段最具有代表性,设计了如式(9)所示的适应度函数

(9)

(2)特征波段选择模型

所提出的基于IHHO算法的近红外光谱特征波段选择模型的流程图如图5所示,包括初始化、 训练分类器或回归器、 IHHO算法求解适应度函数、 输出特征波段共4个步骤。 首先,随机初始化二进制串,1表示选中的波段,0表示该波段未选中; 其次,将随机选中的波段输入到分类器或回归器模型中,模型输出相应的评价指标(准确率或决定系数),并将该指标输入到式(9)的适应度函数; 然后,使用IHHO算法对适应度函数进行优化处理,使得其适应度函数值达到最小,满足模型迭代停止条件时输出最终得到的二进制串,否则继续迭代; 最后,根据模型输出的二进制串得到最优的特征波段集合。

图5 基于IHHO算法的光谱特征波段选择模型流程图Fig.5 Flow chart of spectral characteristic band selection model based on IHHO algorithm

2 结果与讨论

2.1 实验数据来源

使用草莓、 橄榄油、 咖啡以及肉类共4个近红外光谱数据集进行定性分析(https://github.com/FuSiry/Open-Nirs-Datasets),数据集相关信息如表1所示。 在定性分析的实验中,选取的数据集不仅包含了大样本的情况,还针对小样本的数据集进行验证,同时各数据集所具有的波段数较多且波段范围广,因此能较好的验证所提出的特征波段选择模型的实用性与有效性。

表1 定性分析数据集相关信息Table 1 Qualitative analysis data set related information description

图6(a—d)给出了相应数据集的可视化结果,其中每条光谱曲线分别对应数据集中一个样本,可以发现各数据集中光谱曲线的趋势大致相同,说明样本之间具有相似性,而由于样本间存在化合物含量的差异,导致各样本在不同波段下的吸光度不同。

图6 定性分析近红外光谱(a): 草莓; (b): 橄榄油; (c): 咖啡; (d): 肉类Fig.6 Qualitative analysis of NIR spectra(a): Strawberry; (b): Olive oil; (c): Coffee; (d): Meat

对于定量分析则使用小麦(https://github.com/FuSiry/Open-Nirs-Datasets)、 谷物(https://eigenvector.com/resources/data-sets/#grain-sec)共2个数据集,其中小麦数据集仅包含蛋白质指标,而谷物数据集中包含了酪蛋白、 葡萄糖、 乳酸和水分4种指标,数据集的相关信息如表2所示。 在定量分析实验中,选取的数据集均具有样本量多的特点,不仅验证了波段范围广的情况,还针对波段范围较窄的的情况进行研究,在一定程度上验证所提出特征波段选择模型的实用性与有效性。

表2 定量分析数据集相关信息Table 2 Quantitative analysis of data set related information description

图7(a,b)给出了相应数据集的可视化结果,同样由于样本间的相似性,使得各数据集中的样本光谱曲线的趋势相似,而各样本间存在化合物含量的差异,导致各样本间的吸光度出现不同。

图7 定量分析近红外光谱(a): 小麦; (b): 谷物Fig.7 Quantitative analytical spectra(a): Wheat; (b): Cereals

在进行建模之前,对输入样本进行标准化预处理,如式(10)所示

(10)

式(10)中,x*为标准化以后的样本,x为原始样本,μ为原始样本均值,σ为原始样本的标准差。

为了验证IHHO算法的有效性与先进性,使用5种算法与IHHO算法进行比较,分别为CARS、 SPA、 GA、 PSO以及HHO算法。 CARS算法的蒙特卡洛采样次数设置为50次且进行10折交叉验证,SPA算法选择特征波段数的区间为1~37。 而HHO、 GA、 PSO以及IHHO算法的种群大小为10,迭代次数为100,分类器选择支持向量机(support vector machine,SVM),回归器选择偏最小二乘回归(partial least squares regression,PLSR),最后以7∶3的比例随机划分训练集与测试集进行建模。

2.2 结果与讨论

实验运行环境基于64位windows10操作系统,CPU为AMD Ryzen 5 4600H,主频3.0 GHz,运行内存为16GB RAM的华硕笔记本电脑,算法的编程语言为python3.9。

(1)定性分析中的算法性能比较

在定性分析中,为客观评价各算法的性能,以100次算法得到的平均准确率(average accuracy,AA)、 平均特征波段的数量占全波段的比例(average features ratio,AFR)作为算法性能的评价指标。 其中,AA取值为0~1,表示样本中正确识别的样本比例,值越接近1说明模型的性能越好; AFR反映特征波段数量,在AA可接受的范围内该值越小越好。

在4个定性分析近红外光谱数据集中进行特征波段选择的平均准确率的比较结果如图8所示。 CARS与SPA算法在选择特征波段训练分类器时得到的平均准确率有时低于使用全波段分类的准确率(如橄榄油数据集和肉类数据集所示),说明这两种算法在选择特征波段时可能会以损失准确率为代价。 使用优化算法选择的特征波段得到的平均准确率均高于使用全波段得到的准确率,表明在一定程度上基于优化算法的特征波段选择方法的性能优于传统方法。 IHHO算法得到的平均准确率在现有的数据集上的整体性能得到提高,特别是在草莓、 橄榄油以及咖啡数据集上,分别较全波段提高了0.83%、 9.55%以及17.65%,优于HHO算法,说明了IHHO算法改进的有效性。 与PSO、 GA相比,IHHO算法仍然具有优势,说明IHHO算法在特征波段选择时具有先进性。

图8 平均准确率对比Fig.8 Comparison of average accuracy

平均特征波段数量占全波段比例的比较结果如图9所示。 IHHO算法在现有数据集上得到的特征波段数量显著减少,分别仅占全波段的9.97%、 2.59%、 1.36%以及0.59%,而PSO算法得到的特征波段数量最多。 结合图8与图9,IHHO算法以最低的平均特征波段占比获得了最高的平均准确率,说明IHHO算法在近红外光谱定性分析时去除了大部分的冗余波段,选择了具有代表性的特征波段,进而使模型具有较好的识别性能,表明了IHHO算法在近红外光谱定性分析中的有效性。

图9 平均特征比例对比Fig.9 Comparison of average features ratios

所提出的IHHO算法在选择特征波段时,以最小的平均特征波段占比得到了最高的平均准确率,优于传统方法(CARS与SPA算法)与部分智能优化算法(GA、 PSO以及HHO算法),说明IHHO算法在近红外光谱定性分析时具有可行性与先进性。

(2)定量分析中的算法性能比较

在定量分析中,为客观评价各算法的性能,以100次算法运行得到的平均决定系数R2、 平均均方根误差(average root mean square error,ARMSE)、 平均特征波段数量占全波段的比例(average features ratio,AFR)作为算法性能的评价指标。 其中R2取值为0~1,R2越接近1表明自变量对因变量的可解释性越好; 而ARMSE≥0,用于衡量预测值与真实值之间的偏差,越接近0说明模型预测的偏差越小; AFR反映选择的特征波段数量,在R2与ARMSE可接受的范围内该值越小越好。

平均决定系数的比较结果如图10所示。 CARS算法与SPA算法在选择特征波段时得到的平均决定系数有时会小于全波段得到的平均决定系数,说明CARS算法与SPA算法选择特征波段时会降低平均决定系数,反映了CARS算法与SPA算法在选择特征波段时存在劣势。 而使用优化算法选择的特征波段得到的平均决定系数均得到提高,表明优化算法在选择特征波段中具有优势。 其中IHHO算法在现有数据集上取得的平均决定系数均显著提高,分别较全波段提高了10.57%、 1.47%、 4.41%、 3.66%以及3.06%,为各算法中的最高值,说明了IHHO算法在选择特征波段时具有先进性。

图10 平均决定系数对比Fig.10 Comparison of average coefficients of determination

平均均方根误差的比较如图11所示。 CARS算法与SPA算法选择特征波段得到的平均均方根误差高于全波段的平均均方根误差,说明这两种算法选择特征波段的有效性低,进一步表明传统算法在选择特征波段时的局限性。 使用优化算法选择特征波段得到的平均均方根误差均会降低,说明了优化算法在选择特征波段中具有优势。 其中,IHHO算法得到的平均均方根误差得到降低,分别较全波段降低了0.162、 1.2663、 1.868、 1.8694以及0.4084,为各算法中的最低值。 比较图10与图11,说明IHHO算法在选择特征波段时能提高模型性能。

图11 平均均方根误差对比Fig.11 Comparison of average root mean squared errors

在图11中,对蛋白质、 酪蛋白、 葡萄糖以及乳酸进行定量分析的平均均方根误差均较高,其主要原因是在建模时仅对数据进行了简单的标准化预处理,而原始光谱中可能存在的噪声、 基线漂移以及异常值等也会导致模型的均方根误差较高。

平均特征波段数量占全波段比例的比较结果如图12所示。 IHHO算法在大部分数据集上得到的平均特征波段占比最小,分别仅占全波段的9.24%、 10.53%、 6.54%、 6.91%以及7.14%,而PSO算法得到的特征波段占比最大。 比较图10、 图11与图12,IHHO算法以较低的平均特征波段占比取得了最高的平均决定系数与最低的平均均方根误差,说明了IHHO算法在定量分析中选取近红外光谱特征波段时具有较好的去冗余性,能选择最具有代表性的特征波段,从而使得模型性能最佳。

图12 平均特征比例对比Fig.12 Comparison of average features band ratios

(3)算法复杂度比较

算法复杂度是评价算法执行效率的评价指标,主要包括时间复杂度与空间复杂度,分别表征了算法运行时耗费的时间资源与空间资源。 除了对上述算法的性能比较以外,进一步探讨了算法在选择特征波段期间的主要时间复杂度与空间复杂度,如表3所示。C是蒙特卡洛采样次数,D为样本维度,Max和Min分别是SPA算法设置的最大特征波段数和最小特征波段数,S为样本数,M是种群数,T是算法迭代次数。 CARS算法的复杂度与蒙特卡洛采样次数和样本维度及样本数有关,SPA算法的复杂度与选取的特征波段数和样本维度及样本数有关,但CARS的复杂度低于SPA的复杂度; 智能优化算法的复杂度仅与种群数、 种群维度以及迭代次数相关,IHHO与PSO、 GA以及HHO算法的复杂度相同,说明使用本文的改进策略并没有增加算法复杂度。

表3 算法复杂度分析Table 3 Algorithm complexity analysis

综上所述,所提出的IHHO算法在不增加原HHO算法复杂度的基础上提高了HHO算法的特征波段选择性能。 IHHO算法在选择特征波段时以较低的平均特征波段占比取得了最高的平均决定系数与最低的平均均方根误差,在整体上优于传统方法(CARS与SPA算法)及部分智能优化算法(GA、 PSO以及HHO算法),表明IHHO算法在进行近红外光谱定量分析时同样具备可行性与先进性。

3 结 论

针对传统近红外光谱特征波段选择算法的不足,在HHO算法的基础上提出了基于改进哈里斯鹰优化(IHHO)算法的特征波段选择模型。 使用CARS、 SPA、 PSO、 GA、 HHO以及IHHO算法在4个定性分析与2个定量分析近红外光谱数据集上选择特征波段,分别建立了SVM分类模型与PLS回归模型以评估特征波段选择算法的性能。 在定性分析中,IHHO算法以最少的平均特征波段占比取得了最高的平均准确率; 在定量分析中,IHHO算法以较低的平均特征波段占比取得了最高的平均决定系数与最低的平均均方根误差。 数据集的测试结果说明了IHHO算法在选择近红外光谱特征波段时具有较好的性能,且具有良好的算法复杂度,有广泛的应用价值。 本文算法的改进思路也可为其他智能优化算法的改进提供参考。

猜你喜欢
哈里斯复杂度适应度
改进的自适应复制、交叉和突变遗传算法
计算机仿真(2022年8期)2022-09-28 09:53:02
一种低复杂度的惯性/GNSS矢量深组合方法
求图上广探树的时间复杂度
基于空调导风板成型工艺的Kriging模型适应度研究
中国塑料(2016年11期)2016-04-16 05:26:02
某雷达导51 头中心控制软件圈复杂度分析与改进
哈里斯中波广播发射机外部接口研究
哈里斯50kW机器改频经验谈
可调稳压器LM317的探讨及其在哈里斯中波发射机上的应用
出口技术复杂度研究回顾与评述
远大前程
扣篮(2014年13期)2014-12-26 17:53:09