基于模拟退火-遗传算法近红外光谱特征子区间选择方法

文档序号:5868718阅读:152来源:国知局
专利名称:基于模拟退火-遗传算法近红外光谱特征子区间选择方法
技术领域
本发明涉及一种对农产品、食品品质进行分析的近红外光谱特征子区间的选择方法,特指一种基于模拟退火-遗传算法的近红外光谱特征子区间的选择方法。
背景技术
近红外光谱因分析速度快、效率高等特点越来越广泛地运用到农产品、食品品质 分析中,但近红外光谱也存在一定的不足,如背景复杂、信息强度低,谱峰重叠等,难以用常 规的谱图解析方法解析,因此,如何有效地从大量近红外光谱数据中提取特征信息成为本 领域研究的重点。样品在近红外光谱的某个或者某几个波段发生特征吸收,决定了高信息量波数点 邻近的波数点具有较高的信息量,即近红外光谱数据具有一定的连续相关性。根据近红外 光谱数据的这一特点,兼顾减少波长选择算法计算量,提高算法效率等要求,通常将近红外 全光谱分成若干个子区间,以区间为单位进行波长选择。经典光谱区间选择算法有间隔偏 最小二乘法,该算法将全光谱分成若干个子区间,分别计算各个子区间的交互验证均方根 误差值RMSECV(Root Mean Square of Cross Validation),将交换验证均方根误差最小的 一个区间作为建模区间。间隔偏最小二乘算法的衍生算法有联合区间偏最小二乘法、向前/ 向后区间偏最小二乘算法、移动窗口偏最小二乘法等,同经典区间偏最小二乘算法相比,衍 生算法不仅考察单一区间,还有几个区间的联合。这些算法虽然能提取光谱的特征信息,但 划分子区间的过程具有一定的主观性。遗传算法是20世纪70年代兴起的一门新兴学科,它基于对生物界自然选择和自 然遗传机制的模拟来解决实际问题,是一种具有高度的并行、随机和自适应性的搜索算法。 近年来有学者将遗传算法同经典间隔偏最小二乘算法相结合,用于选择近红外光谱的特征 子区间,模拟自然界遗传变异等自然进化过程,求解特征子区间的最优组合,但仍然存在一 些不足,如划分子区间往往依靠经验进行,具有一定的主观性;遗传算法容易发生过早收敛 而陷入局部最优解,不能确保得到全局最优近似解等。模拟退火算法是基于Mote Carlo迭代求解策略的一种随机寻优算法,其出发点是 基于物理退火过程与组合优化之间的相似性。模拟退火算法由一较高初温开始,利用具有 概率突跳性的Metropolis抽样策略在待选解组合中进行随机搜索,伴随温度不断下降重 复抽样过程,最终得到问题的全局最优解,适用解决大规模组合优化问题。

发明内容
为克服现有技术中近红外光谱划分子区间具有一定主观性的不足,确保得到全局 最优近似解,本发明提出了一种基于模拟退火-遗传算法近红外光谱特征子区间选择方 法,将模拟退火算法中的核心Metropolis接受准则引入遗传算法,在保证遗传算法执行效 率的基础上防止过早的陷入局部最优解,从而得到近红外光谱特征子区间的最优组合。本发明采用的技术方案是先对近红外光谱进行预处理,再对预处理后的近红外光谱动态划分子区间,将模拟退火算法中的Metropolis准则引入遗传算法中的基因交换 和基因选择算子,使用模拟退火-遗传算法选择最优特征子区间,最后判断最佳子区间划 分方式和最优特征子区间组合,对入选的最优特征子区间建立PLS模型。本发明采用上述技术方案后得到以下效果1、将模拟退火算法中的Metropolis准则引入交换算子和变异算子,通过改进后 的变异和交换算子产生高质量的子代个体,既提高了群体总体的适应度水平,又为种群进 化提供了足够动力。2、Metr0p0lis准则的引入有效地解决了传统遗传算法过早收敛、陷入局部最优解 的不足;动态划分光谱子区间,有效地避免了建模过程中依靠经验人工指定光谱子区间总 数带来的不足。3、基于模拟退火-遗传算法的近红外光谱特征子区间选择方法为快速得到精度 高、预测能力强的光谱模型打下了坚实的基础。
以下结合附图和具体实施方式
对本发明作进一步详细说明。

图1是本发明流程图;图2是Metropolis接受准则示意图;图3是引入Metropolis准则的交换算子示意图;图4是引入Metropolis准则的变异算子示意图;图5是模拟退火_遗传算法特征子区间选择结果图;图6是模拟退火_遗传算法与传统遗传算法建模效果比较结果图;图7是标准正交变换预处理后的黄瓜叶叶黄素近红外光谱图。
具体实施例方式本发明先对近红外光谱进行预处理,用适当的消噪方法处理农产品、食品原始近 红光谱后得到的光谱,消噪方法包括标准正交变化、多元散射校正、中心化、一阶/ 二阶导 数预处理方法等;同时光谱预处理过程还包括对校正集和预测集样本的划分。对预处理后 的近红外光谱动态划分子区间,划分子区间时,子区间数在一个范围[m,n]内动态变化。算 法后续处理将在[m,n]范围内选取最优特征子区间数,当光谱子区间数为k e [m,n]时,全 光谱等分为k个子区间,如果总波数点数除以k等于P,存在余数q,则前q个子区间中每个 子区间波数点个数为P+1,剩余子区间中每个子区间波数点个数为P。模拟退火算法中Metropolis准则是指模拟退火算法中用于判断新解、旧解重要 性的一种判断法则。Metropolis准则根据旧解、新解对应的目标函数值,判断旧解、新解中 哪个解是重要解,如果新解被认为是重要解,则用新解取代旧解进入下一次迭代;反之则维 持旧解不变。针对最优特征子区间问题,假设旧解X、新解y对应的目标函数值分别为f (χ) 和f (y),那么基于如下Metropolis准则判断旧解χ、新解y的重要性当f (y) > f(x)时,
新解为重要解,否则判断下式凡=exp(f(x)-f(y)/t))>r [O, 1]是否成立,其中Pt是新解转移概率,r由范围为0 1的均勻概率密度函数随机产生;如果上式成立,则认为新解y是重要解,否则认为旧解X是重要解。本发明将上述模拟退火算法中的Metropolis准则引入遗传算法中的基因交换和 基因选择算子,称为“模拟退火_遗传算法”,即在传统基因交换算子和基因变异算子时,父 辈染色体通过基因交换或者基因变异产生子代染色体,引入Metropolis准则判断父辈染 色体(对应旧解χ)和子代染色体(对应新解y)的重要性,如果子代染色体比父辈染色体 重要,则接受子代染色体,否则拒绝子代染色体。使用模拟退火-遗传算法选择光谱最优特征子区间,结合引入Metropo 1 i s准则的 基因交换、基因变异算子和传统遗传算法的其它算子,对划分子区间后的近红外光谱选择 最优特征子区间,智能判断最佳子区间划分方式和最优特征子区间组合,对入选的最优特 征子区间建立校正集和预测集的PLS模型,并计算校正集均方根误差、预测集均方根误差、 校正集相关系数、预测集相关系数等建模参数。本发明划分子区间以及选择最优特征子区间需要设置如下参数(1)最小子区间数Itl 指至少将全光谱划分为Itl个子区间。(2)最大子区间数If 指至多将全光谱划分为If个子区间。(3)目标函数f (χ)目标函数的作用是判断当前解χ的质量,一般情况下f (X)值 越高,代表当前解χ的质量越好。本发明模拟退火-遗传算法的目标是优选特征子区间,当 前被选入所有特征子区间被看成是当前解X,目标函数定义为f(x) = 1/(1+RMSECV),其中 RMSECV为选入的所有区间PLS模型对应的交互验证均方根误差值。(4)基因编码由于遗传算法不能直接处理二位近红外光谱数据,需要通过二进 制编码将它们表示成遗传空间的基因型串结构数据,1表示对应位置的基因被选中,0则表 示对应位置的基因没有被选择。如0011001101,表示染色体共有10个基因,其中第3、4、7、 8、10位置对应基因被选中。(5)种群大小指种群中染色体的个数和每个染色体中基因的多少,其中基因的 多少一般根据实际问题的参数决定。针对特征子区间选择问题,一般选择染色体数为30 100,基因的个数等于子区间的个数。(6)基因交换概率P。基因交换过程中,参与基因交换的染色体个体占染色体总数 的比率,一般设置基因交换概率为0. 65 0. 9.(7)基因变异概率Pm 基因变异过程中,参与基因变异的染色体个体占染色体总是 的比率,一般设置基因变异概率为0. 001 0. 1。(8)初始化温度、对应于固体退火过程中的初始温度,通常设置初始温度为 200 1000 度。(9)温度衰减函数g(a )用于控制固体退火过程中的温度冷却速率,通常设tk+1 =tkg(a) = a tk, α取值范围通常为0. 5 0. 99。(10)结束温度、当退火温度达到结束温度时,固体将达到某一稳定状态,固体退火过程结束,一般设置退火温度tf为0度左右。对划分特征子区间后的近红外光谱选择最优特征子区间采用如下处理步骤(1)子区间数为i时,将近红外光谱划分为i个子区间,进行二进制基因编码,基因 个数为子区间数i。(2)染色体初始化,随机产生给定大小的初始群体。
(3)温度为t时,计算群体中染色体的目标函数f (χ),采用选择算子选择适应度高 的个体,淘汰适应度低的个体,实现种群的优胜劣汰。(4)采用将模拟退火算法中的Metropolis准则引入遗传算法中的改进后的基因 交换算子、基因变异算子进行基因交换和基因变异操作。(5)根据温度衰减函数g( α )减低温度t,如果t不等于结束温度tf,重复执行步 骤(3) (4),如果等于结束温度tf,则执行步骤(6)。(6)子区间数i增加1,如果i不等于最大子区间数If,则重复执行(1) (5),如 果i等于最大子区间数If,则执行步骤(7)。(7)判断最佳子区间总数及选中的最优特征子区间。本发明基于模拟退火_遗传算法近红外光谱特征子区间选择方法的具体步骤如 图1所示,对近红外光谱进行预处理后,当子区间总数i = Io时,对全光谱进行特征子区间 划分,并进行二进制基因编码,随机初始化种群。确定初始种群后,退火温度t从起始温度 to开始,根据温度衰减函数g( α )徐徐降低,每当温度t降低时,计算种群中每个个体的适 应度,通过染色体选择算子选择父辈染色体,根据改进后的基因交换算子进行基因交换,根 据改进后的基因变异算子进行基因变异,反复执行上述过程至退火温度达到结束温度时, 保存子区间总数i = IO时对应的最优解,并按i = i+1的方式递增,按照相同步骤计算新 子区间总数对应的最优解,重复上述过程直到子区间总数i大于结束窗口宽 度If。此时已 经得到了不同子区间总数i e [10,If]对应的优化解,从这些优化解中选择目标函数值最 大的解记为Xi,Xi为近红外光谱的全局最优特征子区间集合,下标i为取得最优解时对应的 子区间总数。最后,根据选出的全局最优解建立校正集与预测集模型。如图2,显示了 Metropolis准则判断新解旧解重要性的过程。将新解转移概率pt 和随机概率密度函数r e
进行比较,如果Pt >r成立则表示新解被接受,否则维持 旧解不变。具体判断过程如下dDMetropolis准则首先计算旧解χ新解y对应的目标函 数值f (x)f (y) ; (2)生产随机概率密度函数值r ; (3)计算新解转移概率;(4)比较新解转移 概率pt和随机概率函数值r的大小,若pt大于或者等于r,则用新解代替旧解,否则,旧解 保持不变。根据此准则可以得出如下Metropolis准则不但可以接受优化解,而且能够以 一定的概率接受恶化解,为避免算法陷入局部最优解提供了保障。图3图4显示了改进后的基因交换算子和基因变异算子流程图,因为改进后的基 因交换算子和改进后的基因变异算子类似,以改进后的基因交换算子为例,详细说明该算 子的工作流程。在传统遗传操作的基础上引进了模拟退火算法中的Metropolis接受准则, 在原来基础上增大正变异发生的概率,减小负变异发生概率,保证算法能跳出局部最优解 向全局最优解收敛。交换算子从父辈群体中随机选取父辈个体(记为Pi),通过基因交换产 生子代新个体(记为Ci),分别计算它们的适应度值f (Pi)和f (Ci),按照Metropolis准则 判断是否接受新产生的个体。具体判断过程如图3所示。实施例如图7为经过标准正交变化预处理后的100片黄瓜叶近红外光谱图,光谱范围 10000 4000cm—1,扫描次数为32次;波数间隔为7. 712cm-1 ;分辨率为16cm—1。其中70片 叶子的光谱作为校正集,剩余30片叶子的近红外光谱作为预测集。设定最小、最大子区间 数分别为30、60,群体个数为60,基因交换概率0. 9,基因变异概率0. 01,初始温度200,结束温度0. 1,温度衰减系数0. 95,采用模拟退火-遗传算法选择特征子区间,具体过程如下(1)当子区间数为30时,将全光谱划分为30个子区间,并进行二进制编码;(2)群体染色体数为60,每条染色体基因数为30,对群体进行初始化操作;(3)当温度为200时,计算群体中染色体适应度,采用选择算子选择适应度高的个 体,淘汰适应度低的个体,实现种群的优胜劣汰。(4)采用改进后的基因交换算子、基因变异算子进行基因交换和基因变异操作。(5)根据温度衰减函数减低温度,如果温度不等于结束温度,重复执行步骤(3)
(4),如果等于结束温度,则执行步骤(6)。
(6)子区间数增加1,如果子区间数不等于最大子区间数60,则重复执行⑴
(5),如果子区间数等于最大子区间数60,则执行步骤(7)。(7)判断得到子区间数为40时,选择了 7个子区间,分别为第3、5、14、18、21、32、
33子区间,建立的模型最优。图5为采用模拟退火_遗传算法对黄瓜叶叶黄素近红外光谱特征子区间选择结^ ο图6为模拟退火_遗传算法与传统遗传算法建模黄瓜叶叶黄素模型效果比较结 果,图6中横坐标为建模次数,纵坐标为光谱模型的校正集相关系数,带Δ标志的曲线为采 用模拟退火-遗传算法对黄瓜叶叶黄素近红外光谱建模得到的校正集相关系数,带□标志 的曲线为采用传统遗传算法得到的黄瓜叶叶黄素近红外模型对应的校正集相关系数。从图 6中可以看出,模拟退火-遗传算法得到的光谱模型要优于传统遗传算法建立的光谱模型。
权利要求
一种基于模拟退火-遗传算法近红外光谱特征子区间选择方法,其特征是先对近红外光谱进行预处理,再对预处理后的近红外光谱动态划分子区间,将模拟退火算法中的Metropolis准则引入遗传算法中的基因交换和基因选择算子,使用模拟退火-遗传算法选择最优特征子区间,最后判断最佳子区间划分方式和最优特征子区间组合,对入选的最优特征子区间建立PLS模型。
2.根据权利要求1所述的基于模拟退火_遗传算法近红外光谱特征子区间选择方法, 其特征是划分子区间以及使用模拟退火-遗传算法选择最优特征子区间需设置的参数 为最小子区间数k、最大子区间数If、目标函数f (x)、基因编码、种群大小、基因交换概率 P。、基因变异概率Pm、初始化温度、、温度衰减函数g( a )和结束温度tf。
3.根据权利要求2所述的基于模拟退火_遗传算法近红外光谱特征子区间选择方法, 其特征是选择最优特征子区间采用如下步骤(1)子区间数为i时,将近红外光谱划分为i个子区间进行二进制基因编码,基因个数 为子区间数i ;(2)染色体初始化,随机产生给定大小的初始群体;(3)温度为t时,计算群体中染色体的目标函数f(x),采用选择算子选择适应度高的个 体,淘汰适应度低的个体,实现种群的优胜劣汰;(4)采用将模拟退火算法中的Metropolis准则引入遗传算法中的改进后的基因交换 算子、基因变异算子进行基因交换和基因变异操作;(5)根据温度衰减函数g(a)减低温度t,若t不等于结束温度tf,重复执行步骤(3) (4),若等于结束温度、,则执行步骤(6);(6)子区间数i增加1,若i不等于最大子区间数If,则重复执行(1) (5),若1等于 最大子区间数If,则执行步骤(7);(7)判断最佳子区间总数及选中的最优特征子区间。
4.根据权利要求3所述的基于模拟退火_遗传算法近红外光谱特征子区间选择方法, 其特征是步骤(4)所述改进后的基因交换算子、基因变异算子进行基因交换和基因变异 操作的方法是增大正变异发生的概率,减小负变异发生概率,交换算子从父辈群体中随机 选取父辈个体,通过基因交换产生子代新个体,分别计算其适应度值,按照Metropolis准 则判断是否接受新产生的个体。
5.根据权利要求1所述的基于模拟退火_遗传算法近红外光谱特征子区间选择方法, 其特征是所述模拟退火算法中的Metropolis准则是根据旧解、新解对应的目标函数值判 断旧解、新解中哪个解是重要解,若新解被认为是重要解,则用新解取代旧解进入下一次迭 代;反之则维持旧解不变。
6.根据权利要求1所述的基于模拟退火_遗传算法近红外光谱特征子区间选择方法, 其特征是划分的子区间数在一个范围[m,n]内动态变化,使用模拟退火_遗传算法选择 最优特征子区间在范围[m,n]内选取,当子区间数为k G [m, n]时,全光谱等分为k个子 区间,若总波数点数除以k等于p,存在余数q,则前q个子区间中每个子区间波数点个数为 P+1,剩余子区间中每个子区间波数点个数为P。
全文摘要
本发明公开了一种基于模拟退火-遗传算法近红外光谱特征子区间选择方法,先对近红外光谱进行预处理,再对预处理后的近红外光谱动态划分子区间,将模拟退火算法中的Metropolis准则引入遗传算法中的基因交换和基因选择算子,使用模拟退火-遗传算法选择最优特征子区间,最后判断最佳子区间划分方式和最优特征子区间组合,对入选的最优特征子区间建立PLS模型。本发明通过改进后的变异和交换算子产生高质量的子代个体,既提高了群体总体的适应度水平,又为种群进化提供了足够动力;有效避免了建模过程中依靠经验人工指定光谱子区间总数带来的不足,可快速得到精度高、预测能力强的光谱模型。
文档编号G01N21/00GK101832909SQ20101012393
公开日2010年9月15日 申请日期2010年3月12日 优先权日2010年3月12日
发明者殷晓平, 石吉勇, 蔡建荣, 赵杰文, 邹小波, 陈全胜, 陈正伟, 黄星奕 申请人:江苏大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1