当前位置: 首页 > 专利查询>浙江大学专利>正文

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

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

A selection method of wavelength PLS VIP based on ACO algorithm

The invention belongs to the field of spectrum analysis, especially relates to a method to select the wavelength PLS VIP based on ACO algorithm. The method combines ant colony algorithm (ACO algorithm) and the variable importance projection coefficient (VIP coefficient), partial least squares method (PLS); including: the establishment of the whole wave band in partial least squares model (PLS model), the VIP coefficient is calculated for each wavelength variables and the number of VIP is obtained as the initial ACO value of pheromone ACO; at each iteration, the recording wavelength points corresponding to the optimal model at each iteration and the absolute value of PLS coefficient, and with the last iteration results are cumulative, considering the coefficient of VIP contribution to the ACO pheromone update, ACO into the next iteration iteration; after the end of statistics of all wavelengths the cumulative PLS coefficient and descending sort, record the corresponding wavelength sequence, then by Reverse Elimination of weakly dependent wavelength strategy to obtain the optimal wavelength combination final. This method can significantly improve the robustness and accuracy of spectral modeling.

【技术实现步骤摘要】

本专利技术涉及光谱分析领域,尤其是涉及一种基于PLS-VIP-ACO算法的光谱波长选择方法
技术介绍
光谱分析技术作为一种快速无损的定量分析方法,已成功应用于石油化工、食品、农业、环保等领域。然而光谱检测中获得的原始谱图往往高达上千个波长点,而且重叠严重,光谱信息冗余,特征吸收区域不明显,造成后续分析模型的精度降低。为了提高模型预测精度,降低模型复杂度和计算速度,需要对波长进行优选,选择与待测样本信息最相关的特征波长点用于模型的建立。目前,关于光谱分析中波长选择方法的研究,主要有相关系数法、基于间隔的波长选择策略、无信息变量消除算法、蚁群算法等方法。相关系数法的局限性在于,只适用于光谱与样本属性相关度高的情况,若相关性都较低,则容易剔除有用信息或保留噪声信息而使模型稳定性降低;基于间隔的波长选择策略,波长区间大小的选择难以确定,且特征波长点可能只是单独的点,而选择出的波长段中可能含有无关的波长,并不能最大程度地消除无关波长;无信息变量消除算法采用对校正光谱矩阵人为产生一噪声矩阵,消除信息小于噪声变量的波长的方法进行特征波长点提取,但这种方法也存在一定的主观性,并且噪声矩阵的选择影响着波长选择的结果,最终波长选择结果通常存在较多的冗余;蚁群算法在信息素初始化这一过程有效信息匮乏,随机优化导致模型不稳定,作为迭代算法有收敛慢等缺陷,上述现有方法的局限性,影响了模型的稳健性与精度。
技术实现思路
本专利技术的目的在于,针对现有技术的不足,提出将蚁群算法(AntColonyOptimization,简称ACO算法)与变量投影重要性系数(VariableImportanceintheProjection,简称VIP系数)、偏最小二乘方法(PartialLeastSquares,简称PLS)相结合,提供一种基于PLS-VIP-ACO算法的光谱波长选择方法,以提高光谱建模的稳健性与精度。为此,本专利技术采用如下解决方案:一种基于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、挥发系数ρ;迭代次数K初始化为1;步骤(2),VIP系数计算:在校正集上建立全波长的PLS模型,根据PLS系数计算每个波长点的VIP系数,根据VIP系数能表征特征重要程度这一特性,将ACO信息素矩阵Phe(1×p)初始化为每个波长点的VIP系数;步骤(3),ACO算法迭代开始:当K<K_MAX时,进入一次新的迭代过程;迭代开始时,首先初始化蚁群的路径矩阵selected(m×V_MAX),储存每只蚂蚁选取的V_MAX个波长点;步骤(4),蚁群随机初始化:生成m个1到p之间的随机数,作为m只蚂蚁的路径起点,即第一个被选择的波长点,并储存到selected(m×V_MAX)矩阵的第一列中,设定j为蚂蚁已选的波长点,初始j=1;步骤(5),蚁群选择过程:对每只蚂蚁,做以下运算:当j<V_MAX时,找出蚂蚁未走过的波长点集合to_visit((p-j)×1);由ACO信息素矩阵Phe(1×p)计算每个波长被选中的概率p,根据概率矩阵P((p-j)×1),用轮盘赌算法选出下一个被选中的波长点;j的值进行+1操作,重复上述过程至j=V_MAX;步骤(6),选取最优蚂蚁:分别对m个蚂蚁选择的波长点(1×V_MAX)在校正集建立PLS模型,采取留一交叉验证的方法,得到相应的RMSECV值;对比m个PLS模型的RMSECV值,选取RMSECV最小的PLS模型对应的蚂蚁为最优蚂蚁,其选中的波长组合为最优波长组合,记录结果,将对应波长点的PLS系数累加储存;步骤(7),更新ACO信息素:仿照真实生物界蚂蚁的行为,更新ACO信息素;在步骤(6)中选出的最优波长组合中,对应波长点的ACO信息素得到加强,而未被选中的波长点,ACO信息素会以ρ的挥发系数挥发减少,更新的ACO信息素矩阵在下一次迭代中被应用;令K=K+1;记录最优结果对应最优模型的PLS系数,每个波长点的贡献值累加对应波长点的PLS系数绝对值;步骤(8),重复步骤(3)到步骤(7),直至达到最大迭代次数K_MAX且最优解收敛;得到最终每个波长点的累加PLS系数矩阵后,计算每个波长点的贡献值,即归一化的迭代累加PLS系数;得到贡献值超过阈值的波长集合high_wave(1×g)后,按贡献值从小到大排序,依次剔除贡献值最小的波长点,用筛选出的波长组合进行建模,以交叉验证标准偏差和预测标准偏差综合指标RMSECvP为模型评判标准,将RMSECvP最小的波长组合high_wave(1×(g-g’))作为最终的最优波长组合。在采用上述技术方案的同时,本专利技术还可以采用或者组合采用以下进一步的技术方案:所述步骤(1)中,所述最大迭代次数K_MAX的取值范围优选20到200之间。所述步骤(1)中,所述最大选取波长数V_MAX的取值范围优选在20到400之间。所述步骤(1)中,所述蚁群蚂蚁个数m的取值范围优选在10到100之间。所述步骤(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。所述步骤(8)中,交叉验证标准偏差和预测标准偏差综合指标RMSECvP为RMSECV和RMSEP的组合指标,指标RMSECvP分别与RMSECV、RMSEP正相关,优选为RMSECvP=(RMSECV+RMSEP)。本专利技术所提供的光谱波长的选择方法具有以下优点:(1)采用随机采样的方式以及轮盘赌算法等随机概率方法来筛选校正样本,消除人为划分校正样本建模的主观因素;(2)结合VIP系数与PLS系数共同进行波长筛选,最大化地甄别出有益波长;(3)ACO信息素的更新加入VIP系数乘子,避免算法的随机性导致噪声进本文档来自技高网...
一种基于PLS-VIP-ACO算法的光谱波长选择方法

【技术保护点】
一种基于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、挥发系数ρ;迭代次数K初始化为1;步骤(2),VIP系数计算:在校正集上建立全波长的PLS模型,根据PLS系数计算每个波长点的VIP系数,根据VIP系数能表征特征重要程度这一特性,将ACO信息素矩阵Phe(1×p)初始化为每个波长点的VIP系数;步骤(3),ACO算法迭代开始:当K<K_MAX时,进入一次新的迭代过程;迭代开始时,首先初始化蚁群的路径矩阵selected(m×V_MAX),储存每只蚂蚁选取的V_MAX个波长点;步骤(4),蚁群随机初始化:生成m个1到p之间的随机数,作为m只蚂蚁的路径起点,即第一个被选择的波长点,并储存到selected(m×V_MAX)矩阵的第一列中,设定j为蚂蚁已选的波长点,初始j=1;步骤(5),蚁群选择过程:对每只蚂蚁,做以下运算:当j<V_MAX时,找出蚂蚁未走过的波长点集合to_visit((p‑j)×1);由ACO信息素矩阵Phe(1×p)计算每个波长被选中的概率p,根据概率矩阵P((p‑j)×1),用轮盘赌算法选出下一个被选中的波长点;j的值进行+1操作,重复上述过程至j=V_MAX;步骤(6),选取最优蚂蚁:分别对m个蚂蚁选择的波长点(1×V_MAX)在校正集建立PLS模型,采取留一交叉验证的方法,得到相应的RMSECV值;对比m个PLS模型的RMSECV值,选取RMSECV最小的PLS模型对应的蚂蚁为最优蚂蚁,其选中的波长组合为最优波长组合,记录结果,将对应波长点的PLS系数累加储存;步骤(7),更新ACO信息素:仿照真实生物界蚂蚁的行为,更新ACO信息素;在步骤(6)中选出的最优波长组合中,对应波长点的ACO信息素得到加强,而未被选中的波长点,ACO信息素会以ρ的挥发系数挥发减少,更新的ACO信息素矩阵在下一次迭代中被应用;令K=K+1;记录最优结果对应最优模型的PLS系数,每个波长点的贡献值累加对应波长点的PLS系数绝对值;步骤(8),重复步骤(3)到步骤(7),直至达到最大迭代次数K_MAX且最优解收敛;得到最终每个波长点的累加PLS系数矩阵后,计算每个波长点的贡献值,即归一化的迭代累加PLS系数;得到贡献值超过阈值的波长集合high_wave(1×g)后,按贡献值从小到大排序,依次剔除贡献值最小的波长点,用筛选出的波长组合进行建模,以交叉验证标准偏差和预测标准偏差综合指标RMSECvP为模型评判标准,将RMSECvP最小的波长组合high_wave(1×(g‑g’))作为最终的最优波长组合。...

【技术特征摘要】
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、挥发系数ρ;迭代次数K初始化为1;步骤(2),VIP系数计算:在校正集上建立全波长的PLS模型,根据PLS系数计算每个波长点的VIP系数,根据VIP系数能表征特征重要程度这一特性,将ACO信息素矩阵Phe(1×p)初始化为每个波长点的VIP系数;步骤(3),ACO算法迭代开始:当K<K_MAX时,进入一次新的迭代过程;迭代开始时,首先初始化蚁群的路径矩阵selected(m×V_MAX),储存每只蚂蚁选取的V_MAX个波长点;步骤(4),蚁群随机初始化:生成m个1到p之间的随机数,作为m只蚂蚁的路径起点,即第一个被选择的波长点,并储存到selected(m×V_MAX)矩阵的第一列中,设定j为蚂蚁已选的波长点,初始j=1;步骤(5),蚁群选择过程:对每只蚂蚁,做以下运算:当j<V_MAX时,找出蚂蚁未走过的波长点集合to_visit((p-j)×1);由ACO信息素矩阵Phe(1×p)计算每个波长被选中的概率p,根据概率矩阵P((p-j)×1),用轮盘赌算法选出下一个被选中的波长点;j的值进行+1操作,重复上述过程至j=V_MAX;步骤(6),选取最优蚂蚁:分别对m个蚂蚁选择的波长点(1×V_MAX)在校正集建立PLS模型,采取留一交叉验证的方法,得到相应的RMSECV值;对比m个PLS模型的RMSECV值,选取RMSECV最小的PLS模型对应的蚂蚁为最优蚂蚁,其选中的波长组合为最优波长组合,记录结果,将对应波长点的PLS系数累加储存;步骤(7),更新AC...

【专利技术属性】
技术研发人员:卢建刚刘彤
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1