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算法)与变量投影重要性系数(VariableImport ...
【技术保护点】
一种基于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系数 ...
【技术特征摘要】
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...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。