基于模拟退火算法的近红外光谱特征波长的选择方法

文档序号:6599174阅读:356来源:国知局
专利名称:基于模拟退火算法的近红外光谱特征波长的选择方法
技术领域
本发明涉及一种近红外光谱特征波长的选择方法,特指用于农产品或食品检测的基于模拟退火算法的近红外光谱特征波长的选择方法。
背景技术
近红外光谱技术是一种高速、精确和绿色的光谱分析技术,被广泛运用于农产品 品质检测、食品分析等方面。近红外光谱技术的基本原理是近红外光谱中包含分子中单个 化学键基频震动的倍频和合频信息,主要是含氢基团X-H(H为C、N、0)的倍频和合频震动的 叠加。将光谱与样品质量参数进行关联,确定两者的定量或定性关系即校正模型,通过将未 知样品近红外光谱和校正模型可预测样品的定量或定性信息。近红外光谱技术拥有众多优 点,但其不足之处是近红外光谱技术是一种间接的分析技术,光谱中包含了大量的信息, 但信息强度低且谱峰重叠,如何高效的从全光谱中选择同样品高度相关的特征波长,是得 到最优近红外光谱模型的关键,为了克服上述不足,需对近红外光谱的特征波长进行选择。申请号为200510038528. 9,名称为“基于间隔偏最小二乘法的农产品、食品近红外 光谱谱区选择方法”的专利申请公开一种基于间隔偏最小二乘法的农产品、食品近红外光 谱区间选择方法,该方法按照建模者的经验,将全光谱划分为若干个子区间,分别用每个子 区间内包含的所有波数点集合建立偏最小二乘模型,如此每个子区间对以一个偏最小二乘 模型,选择建模效果最好的区间作为特征子区间,并以该区间对应的偏最小二乘模型作为 近红外光谱的间隔偏最小二乘模型。该方法能够运用于实际运用,但是该方法的不足之处 是;区间的划分是依照个人经验进行的,缺乏科学依据;假设了特征波长都集中在所划分 的某个子区间内,且子区间内所有的波数点都是特征波数点,即没有对子区间内的波数点 进行取舍,而实际建模过程中难以满足如上假设。在近红外波长选择过程中,往往是特征波 长的个数及分布位置不确定,建模中要确定特征波长的个数和分布位置,可以采用组合排 列的知识来解决,如全光谱共有10个波数点为例,设共有1个特征波长,则有Cltl1种解;设 共有2个特征波长,则有Cltl2种解,设共有3个特征波长,则有Cltl3种解,依次类推,可以得到 许多解,最后选择一个效果最好的解作为特征波长。利用排列组合来求解,虽然可以克服间 隔偏最小二乘法选择波长子区间的不足,但是这个求解方式计算量很巨大,计算量随着全 光谱波数点数增加呈指数级增长,无法应用于实际建模过程。模拟退火算法是基于Mote Carlo迭代求解策略的一种随机寻优算法,其出发点是 基于物理退火过程与组合优化之间的相似性。模拟退火算法由一较高初温开始,利用具有 概率突跳性的Metropolis抽样策略在待选解组合中进行随机搜索,伴随温度不断下降重 复抽样过程,最终得到问题的全局最优解,适用解决大规模组合优化问题。

发明内容
本发明的目的是为克服上述现有技术的不足,提出了一种基于模拟退火算法优选 近红外光谱特征波长的方法,延续排列组合的特征波数点求解并降低计算量。
本发明采用的技术方案是包含如下步骤先对近红外光谱进行预处理,包括对校 正集和预测集样本的划分;从预处理后的近红外光谱的全光谱中挑选最少波数点数,重复 随机选择k个波数点;用被选中的k个不相同的波数点建立校正集和预测集的初始PLS模 型,计算对应初始PLS模型的交互验证均方根误差值RMSECV,用于模拟退火算法中目标函 数值的计算过程;然后采用模拟退火算法从全光谱中选择同校正集化学值高度相关的最优 k个波数点,使窗口宽度动态递增以确保模拟退火保算法得到全局最优解;最后重复上述 步骤,在模拟退火算法结束时比较各个窗口宽度下波数点集合对应的建模效果,得出最佳 窗口宽度和最佳波数点组合,建立校正集和预测集的最终PLS模型。本发明采用上述技术方案的有益效果是通过窗口宽度动态递增,消除人工指定窗口 宽度带来的主观因素影响,使得窗口宽度的选择具有科学依据;采用Metropolis准则判断入选 波数点的重要性,既保证了算法快速收敛,同时又避免了模拟退火算法陷入局部最优解而错过 全局最优解。基于模拟退火算法优选波长点建立的光谱模型,具有更高的可靠性和精度。
以下结合附图和具体实施方式
对本发明作进一步详细说明。

图1是本发明方法的流程图;图2是新解转移概率曲线图;图3是Metropolis接受准则示意图。
具体实施例方式本发明先对近红外光谱进行预处理,常用的光谱预处理方法有SNV (标准正交变 换)、MSC(多元散射校正)、小波变换等,光谱预处理过程还包括对校正集和预测集样本的 划分。预处理后的近红外光谱是指用适当的消噪方法处理农产品、食品原始近红光谱后得 到的光谱,可消除数据采集过程中仪器信号漂移,环境条件波动引起的噪声。消噪方法包括 标准正交变化、多元散射校正、中心化、一阶/ 二阶导数预处理方法等。对预处理后的近红外光谱,在算法开始运行时,从全光谱中挑选最少波数点数,指 定模拟退火算法的起始点,此时的窗口宽度为初始窗口宽度k。当初始窗口宽度为k。时, 随机从全光谱中选择k个波数点,被选中的k个波数点中,两两不能相同,即不重复随机选 择k个波数点。用被选中的k个波数点,建立校正集和预测集的初始PLS (偏最小二乘法) 模型,计算对应初始PLS模型的交互验证均方根误差值RMSECV、预测集均方根误差、校正集 相关系数、预测集相关系数等建模参数,得到的交互验证均方根误差值RMSECV用于模拟退 火算法中目标函数值的计算过程。采用模拟退火算法选择出最优k个波数点后,窗口宽度 动态递增以确保算法可以得到全局最优解,然后重复上述过程并在算法结束时比较各个窗 口宽度下波数点集合对应的建模效果,得出最佳窗口宽度和最佳波数点组合,建立校正集 和预测集的最终PLS模型。上述采用模拟退火算法选取最优k个波数点,是模拟固体退火现象中固体随着自 身温度下降而逐渐达到稳定状态的原理,从全光谱中选择同校正集化学值高度相关的k个 波数点,在采用模拟退火算法选择最优k个波数点前先需确定如下参数(1)目标函数f(x)目标函数的作用是判断当前解χ的质量,一般情况下f(x)值越高,代表当前解X质量越好。模拟退火算法的目标是优选特征波数点集合,当前被选入的 波数点集合被看成是当前解X,目标函数f(X)定义为1/(1+RMSECV),其中RMSECV为入选波 数点PLS校正模型对应的交互验证均方根误差。(2)起始温度、对应于固体退火过程中的初始温度,通常设置初始温度为200 1000 度。(3)温度衰减函数g(a)用于控制固体退火过程中的温度冷却速率,通常设tk+1 =tkg(a) = a tk, α取值范围通常为0. 5 0. 99。(4)结束温度tf 当退火温度达到结束温度时,固体将达到某一稳定状态,固体退 火过程结束,一般设置退火温度tf为0度左右。(5)马尔可夫链长度Lk 指当温度为t时,算法搜索迭代的次数。(6)Metropolis (人名)接受新解准则Metropolis准则根据旧解、新解对应的目 标函数,判断旧解、新解中哪个解是重要解,如果新解被认为是重要解,则用新解取代旧解 进入下一次迭代;反之则维持旧解不变。针对优选特征波长问题,假设第m次迭代过程中选 ATk个波数点,记为旧解X,在第m+1次迭代过程中,在旧解χ的基础上替换少数波数点得 到新解y ;旧解X、新解y对应的目标函数值分别为f (X)和f (y),那么基于如下Metropolis 准则判断旧解χ、新解y的重要性当f(y) > f(x)时,新解y为重要解,否则判断下式
Pt
是否成立,其中Pt是新解转移概率,r由范围为0 1的均
勻概率密度函数随机产生;如果上式成立,则认为新解1是重要解,否则认为旧解X是重要解。(7)初始窗口宽度k。表示算法从全光谱中选择的最少特征波数点个数。(8)结束窗口宽度kf 表示算法从全光谱中选择的最多特征波数点个数。(9)窗口宽度递增步长kd:表示窗口动态递增过程中每次窗口增长的宽度。(10)波数点交换个数Cn 表示由旧解产生新解过程中,两者之间变动的波数点个 数。采用模拟退火算法选择最优k个波数点具体步骤如下(1)温度为t = t。时,从全光谱中随机选择k (初始窗口宽度)个波数点作为旧解
X ;(2)在旧解χ和未选中的剩余波数点中随机选择Cn个波数点,交换后产生新解y ;(3)计算新解y、旧解χ的目标函数值f(y)、f(x);(4)根据(3)的计算结果,采用Metropolis接受新解准则判断新解y、旧解χ的重 要性;(5)判断迭代次数是否等于马尔可夫链长度Lk,如果不等于则重复步骤(2) (5);如果等于,则执行下步骤(6);(6)根据温度衰减函数降低冷却温度t ;(7)判断是否达到结束温度tf,没有达到结束则重复执行(2) (7),否则执行步 骤⑶;(8)以窗口宽度步长kd递增窗口宽度,重复执行⑵ (8),直至达到结束窗口宽 度kf进入步骤(9);
(9)返回最佳窗口宽度和特征波数点组合。 如图1所示,本发明的具体步骤如下( 1)当窗口宽度k = ko时,随机从全光谱中挑选出k个不相同的波数点,作为初始 解X,,该解是算法在全局范围内搜索最优解的出发点。(2)确定初始解χ后,退火温度t从起始温度t0开始,根据温度衰减函数g ( α )徐 徐降低,每当温度t降低时,程序执行Lk次马尔可夫链寻找当前温度对应的优化解。(3)搜寻优化解的详细过程如下在旧解χ包含的波数点和没有选入χ的剩余波 数点中分别选择Cn个波数点进行交换,把交换波数点后得到的解称为新解y。根据目标函 数分别计算旧解X、新解y对应的目标函数值f(x)、f(y),将计算所得的f(x)、f(y)代入 Metropolis准则中判断x、y的重要性,如果y为重要解,则用新解y代替旧解χ执行下一 次马尔科夫链;如果y不是重要解,则保持旧解χ不变并执行下一次马尔科夫链。(4)反复执行上述过程至退火温度达到结束温度时,保存当前窗口宽度k = k0时 对应的最优解,并按k = k+kd的方式递增,按照相同步骤计算新窗口宽度对应的最优解,重 复上述过程直到窗口宽度k大于结束窗口宽度kf。此时已经得到了不同窗口宽度ke [k0, kf]对应的优化解.(5)从上述优化解中选择目标函数值最大的解记为xk,xk为近红外光谱的全局最 优特征波数点集合,下标k为取得最优解时对应的最优窗口宽度。(6)根据选出的全局最优解建立校正集与预测集的最终PLS模型。图2显示了新解转移概率曲线图,新解转移概率由根据函数&■计
算,Pt受到两方面因素影响,分别是新解y、旧解χ目标函数差和退火温度t。下面结合图2 中的曲线详细说明这两个参数是如何影响Pt。图2中横坐标代表新解y、旧解χ目标函数 差,纵坐标代表新解转移概率Pt ;图2中y = e°_lx对应的曲线表示退火温度t = 10,用于讨 论退火温度较低时的情况,y = e°_°5x对应的曲线表示退火温度t = 20,用于讨论退火温度 较高时的情况。先讨论横坐标为正的情况,即f(y)_f(x) >0(新解y优于旧解X),此时pt >1,必然有?〖>1~£
成立,新解被接受,与实际情况符合。当横坐标为负的情况时, 即f(y)-f(x) <0(新解7不优于旧解。,不妨假设1’ =f(y)-f(x) <0对应图中垂直于 X轴的虚线,由图中虚线可以看出,t = 20时对应的pt要高于t = 10时对应的pt,在温度 高时,恶化解(新解y)被接受的概率要高于退火温度低时。由此可以得出如下结论,在采 用模拟退火算法优选特征波长的前期,退火温度较高,恶化解被接受的概率较高,能有效的 防止算法陷入局部最优解;在采用模拟退火算法优选特征波长的后期,退火温度较低,恶化 解被接受的概率较小,有利用算法的平稳收敛。图3显示了 Metropolis准则判断新解旧解重要性的过程。将新解转移概率pt和 随机概率密度函数r e
进行比较,如果pt > r成立则表示新解被接受,否则维持旧 解不变。具体判断过程如下dDMetropolis准则首先计算旧解χ新解y对应的目标函数 值f (x)f (y) ; (2)生产随机概率密度函数值r ; (3)计算新解转移概率;(4)比较新解转移概 率Pt和随机概率函数值r的大小,若pt大于或者等于r,则用新解代替旧解,否则,旧解保 持不变。根据此准则可以得出如下Metropolis准则不但可以接受优化解,而且能够以一 定的概率接受恶化解,为避免算法陷入局部最优解提供了保障。
权利要求
一种基于模拟退火算法的近红外光谱特征波长的选择方法,其特征是包括如下步骤1)对近红外光谱进行预处理,包括对校正集和预测集样本的划分;2)从预处理后的近红外光谱的全光谱中挑选最少波数点数,重复随机选择k个波数点;3)用被选中的k个不相同的波数点建立校正集和预测集的初始PLS模型,计算对应的初始PLS模型的交互验证均方根误差值RMSECV,模拟退火算法中目标函数值的计算过程;4)采用模拟退火算法从全光谱中选择同校正集化学值高度相关的最优k个波数点,使窗口宽度动态递增以确保模拟退火保算法得到全局最优解;5)重复步骤4),在模拟退火算法结束时比较各个窗口宽度下波数点集合对应的建模效果,得出最佳窗口宽度和最佳波数点组合,建立校正集和预测集的最终PLS模型。
2.根据权利要求1所述的基于模拟退火算法的近红外光谱特征波长的选择方法,其特 征是步骤3)中采用模拟退火算法选择最优k个波数点前先需确定如下参数目标函数f (χ)为优选特征波数点集合,当前被选入的波数点集合被看成是当前解X, 目标函数f (χ)定义为1/(1+RMSECV);起始温度、对应于固体退火过程中的初始温度,为200 1000度; 温度衰减函数g(a)用于控制固体退火过程中的温度冷却速率,设tk+1 = tkg(a)= α tk,α取值范围通常为0. 5 0. 99 ; 结束温度tf 为0度左右;马尔可夫链长度Lk 当温度为t时,算法搜索迭代的次数;Metropolis接受新解准则根据旧解χ、新解y对应的目标函数f (x)、f (y)判断旧解、 新解中哪个解是重要解,如果新解被认为是重要解,则用新解取代旧解进入下一次迭代,反 之则维持旧解不变;初始窗口宽度k。模拟退火算法从全光谱中选择的最少特征波数点个数; 结束窗口宽度kf 从全光谱中选择的最多特征波数点个数; 窗口宽度递增步长kd 窗口动态递增过程中每次窗口增长的宽度; 波数点交换个数cn 由旧解χ产生新解y过程中两者之间变动的波数点个数。
3.根据权利要求2所述的基于模拟退火算法的近红外光谱特征波长的选择方法,其特 征是采用模拟退火算法选择最优k个波数点具体步骤如下(1)温度为t= t。时,从全光谱中随机选择k个波数点作为旧解χ ;(2)在旧解χ和未选中的剩余波数点中随机选择Cn个波数点,交换后产生新解y;(3)计算新解y、旧解χ的目标函数值f(y)、f(x);(4)根据步骤(3)的计算结果采用Metropolis接受新解准则判断新解y、旧解χ的重 要性;(5)判断迭代次数是否等于马尔可夫链长度Lk,如果不等于则重复步骤(2) (5);如 果等于,则执行下步骤(6);(6)根据温度衰减函数降低冷却温度t;(7)判断是否达到结束温度tf,没有达到结束则重复执行⑵ (7),否则执行步骤(8);(8)以窗口宽度步长kd递增窗口宽度,重复执行(2) (8),直至达到结束窗口宽度kf,进入步骤(9);(9)返回最佳窗口宽度和特征波数点组合。
全文摘要
本发明公开一种基于模拟退火算法的近红外光谱特征波长的选择方法,挑选最少波数点数,重复随机选择k个波数点;建立校正集和预测集的初始PLS模型,计算对应初始PLS模型的交互验证均方根误差值;用模拟退火算法从全光谱中选择同校正集化学值高度相关的最优k个波数点,使窗口宽度动态递增以确保模拟退火保算法得到全局最优解;结束时比较各个窗口宽度下波数点集合对应的建模效果,得出最佳窗口宽度和最佳波数点组合,建立最终PLS模型。本发明通过窗口宽度动态递增,消除人工指定窗口宽度带来的主观因素影响,采用Metropolis准则判断入选波数点的重要性,既保证算法快速收敛,又避免了模拟退火算法陷入局部最优解而错过全局最优解,具有更高的可靠性和精度。
文档编号G06F19/00GK101806728SQ20101012393
公开日2010年8月18日 申请日期2010年3月12日 优先权日2010年3月12日
发明者殷晓平, 石吉勇, 蔡建荣, 赵杰文, 邹小波, 陈全胜, 陈正伟, 黄星奕 申请人:江苏大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1