CN101807228B - 基于模拟退火算法的近红外光谱波长子区间选择方法 - Google Patents
基于模拟退火算法的近红外光谱波长子区间选择方法 Download PDFInfo
- Publication number
- CN101807228B CN101807228B CN 201010123945 CN201010123945A CN101807228B CN 101807228 B CN101807228 B CN 101807228B CN 201010123945 CN201010123945 CN 201010123945 CN 201010123945 A CN201010123945 A CN 201010123945A CN 101807228 B CN101807228 B CN 101807228B
- Authority
- CN
- China
- Prior art keywords
- sub
- range
- temperature
- simulated annealing
- interval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 34
- 238000002922 simulated annealing Methods 0.000 title claims abstract description 28
- 238000002329 infrared spectrum Methods 0.000 title claims abstract description 25
- 238000001228 spectrum Methods 0.000 claims abstract description 29
- 238000000137 annealing Methods 0.000 claims description 14
- 238000005457 optimization Methods 0.000 claims description 11
- 238000013016 damping Methods 0.000 claims description 7
- 230000007704 transition Effects 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 claims description 2
- 235000013305 food Nutrition 0.000 abstract description 5
- 238000012937 correction Methods 0.000 abstract description 2
- 239000007787 solid Substances 0.000 description 4
- 230000007812 deficiency Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Landscapes
- Feedback Control In General (AREA)
Abstract
本发明公开了一种对农产品或食品品质进行分析的基于模拟退火算法的近红外光谱波长子区间选择方法,先对近红外光谱进行预处理,将预处理后的近红外光谱的全光谱划分为k个子区间;采用模拟退火算法选择最佳特征子区间的个数及组合方式,选择完成后递增子区间数;再重复执行模拟退火算法,结束时比较各种区间划分方式时的特征子区间最优组合得到全局最优特征子区间组合;最后建立校正集与预测集模型。本发明光谱子区间的划分科学、合理;采用Metropolis准则判断新入选子区间的重要性,保证了算法快速收敛,避免了算法陷入局部最优解而错过全局最优解;减少建模计算量、加快建模速度,在得到全局最优解的前提下快速地获取到高质量的近红外光谱模型。
Description
技术领域
本发明涉及一种对农产品或食品品质进行分析的近红外光谱特征波长特征子区间选择方法,特指基于模拟退火算法的近红外光谱波长特征子区间的选择方法。
背景技术
目前,近红外光谱技术在农产品、食品品质分析方面的运用越来越广泛。但近红外技术本身也存在一定的不足,如背景复杂、信息强度低,谱峰重叠等,使得难以用常规的谱图解析方法解析近红外光谱,如何有效的从大量近红外光谱数据中提取特征信息成为了国内外学者研究的重点。样品在近红外光谱的某个或者某几个波段发生特征吸收,决定了高信息量波数点邻近的波数点也具有较高的信息量,即近红外光谱数据具有一定的连续相关性。根据近红外光谱数据的这一特点,兼顾减少波长选择算法计算量,提高算法效率等要求,通常将近红外全光谱分成若干个子区间,以区间为单位进行波长选择。经典光谱区间选择算法有间隔偏最小二乘法,该算法是将全光谱分成若干个子区间,分别计算各个子区间的交互验证均方根误差RMSECV(Root Mean Square of Cross Validation),将交换验证均方根误差最小的一个区间作为建模区间。间隔偏最小二乘算法的衍生算法有联合区间偏最小二乘法、向前/向后区间偏最小二乘算法、移动窗口偏最小二乘等,同经典区间偏最小二乘算法相比,衍生算法不仅考察单一区间,还有几个区间的联合。这些算法虽然能提取光谱的特征信息,但划分子区间的过程具有一定的主观性,同时,区间组合方式单一,不能确保得到全局最优组合。
模拟退火算法(SAA)是一种适合解决大规模组合化问题,特别是NP完全类问题的通用有效近似算法,具有描述简单、使用灵活、运用广泛、运行效率高和受初始解约束小等有点。
发明内容
为了克服上述技术的不足,本发明提出一种基于模拟退火算法的食品、农产品近红外光谱波长特征子区间选择方法,可客观地划分子区间,区间组合方式不单一,确保得到全局最优组合。
本发明的技术方案是采用如下步骤:1)对近红外光谱进行预处理,包括对校正集和预测集样本的划分,将预处理后的近红外光谱的全光谱划分为k个子区间,若总波数点数除以k等于n,存在余数m,则前m个子区间中每个子区间波数点个数为n+1,剩余子区间中每个子区间波数点个数为n;2)设置最小子区间数Io、最大子区间数If、目标函数f(x)、初始化温度t0、温度衰减函数g(α)、结束温度tf、马尔可夫链长度Lk和Metropolis接受新解准则,采用模拟退火算法选择最佳特征子区间的个数及组合方式,选择完成后,递增子区间数,由子区间总数i=最小子区间数Io开始以i=i+1的方式递增子区间数、直至i大于最大子区间数If时递增结束;3)重复执行模拟退火算法,在模拟退火算法结束时比较各种区间划分方式时的特征子区间最优组合,取目标函数值最大的优化解作为全局最优特征子区间集合;4)根据全局最优特征子区间集合建立校正集与预测集模型;其特征是:所述模拟退火算法的步骤包括:
(1)温度为t=t0时,随机选择m个子区间作为旧解x;
(2)在旧解x和未选中的k-m个子区间中,根据子区间交换函数交换子区间后产生新解y;子区间交换函数h(t)=1-exp(-t),当温度t降低至tn-1时,温度tn-1对应的子区间交换个数cn-1=c*h(t),c是温度为t时对应的子区间交换个数;
(3)计算新解y、旧解x的目标函数f(x)和f(y);
(4)根据(3)的计算结果,采用Metropolis接受新解准则判断新解y、旧解x的重要性;
(5)当温度为t时,算法搜索迭代的次数,判断算法搜索迭代的次数是否等于马尔可夫链长度Lk,如果不等于则重复步骤(2)~(5);否则执行下一个步骤(6);
(6)根据温度衰减函数g(α)降低温度t;
(7)判断温度t是否达到结束温度tf,没有达到结束温度tf则重复执行(2)~(7),否则执行步骤(8);
(8)以i=i+1的方式递增光谱子区间个数,重复执行(2)~(8),直至子区间总数i大于最大子区间数If后进入步骤(9);
(9)返回最佳子区间数和入选的特征子区间,返回最佳子区间和入选的特征子区间的方法是:以i=i+1的方式递增光谱子区间,计算光谱子区间对应的最优解,得到不同子区间总数i∈[I0,If]对应的优化解,从这些优化解中选择目标函数值f(x)最大的解记为xk,xk为入选的特征子区间,xk的下标k为取得最优解时返回的最佳子区间数。
本发明的有益效果是:
1、通过窗口动态递增解决了间隔偏最小二乘建模过程人工划分光谱子区间带来的不足,使得光谱子区间的划分更具科学、合理。
2、采用Metropolis准则判断新入选子区间的重要性,既保证了算法快速收敛,同时又避免了算法陷入局部最优解而错过全局最优解。
3、农产品、食品近红外光谱经过模拟退火算法优选波长子区间后,能减少建模计算量、加快建模速度,在得到全局最优解的前提下快速的获取到高质量、效果更好近红外光谱模型。
附图说明
以下结合附图和具体实施方式对本发明作进一步详细说明。
图1是本发明流程图;
图2是Metropolis接受准则示意图;
图3是子区间个数交换函数图。
具体实施方式
本发明先对近红外光谱进行预处理,光谱预处理是为了消除数据采集过程中仪器信号漂移,环境条件波动引起的噪声,常用的光谱预处理方法有SNV(标准正交变换)、MSC(多元散射校正)、小波变换等,同时光谱预处理过程还包括对校正集和预测集样本的划分。
光谱预处理后,将全光谱划分为k个子区间,如果总波数点数除以k等于n,存在余数m,则前m个子区间中每个子区间波数点个数为n+1,剩余子区间中每个子区间波数点个数为n。将全光谱划分为k个子区间时,采用模拟退火算法选择最佳特征子区间的个数及组合方式,得到特征子区间的最优组合,完成后递增光谱子区间数,再重复执行模拟退火算法,并在算法结束时比较各种区间划分方式时的特征子区间的最优组合,从而得到全局最优特征子区间组合,并给出建模结果。
本发明在用模拟退火算法选择最佳特征子区间的个数及组合方式时,需设置以下参数
最小子区间数Io:指至少将全光谱划分为Io个子区间。
最大子区间数If:指至多将全光谱划分为If个子区间。
目标函数f(x):目标函数的作用是判断当前解x的质量,一般情况下f(x)值越高,代表当前解x的质量越好。本模拟退火算法的目标是优选特征子区间,当前被选入所有特征子区间被看成是当前解x,目标函数f(x)定义为1/(1+RMSECV),其中RMSECV为选入的所有子区间PLS校正模型对应的交互验证均方根误差。
初始化温度t0:对应于固体退火过程中的初始温度,通常设置初始温度为200~1000度。
温度衰减函数g(α):用于控制固体退火过程中的温度冷却速率,通常设tk+1=tkg(α)=αtk,α取值范围通常为0.5~0.99。
结束温度tf:当退火温度达到结束温度时,固体将达到某一稳定状态,固体退火过程结束,一般设置退火温度tf为0度左右。
马尔可夫链长度Lk:指当温度为t时,算法搜索迭代的次数。
Metropolis(人名)接受新解准则:Metropolis准则根据旧解、新解对应的目标函数,判断旧解、新解中哪个解是重要解,如果新解被认为是重要解,则用新解取代旧解进入下一次迭代;反之则维持旧解不变。本发明针对优选特征子区间,第m次迭代过程中选入了k个子区间,记为旧解x,在第m+1次迭代过程中,在旧解x的基础上替换少数子区间得到新解y;旧解x、新解y对应的目标函数值分别为f(x)和f(y),那么Metropolis准则基于如下规则判断旧解x、新解y的重要性:当f(y)>f(x)时,新解为重要解,否则判断下式 是否成立,其中Pt是新解转移概率,r由范围为[0,1],的均匀概率密度函数随机产生;如果上式成立,则认为新解是重要解x,否则认为旧解是重要解y。
子区间交换函数h(t):随着退火温度逐渐降低,将向全局最优解逼近,模拟退火算法根据旧解产生新解过程中需要交换子区间的个数逐渐减少,设计如下子区间个数交换函数:h(t)=1-exp(-t),当温度由t降低至tn-1时,对应子区间交换个数分别为c和cn-1,它们与交换函数的关系由以下公式确定:cn-1=c*h(t)。
本发明在以上参数设置的基础上,按如下步骤实施模拟退火算法:
(1)将全光谱划分为k个子区间,温度为t=t0时,随机选择m个子区间作为旧解x;
(2)在旧解x和未选中的k-m个子区间中,根据子区间交换函数交换子区间后产生新解y;
(3)计算新解y、旧解x的目标函数值;
(4)根据(3)的计算结果,采用Metropolis接受新解准则判断新解y、旧解x的重要性;
(5)判断迭代次数是否等于马尔可夫链长度Lk,如果不等于则重复步骤(2)~(5);否则执行下步骤(6);
(6)根据温度衰减函数g(α)降低冷却温度t;
(7)判断是否达到结束温度tf,没有达到结束tf则重复执行(2)~(7),否则执行步骤(8);
(8)递增光谱子区间个数,重复执行(2)~(8),直至计算完最大光谱子区间数后进入步骤(9);
(9)返回最佳子区间数和入选的特征子区间;
如图1,本发明的主要流程如下:
(1)当子区间总数i=Io时,随机从全光谱中挑选出k个不相同的子区间,作为初始解x。
(2)确定初始解x后,退火温度t从初始化温度t0开始,根据温度衰减函数g(α)徐徐降低,每当温度t降低时,程序执行Lk次马尔可夫链寻找当前温度对应的优化解。
(3)搜寻优化解的详细过程如下:在旧解x包含的子区间和没有选入x的剩余子区间中根据子区间交换函数h(t)进行特征子区间交换,把交换子区间后得到的解称为新解y。
(4)根据目标函数分别计算旧解x、新解y对应的目标函数值f(t)、f(y),将计算所得的f(x)、f(y)代入Metropolis准则中判断x、y的重要性,如果y为重要解,则用新解y代替旧解x执行下一次马尔科夫链;如果y不是重要解,则保持旧解x不变并执行下一次马尔科夫链。
(5)反复执行步骤(4)的过程至退火温度达到结束温度tf时,保存子区间总数i=Io时对应的最优解,并按i=i+1的方式递增。
(6)按照相同步骤计算新子区间总数对应的最优解,重复上述过程直到子区间总数i大于结束窗口宽度If。此时已经得到了不同子区间总数i∈[I0,If]对应的优化解。
(7)从这些优化解中选择目标函数值f(x)最大的解记为xk,xk为近红外光谱的全局最优特征子区间集合,下标k为取得最优解时对应的子区间总数。
(8)根据选出的全局最优解建立校正集与预测集模型。
图2显示了Metropolis准则判断新解旧解重要性的过程。将新解转移概率pt和随机概率密度函数r∈[0,1]进行比较,如果pt>r成立则表示新解被接受,否则维持旧解不变。具体判断过程如下:(1)Metropolis准则首先计算旧解x新解y对应的目标函数值f(x)f(y);(2)生产随机概率密度函数值r;(3)计算新解转移概率pt;(4)比较新解转移概率pt和随机概率函数值r的大小,若pt大于或者等于r,则用新解代替旧解,否则,旧解保持不变。根据此准则可以得出如下:Metropolis准则不但可以接受优化解,而且能够以一定的概率接受恶化解,为避免算法陷入局部最优解提供了保障。
图3显示了子区间交换函数h(t)随退火温度降低时的变化曲线,下面结合该图显示说明该函数随退火温度的变化规律。设计子区间交换函数h(t)=6(1-exp(-t/50))指定根据旧解产生新解时,需要交换的子区间的个数。图3中横坐标为退火温度,纵坐标为交换的函数值。由于h(t)包含小数,而子区间交换个数必须为整数,因此定义子区间交换个数n为h(t)+1的整数部分。从图3中可以看出,随着退火温度逐渐降低,h(t)逐渐变小。如此设计该函数是基于如下原因,在模拟退火算法优选特征子区间的前期,搜索的初始解是随机产生的,因此该初始解的质量是不确定的,为了让初始解向全局最优解靠近,需要扩大搜索方向,也就是要求解进行大面积的交换,所以要求较大的子区间交换数;而在优选特征子区间的后期,解经过前期大量的交换、Metropolis准则判断验证,解的质量已经较高,只要求较小的交换子区间以达到更好的质量,所以只要较小的子区间交换数就可以满足要求,综合上述原因,本发明设计了该函数,该函数的特征是:在温度较高时,对应较大的子区间交换个数,而在温度较低时,对应较小的子区间交换个数。
Claims (3)
1.一种基于模拟退火算法的近红外光谱波长子区间选择方法,采用如下步骤:
1)对近红外光谱进行预处理,包括对校正集和预测集样本的划分,将预处理后的近红外光谱的全光谱划分为k个子区间,若总波数点数除以k等于n,存在余数m,则前m个子区间中每个子区间波数点个数为n+1,剩余子区间中每个子区间波数点个数为n;
2)设置最小子区间数Io、最大子区间数If、目标函数f(x)、初始化温度t0、温度衰减函数g(α)、结束温度tf、马尔可夫链长度Lk和Metropolis接受新解准则,采用模拟退火算法选择最佳特征子区间的个数及组合方式,选择完成后,递增子区间数,由子区间总数i=最小子区间数Io开始以i=i+1的方式递增子区间数、直至i大于最大子区间数If时递增结束;
3)重复执行模拟退火算法,在模拟退火算法结束时比较各种区间划分方式时的特征子区间最优组合,取目标函数值最大的优化解作为全局最优特征子区间集合;
4)根据全局最优特征子区间集合建立校正集与预测集模型;
其特征是:所述模拟退火算法的步骤包括:
(1)温度为t=t0时,随机选择m个子区间作为旧解x;
(2)在旧解x和未选中的k-m个子区间中,根据子区间交换函数交换子区间后产生新解y;子区间交换函数h(t)=1-exp(-t),当温度t降低至tn-1时,温度tn-1对应的子区间交换个数cn-1=c*h(t),c是温度为t时对应的子区间交换个数;
(3)计算新解y、旧解x的目标函数f(x)和f(y);
(4)根据(3)的计算结果,采用Metropolis接受新解准则判断新解y、旧解x的重要性;
(5)当温度为t时,算法搜索迭代的次数,判断算法搜索迭代的次数是否等于马尔可夫链长度Lk,如果不等于则重复步骤(2)~(5);否则执行下一个步骤(6);
(6)根据温度衰减函数g(α)降低温度t;
(7)判断温度t是否达到结束温度tf,没有达到结束温度tf则重复执行(2)~(7),否则执行步骤(8);
(8)以i=i+1的方式递增光谱子区间个数,重复执行(2)~(8),直至子区间总数i大于最大子区间数If后进入步骤(9);
(9)返回最佳子区间数和入选的特征子区间,返回最佳子区间和入选的特征子区间的方法是:以i=i+1的方式递增光谱子区间,计算光谱子区间对应的最优解,得到不同子区间总数i∈[I0,If]对应的优化解,从这些优化解中选择目标函数值f(x)最大的解记为xk,xk为入选的特征子区间,xk的下标k为取得最优解时返回的最佳子区间数。
3.根据权利要求1所述的基于模拟退火算法的近红外光谱波长子区间选择方法,其特征是:步骤(2)中的子区间交换函数的特性为:在退火温度较高时对应较大的子区间交换个数,在退火温度较低时对应较小的子区间交换个数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010123945 CN101807228B (zh) | 2010-03-12 | 2010-03-12 | 基于模拟退火算法的近红外光谱波长子区间选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010123945 CN101807228B (zh) | 2010-03-12 | 2010-03-12 | 基于模拟退火算法的近红外光谱波长子区间选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101807228A CN101807228A (zh) | 2010-08-18 |
CN101807228B true CN101807228B (zh) | 2012-07-04 |
Family
ID=42609018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010123945 Expired - Fee Related CN101807228B (zh) | 2010-03-12 | 2010-03-12 | 基于模拟退火算法的近红外光谱波长子区间选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101807228B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102183212B (zh) * | 2010-12-28 | 2013-03-20 | 睿励科学仪器(上海)有限公司 | 一种快速确定微细周期结构形貌参数的方法及设备 |
CN102928382B (zh) * | 2012-11-12 | 2015-04-22 | 江苏大学 | 基于改进型模拟退火算法的近红外光谱特征波长选择方法 |
CN109540836A (zh) * | 2018-11-30 | 2019-03-29 | 济南大学 | 基于bp人工神经网络的近红外光谱糖度检测方法及系统 |
CN112947332B (zh) * | 2021-02-04 | 2022-12-16 | 威高国科质谱医疗科技(天津)有限公司 | 一种基于模拟退火的三重四极质谱仪参数优化方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1657907A (zh) * | 2005-03-23 | 2005-08-24 | 江苏大学 | 基于间隔偏最小二乘法的农产品、食品近红外光谱谱区选择方法 |
-
2010
- 2010-03-12 CN CN 201010123945 patent/CN101807228B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1657907A (zh) * | 2005-03-23 | 2005-08-24 | 江苏大学 | 基于间隔偏最小二乘法的农产品、食品近红外光谱谱区选择方法 |
Non-Patent Citations (1)
Title |
---|
余浩.基于正交信号校正算法的近红外光谱预处理.《浙江大学硕士论文》.2004,13-19. * |
Also Published As
Publication number | Publication date |
---|---|
CN101807228A (zh) | 2010-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101832909B (zh) | 基于模拟退火-遗传算法近红外光谱特征子区间选择方法 | |
CN101807228B (zh) | 基于模拟退火算法的近红外光谱波长子区间选择方法 | |
Liu et al. | Data processing strategies in wind energy forecasting models and applications: A comprehensive review | |
CN103344600B (zh) | 一种蚁群优化算法的近红外光谱特征波长选择方法 | |
CN103308463A (zh) | 一种近红外光谱特征谱区选择方法 | |
CN101806728B (zh) | 基于模拟退火算法的近红外光谱特征波长的选择方法 | |
CN111382906B (zh) | 一种电力负荷预测方法、系统、设备和计算机可读存储介质 | |
Messenger et al. | Random template banks and relaxed lattice coverings | |
CN111721835B (zh) | 空心钻磨削砂轮状态智能监测方法 | |
CN112434891A (zh) | 基于wcnn-alstm的太阳辐照度时间序列的预测方法 | |
CN105426989A (zh) | 基于eemd和组合核rvm的光伏功率短期预测方法 | |
CN118152389B (zh) | 一种能源系统数据智能化处理方法 | |
CN113673768A (zh) | 基于vmd和cnn-lstm的风功率概率预测模型 | |
CN117114160A (zh) | 一种短期光伏功率预测方法 | |
CN105067550B (zh) | 一种基于分块稀疏贝叶斯优化的红外光谱波长选择方法 | |
CN110555784A (zh) | 基于门控循环神经网络风速修正的风电功率预测方法 | |
CN101571868A (zh) | 一种基于信息瓶颈理论的文档聚类方法 | |
CN116384586A (zh) | 一种基于vmd-svr的风速预测方法 | |
CN113158446B (zh) | 非侵入式电力负载识别方法 | |
CN114298300A (zh) | 不确定度预测方法、装置、电子设备及存储介质 | |
CN114740713A (zh) | 一种湿法烟气脱硫过程的多目标优化控制方法 | |
CN107895206B (zh) | 一种基于奇异谱分析和局部敏感哈希的多步风能预测方法 | |
CN114429800A (zh) | 基于模型融合的甲烷水合物生成速率预测方法及系统 | |
CN110633917A (zh) | 基于电力大数据的新能源政策实施效果综合评价方法 | |
CN115728267B (zh) | 基于改进模拟退火算法的光谱特征波长选择方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 |
|
CF01 | Termination of patent right due to non-payment of annual fee |