首页 / 专利库 / 物理 / 波长 / 一种基于PLS-VIP-ACO算法的光谱波长选择方法

一种基于PLS-VIP-ACO算法光谱波长选择方法

阅读:617发布:2021-06-04

专利汇可以提供一种基于PLS-VIP-ACO算法光谱波长选择方法专利检索,专利查询,专利分析的服务。并且本 发明 属于 光谱 分析领域,尤其是涉及一种基于PLS‑VIP‑ACO 算法 的光谱 波长 选择方法。所述方法结合了蚁群算法(ACO算法)与变量投影重要性系数(VIP系数)、偏最小二乘方法(PLS);包括:在全波长段建立偏最小二乘模型(PLS模型),计算每个波长变量的VIP系数并将得到的VIP系数作为ACO 信息素 的初始值;在每次ACO 迭代 中,记录每次迭代得到的最优模型所对应的波长点及其PLS系数绝对值,并与上一次迭代结果进行累加,同时考虑VIP系数的贡献对ACO信息素进行更新,进入下一次的ACO迭代;迭代全部结束后统计所有波长点的累加PLS系数并按降序排序,记录对应的波长排列次序,然后采用反向剔除弱相关波长的策略获得最终的最优波长组合。本方法能显著提高光谱建模的稳健性与 精度 。,下面是一种基于PLS-VIP-ACO算法光谱波长选择方法专利的具体信息内容。

1.一种基于PLS-VIP-ACO算法光谱波长选择方法,其特征在于,所述基于PLS-VIP-ACO算法的光谱波长选择方法包括:在全波长段建立PLS模型,计算每个波长变量的VIP系数并将得到的VIP系数作为ACO信息素的初始值;在每次ACO算法迭代中,记录每次迭代得到的最优PLS模型所对应的波长点及其PLS系数绝对值,并与上一次迭代结果进行累加,同时考虑VIP系数的贡献对ACO信息素进行更新,进入下一次的ACO算法迭代;迭代全部结束后统计所有波长点的累加PLS系数并按降序排序,记录对应的波长排列次序,然后采用反向剔除弱相关波长的策略获得最终的最优波长组合;具体步骤包括:
步骤(1),参数初始化:将样本划分为校正集和预测集;校正集的光谱矩阵为Xs×p,光谱矩阵Xs×p具有s个样本,全波长点有p个,校正集的样本性质矩阵为Ys×1;预测集的光谱矩阵为Xt×p,光谱矩阵Xt×p具有t个样本,全波长点有p个,预测集的样本性质矩阵为Yt×
1;设定最大迭代次数K_MAX,蚁群蚂蚁个数m,最大选取波长数V_MAX,以及设定ACO信息素更新的显著因子Q、ACO信息素衰减系数ρ;迭代次数K初始化为1;
步骤(2),VIP系数计算:在校正集上建立全波长的PLS模型,根据PLS系数计算每个波长点的VIP系数,根据VIP系数能表征特征重要程度这一特性,将ACO信息素矩阵Phe(1×p)初始化为每个波长点的VIP系数;
步骤(3),ACO算法迭代开始:当K步骤(4),蚁群随机初始化:生成m个1到p之间的随机数,作为m只蚂蚁的路径起点,即第一个被选择的波长点,并储存到selected(m×V_MAX)矩阵的第一列中,设定j为蚂蚁已选的波长点,初始j=1;
步骤(5),蚁群选择过程:对每只蚂蚁,做以下运算:当j步骤(6),重复步骤(4)-(5)直至j=V_MAX;
步骤(7),选取最优蚂蚁:分别对m个蚂蚁选择的波长点(1×V_MAX)在校正集建立PLS模型,采取留一交叉验证的方法,得到相应的RMSECV值;对比m个PLS模型的RMSECV值,选取RMSECV最小的PLS模型对应的蚂蚁为最优蚂蚁,其选中的波长组合为最优波长组合,记录结果,将对应波长点的PLS系数累加储存;
步骤(8),更新ACO信息素:仿照真实生物界蚂蚁的行为,更新ACO信息素;在步骤(7)中选出的最优波长组合中,对应波长点的ACO信息素得到加强,而未被选中的波长点,ACO信息素会以ACO信息素衰减系数ρ减少,更新的ACO信息素矩阵在下一次迭代中被应用;令K=K+
1;记录最优结果对应最优模型的PLS系数,每个波长点的贡献值累加对应波长点的PLS系数绝对值;
步骤(9),重复步骤(3)到步骤(8),直至达到最大迭代次数K_MAX且最优解收敛;得到最终每个波长点的累加PLS系数矩阵后,计算每个波长点的贡献值,即归一化的迭代累加PLS系数;得到贡献值超过阈值的波长集合high_wave(1×g)后,按贡献值从小到大排序,依次剔除贡献值最小的波长点,用筛选出的波长组合进行建模,以交叉验证标准偏差和预测标准偏差综合指标RMSECvP为模型评判标准,将RMSECvP最小的波长组合high_wave(1×(g-g’))作为最终的最优波长组合;
所述步骤(9)中,交叉验证标准偏差和预测标准偏差综合指标RMSECvP为RMSECV和RMSEP的组合指标,指标RMSECvP分别与RMSECV、RMSEP正相关,且RMSECvP=(RMSECV+RMSEP)。
2.根据权利要求1所述的一种基于PLS-VIP-ACO算法的光谱波长选择方法,其特征在于,所述步骤(1)中,所述最大迭代次数K_MAX的取值范围为20到200之间。
3.根据权利要求1所述的一种基于PLS-VIP-ACO算法的光谱波长选择方法,其特征在于,所述步骤(1)中,所述最大选取波长数V_MAX的取值范围为20到400之间。
4.根据权利要求1所述的一种基于PLS-VIP-ACO算法的光谱波长选择方法,其特征在于,所述步骤(1)中,所述蚁群蚂蚁个数m的取值范围为10到100之间。
5.根据权利要求1所述的一种基于PLS-VIP-ACO算法的光谱波长选择方法,其特征在于,所述步骤(8)中,所述ACO信息素的更新考虑VIP系数的贡献,第n次迭代时的更新系数τn=[(1-ρ)τn-1+ρF]×VIP,其中:ρ作为ACO信息素衰减系数直接影响算法的收敛速度,ρ的取值范围为0.6-0.9之间;F=Q/(1+RMSECVmin),式中Q为显著因子用来调整目标函数的收敛速度,Q的取值范围为0.1-0.3之间;RMSECVmin为最优模型对应预测集上的RMSECV值,若波长点在得到RMSECVmin的最优波长组合中,则按F=Q/(1+RMSECVmin)计算得到目标函数F的值;若波长点不在最优波长组合中,则F直接取值为0。

说明书全文

一种基于PLS-VIP-ACO算法光谱波长选择方法

技术领域

[0001] 本发明涉及光谱分析领域,尤其是涉及一种基于PLS-VIP-ACO算法的光谱波长选择方法。

背景技术

[0002] 光谱分析技术作为一种快速无损的定量分析方法,已成功应用于石油化工、食品、农业、环保等领域。然而光谱检测中获得的原始谱图往往高达上千个波长点,而且重叠严重,光谱信息冗余,特征吸收区域不明显,造成后续分析模型的精度降低。为了提高模型预测精度,降低模型复杂度和计算速度,需要对波长进行优选,选择与待测样本信息最相关的特征波长点用于模型的建立。
[0003] 目前,关于光谱分析中波长选择方法的研究,主要有相关系数法、基于间隔的波长选择策略、无信息变量消除算法、蚁群算法等方法。相关系数法的局限性在于,只适用于光谱与样本属性相关度高的情况,若相关性都较低,则容易剔除有用信息或保留噪声信息而使模型稳定性降低;基于间隔的波长选择策略,波长区间大小的选择难以确定,且特征波长点可能只是单独的点,而选择出的波长段中可能含有无关的波长,并不能最大程度地消除无关波长;无信息变量消除算法采用对校正光谱矩阵人为产生一噪声矩阵,消除信息小于噪声变量的波长的方法进行特征波长点提取,但这种方法也存在一定的主观性,并且噪声矩阵的选择影响着波长选择的结果,最终波长选择结果通常存在较多的冗余;蚁群算法在信息素初始化这一过程有效信息匮乏,随机优化导致模型不稳定,作为迭代算法有收敛慢等缺陷,上述现有方法的局限性,影响了模型的稳健性与精度。

发明内容

[0004] 本发明的目的在于,针对现有技术的不足,提出将蚁群算法(Ant Colony Optimization,简称ACO算法)与变量投影重要性系数(Variable Importance in the Projection,简称VIP系数)、偏最小二乘方法(Partial Least Squares,简称PLS)相结合,提供一种基于PLS-VIP-ACO算法的光谱波长选择方法,以提高光谱建模的稳健性与精度。
[0005] 为此,本发明采用如下解决方案:
[0006] 一种基于PLS-VIP-ACO算法的光谱波长选择方法,所述基于PLS-VIP-ACO算法的光谱波长选择方法包括:在全波长段建立PLS模型,计算每个波长变量的VIP系数并将得到的VIP系数作为ACO信息素的初始值;在每次ACO算法迭代中,记录每次迭代得到的最优PLS模型所对应的波长点及其PLS系数绝对值,并与上一次迭代结果进行累加,同时考虑VIP系数的贡献对ACO信息素进行更新,进入下一次的ACO算法迭代;迭代全部结束后统计所有波长点的累加PLS系数并按降序排序,记录对应的波长排列次序,然后采用反向剔除弱相关波长的策略获得最终的最优波长组合;具体步骤包括:
[0007] 步骤(1),参数初始化:将样本划分为校正集和预测集;校正集的光谱矩阵为Xs×p,光谱矩阵Xs×p具有s个样本,全波长点有p个,校正集的样本性质矩阵为Ys×1;预测集的光谱矩阵为Xt×p,光谱矩阵Xt×p具有t个样本,全波长点有p个,预测集的样本性质矩阵为Yt×1;设定最大迭代次数K_MAX,蚁群蚂蚁个数m,最大选取波长数V_MAX,以及设定ACO信息素更新的显著因子Q、挥发系数ρ;迭代次数K初始化为1;
[0008] 步骤(2),VIP系数计算:在校正集上建立全波长的PLS模型,根据PLS系数计算每个波长点的VIP系数,根据VIP系数能表征特征重要程度这一特性,将ACO信息素矩阵Phe(1×p)初始化为每个波长点的VIP系数;
[0009] 步骤(3),ACO算法迭代开始:当K
[0010] 步骤(4),蚁群随机初始化:生成m个1到p之间的随机数,作为m只蚂蚁的路径起点,即第一个被选择的波长点,并储存到selected(m×V_MAX)矩阵的第一列中,设定j为蚂蚁已选的波长点,初始j=1;
[0011] 步骤(5),蚁群选择过程:对每只蚂蚁,做以下运算:当j
[0012] 步骤(6),选取最优蚂蚁:分别对m个蚂蚁选择的波长点(1×V_MAX)在校正集建立PLS模型,采取留一交叉验证的方法,得到相应的RMSECV值;对比m个PLS模型的RMSECV值,选取RMSECV最小的PLS模型对应的蚂蚁为最优蚂蚁,其选中的波长组合为最优波长组合,记录结果,将对应波长点的PLS系数累加储存;
[0013] 步骤(7),更新ACO信息素:仿照真实生物界蚂蚁的行为,更新ACO信息素;在步骤(6)中选出的最优波长组合中,对应波长点的ACO信息素得到加强,而未被选中的波长点,ACO信息素会以ρ的挥发系数挥发减少,更新的ACO信息素矩阵在下一次迭代中被应用;令K=K+1;记录最优结果对应最优模型的PLS系数,每个波长点的贡献值累加对应波长点的PLS系数绝对值;
[0014] 步骤(8),重复步骤(3)到步骤(7),直至达到最大迭代次数K_MAX且最优解收敛;得到最终每个波长点的累加PLS系数矩阵后,计算每个波长点的贡献值,即归一化的迭代累加PLS系数;得到贡献值超过阈值的波长集合high_wave(1×g)后,按贡献值从小到大排序,依次剔除贡献值最小的波长点,用筛选出的波长组合进行建模,以交叉验证标准偏差和预测标准偏差综合指标RMSECvP为模型评判标准,将RMSECvP最小的波长组合high_wave(1×(g-g’))作为最终的最优波长组合。
[0015] 在采用上述技术方案的同时,本发明还可以采用或者组合采用以下进一步的技术方案:
[0016] 所述步骤(1)中,所述最大迭代次数K_MAX的取值范围优选20到200之间。
[0017] 所述步骤(1)中,所述最大选取波长数V_MAX的取值范围优选在20到400之间。
[0018] 所述步骤(1)中,所述蚁群蚂蚁个数m的取值范围优选在10到100之间。
[0019] 所述步骤(7)中,所述ACO信息素的更新考虑VIP系数的贡献,第n次迭代时的更新系数τn=[(1-ρ)τn-1+ρF]×VIP,其中:ρ作为ACO信息素衰减系数直接影响算法的收敛速度,优选为0.6-0.9之间;F=Q/(1+RMSECVmin),式中Q为显著因子用来调整目标函数的收敛速度,优选为0.1-0.3之间;RMSECVmin为最优模型对应预测集上的RMSECV值,若波长点在得到RMSECVmin的最优波长组合中,则按F=Q/(1+RMSECVmin)计算得到目标函数F的值;若波长点不在最优波长组合中,则F直接取值为0。
[0020] 所述步骤(8)中,交叉验证标准偏差和预测标准偏差综合指标RMSECvP为RMSECV和RMSEP的组合指标,指标RMSECvP分别与RMSECV、RMSEP正相关,优选为RMSECvP=(RMSECV+RMSEP)。
[0021] 本发明所提供的光谱波长的选择方法具有以下优点:
[0022] (1)采用随机采样的方式以及轮盘赌算法等随机概率方法来筛选校正样本,消除人为划分校正样本建模的主观因素;
[0023] (2)结合VIP系数与PLS系数共同进行波长筛选,最大化地甄别出有益波长;
[0024] (3)ACO信息素的更新加入VIP系数乘子,避免算法的随机性导致噪声进入最优波长组合,加快算法收敛速度,解决了蚁群算法收敛慢的问题。
[0025] (4)经过优选波长变量,能使用较少波长建立简化模型,且所建模型稳健性好、精度高。附图说明
[0026] 图1为本发明基于PLS-VIP-ACO算法的光谱波长选择方法的流程图
[0027] 图2为生物柴油调和油拉曼光谱的原始光谱图。
[0028] 图3为每个波长点的归一化的迭代累加PLS系数的统计图,圆圈标出的点是最终筛选出的最优波长点。
[0029] 图4为波长子集数目与模型的综合评价指标RMSECvP的关系图。
[0030] 图5为筛选出的最优波长点与拉曼光谱谱图的关系。
[0031] 图6为生物柴油调和油浓度的预测值与真实值的比较图。

具体实施方式

[0032] 本发明的具体实施方式,将结合附图和拉曼光谱分析的具体实施例进行详述。
[0033] 图1为本发明提出的基于PLS-VIP-ACO算法的光谱波长选择方法。
[0034] 本具体实施例,采用生物柴油调和油拉曼光谱数据样本来验证本发明的方法。该数据集包含62个拉曼光谱测量样本,生物柴油的质量含量范围为0%~100%(w/w),考察拉曼光谱与调和油中生物柴油浓度之间的关系。拉曼光谱波长区间进行线性插值处理后得到共2033个波长,经过异常样本剔除、基线校正、移动平均平滑、提取信息波段等预处理步骤后,得到60个样本,每个样本有波长点1541个,其光谱图如图2所示。
[0035] 针对生物柴油调和油拉曼光谱数据样本,实施本发明提出的基于PLS-VIP-ACO算法的光谱波长选择方法,步骤如下:
[0036] 步骤(1),对于样本个数为60,波长个数为p=1541,原波长集为V={x1,…,xp-1,xp}={1,…,1540,1541}的生物柴油调和油拉曼光谱样本集,根据K-S算法划分校正集和预测集,采样得校正集样本45个,光谱矩阵为X(45×1541),表征调和油中生物柴油浓度的性质矩阵为Y(45×1),采样得预测集样本15个,光谱矩阵为X(15×1541),表征调和油中生物柴油浓度的性质矩阵为Y(15×1);由于建模样本的随机性,所述最大迭代次数K_MAX取值范围优选在20到200之间,K_MAX值越大,波长选择所需的时间越长,K_MAX值太小又难以消除建模样本的随机性对结果的影响,本具体实施例中设定K_MAX=50;所述蚁群蚂蚁个数m为30;所述最大选取波长数V_MAX决定着每个个体在每次迭代中选取的波长数,其取值范围为1到波长个数1541,本具体实施例中V_MAX=120;所述显著性因子Q为0.01,ACO信息素衰减系数ρ为0.65,初始化记录波长点被选的贡献矩阵attri(1×1541)。
[0037] 步骤(2),建立校正集全光谱的PLS模型:对校正样本集按公式(1)建立潜变量个数为A的PLS模型;该模型的数学表达式如下:
[0038] Xcal=TPT+E                            (1)
[0039] Ycal=UQT+F                            (2)
[0040] T=XW(PT W)-1                           (3)
[0041] 其中校正光谱矩阵Xcal的得分矩阵是T,载荷矩阵是P,权重矩阵是W,残差光谱是E;校正样本浓度性质矩阵Ycal的得分矩阵是U,载荷矩阵是Q,残差光谱是F。
[0042] 按照公式(4)计算每个波长对模型的重要程度指标:变量投影重要性系数VIP。第j(j=1,…,1541)个波长点的VIP系数的计算公式如下:
[0043]
[0044] 其中wa,ta和qa分别是矩阵W,T和Q的第a列。wja是第j个波长在第a个潜变量中的权重值。VIPj系数越大,表示波长j对于建立回归模型的重要程度越高。将信息数矩阵Phe(1×1541)初始化为每个波长点的VIP系数,并初始迭代次数K=1。
[0045] 步骤(3),迭代开始:当K<50时,进入一次新的迭代过程。迭代开始时,首先初始化蚁群的路径矩阵selected(m×V_MAX),用以储存每只个体选取的V_MAX个波长点;
[0046] 步骤(4),蚁群随机初始化:生成m个1到1541之间的随机数,作为m只蚂蚁的路径起点,即第一个被选择的波长点,并储存到selected矩阵的第一列中,设定j为蚂蚁已选的波长点,此时j=1;
[0047] 步骤(5),蚁群选择过程:对每只蚂蚁,做以下运算:当j访问的(1541-j)的波长点被选择概率之和为1:
[0048]
[0049] 根据概率矩阵P((1541-j)×1),用轮盘赌算法选出下一个被选中的波长点,j的值进行+1操作。重复步骤(5)至j=V_MAX;
[0050] 步骤(6)选取最优蚂蚁:分别对m个蚂蚁选择的波长点(1×V_MAX)在校正集建立PLS模型,采取留一交叉验证的方法,得到相应的RMSECV值;对比m个PLS模型的RMSECV值,选取RMSECV最小的PLS模型对应的蚂蚁为最优蚂蚁,其选中的波长组合为最优波长组合select_t,记录结果,将select_t中的波长点的PLS系数累加储存到attri中,PLS系数即公式(6)中矩阵B的绝对值:
[0051] Ycal=X(cal,selected_t)B+e                   (6)
[0052] 其中X(cal,selected_t)是此次迭代中校正集光谱矩阵Xcal中对应的最优个体选出的波长selected_t列,校正模型的回归系数是B=[b1,b2,…,bp]T,e是模型偏差。
[0053] (7)更新ACO信息素:仿照真实生物界蚂蚁的行为,更新ACO信息素矩阵Phe(1×1541)。在步骤(6)中选出的最优波长组合中,对应的波长其ACO信息素得到加强,而未被选中的波长点,ACO信息素会以ρ的挥发系数挥发减少,更新的ACO信息素矩阵在下一次迭代中被应用;第n次迭代时的更新ACO信息素系数τn=[(1-0.6)τn-1+0.6F]×VIP;RMSECVmin为最优模型对应预测集上的RMSECV值,若波长点在得到RMSECVmin的最优波长组合中,则按F=
0.01/(1+RMSECVmin)计算得到目标函数F的值;若波长点不在最优波长组合中,则F直接取值为0;令K=K+1;记录最优结果对应最优模型的PLS系数,每个波长点的贡献值累加对应波长点的PLS系数绝对值;
[0054] (8)重复步骤(3)-(7),直至达到最大迭代次数且最优解收敛。得到最终每个波长点的累加PLS系数矩阵attri后,计算即为每个波长点的贡献值。得到贡献值超过阈值的波长集合high_wave(1×g)后,按贡献值从小到大排序,依次剔除贡献值最小的波长点,用筛选出的波长组合进行PLS建模,选择RMSECvP总和最小的波长组合high_wave(1×(g-g’))作为最终的最优波长组合。对于筛选过程详细解释如下:
[0055] 将贡献值超过阈值的波长点集合high_wave(1×g)按贡献值从小到大排序,剔除第一个贡献值最小的波长点,得到high_wave’(1×(g-1)),以此(g-1)个波长点进行PLS建模,得到交叉验证的RMSECV值和对预测集得到的RMSEP值,求出质量指标RMSECvP;接下来再剔除high_wave’中贡献值最小的波长点得到high_wave”(1×(g-2)),重复上述内容得到此次建模的RMSECvP值;直至high_wave中只剩一个波长点。在g次建模中,以RMSECvP最小的模型为最优模型,对应的波长集为算法筛选出的最优波长集合。
[0056] 图3为每个波长点的归一化的迭代累加PLS系数的统计图;图4为波长子集数目与模型的综合评价指标RMSECvP的关系图;根据阈值得到贡献值在前300位的波长点集合high_wave(1×300),依次剔除后贡献值最小波长点后所剩波长点数为T为横坐标,纵坐标模型综合指标RMSECvP为最小值时(图4中圆圈内的点)所对应的波长子集内波长数目为116,即在1541个波长点中筛选出最优波长点为116个,占全部波长点的7.5%。图3中圆圈标出的116个点,即为最终筛选出的116个最优波长点。
[0057] 图5是最优波长点在生物柴油调和油样本浓度为2%的拉曼光谱中的分布情况。
[0058] 结果验证:图6采用上述方法得到的最终的最优波长组合selected_high建立PLS预测模型,得到了预测值与真实值的关系。
[0059] 表1
[0060]
[0061] 表1比较了本发明方法与全波长方法、相关系数法(CC)以及蚁群算法(ACO)的结果,表明本发明方法采用了较少的波长个数,并获得了预测标准误差RMSEP(Root Mean Square Error of Prediction)和交叉验证标准误差RMSECV(Root Mean Square Error of Cross Validation)皆为最小的理想结果。
[0062] 表1的结果充分表明:本发明方法能高效地提取最优波长点,可靠地精简模型,显著地提高模型的稳健性与精度。
[0063] 本发明上述具体实施方式中所涉及的光谱为拉曼光谱,仅为优选实施例,具体实施时,也可以用于紫外光谱、可见光谱、近红外光谱、中红外光谱、远红外光谱、荧光光谱等光谱的最优波长点选择或特征波长点选择。
[0064] 本发明涉及光谱波长选择方法,根据光学的基本原理:光的波长(nm)与光的波数(cm-1)的乘积恒定为107,光的波长(nm)与光的频率(Hz)的乘积也为常数(光速),所以光的波长与光的波数、光的频率这三种参数之间可以直接相互换算,故本发明的方法也可以称为光谱波数选择方法或光谱频率选择方法。
[0065] 上述具体实施方式用来解释说明本发明,仅为本发明的优选实施例,而不是对本发明进行限制,在本发明的精神和权利要求的保护范围内,对本发明作出的任何修改、等同替换、改进等,都落入本发明的保护范围。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈