近红外光谱预测苹果糖度

近红外光谱检测

近红外光谱区是指波长在780 ~ 2526nm范围内的电磁波,是分子振动光谱倍频和合频吸收谱,主要是由于分子振动的非谐振性使分子振动从基态向高能级跃迁时产生的。
波长范围可分为近红外短波780 ~ 1100nm、中波900 ~ 1700nm、长波1100 ~ 2500nm和全波780 ~ 2500nm等四种。近红外光谱检测方式可分为漫反射式、透射式和漫透射式三种。
本次需要建立的是苹果糖度和近红外光谱的模型,适用于长波漫反射。

光谱和糖度的预处理

本次实验中,光谱预处理方法并不能显著提升模型的预测精度,部分预处理方法反而会降低预测性能。
以下测试中模型建立使用PLS法,主成分值依次为10,20,30,50,100,200,300,划分测试集与训练集的系数为0.7,输出依次为:R2,平均误差 ,最大误差,误差大于1的百分比。
无预处理:

0.56,0.75,3.01,29.47%
0.75,0.57,1.68,13.68%
0.73,0.60,1.95,20.00%
0.73,0.60,1.95,18.95%
0.73,0.60,1.95,18.95%
0.73,0.60,1.95,18.95%
0.73,0.60,1.95,18.95%

PCA

PCA的最主要作用为降维,作用假设原数据集为Xm×n,代表有m个样本,每个样本有n个特征值,PCA的作用即将Xm×n映射为Zm×k​ ,其中k<n,且Z满足最大化方差,即降维后数据最分散。
映射过程:Zk×m ​ = Wk×n​Xn×m​
其中,W代表新的向量空间,由w1 ~ wk组成, wi指的是协方差矩阵Cov(X)第i大特征值对应的特征向量。
使用:
(1)可以做PCA降维的前提必须保证数据是线性分布的
(2)首先要对训练样本的特征进行归一化, 然后测试样本根据这里得到的参数进行归一化, 不能直接和训练样本放在一起进行归一化。 在训练PCA降维矩阵的过程中,不能使用测试样本,这样的话, 在进行测试的时候, 测试样本会存在很大的优越性, 因为它已经知道了要降维到的空间情况。
(3)k值选取方面,过大会导致预处理效果不明显,过小会损失原数据信息
(4)类似的方法还有奇异值分解(SVD),独立分量分析(ICA),其中ICA更适用于高阶统计特性

一阶导数二阶导数

(1)导数计算可以消除光谱的基线偏移、漂移和背景的干扰。基线平移是指光谱中任-波长处的吸光度与真值之间存在固定的偏差:基线旋转是指光谱误差变化中与波长有线性关系的变化量。一阶导数可以消除光谱基线的平移,二阶导数可以消除基线的旋转。
(2)由于导数计算往往增加噪音,故导数预处理之前经常需要进行平滑处理。对光谱求导一般都采用SG平滑法计算。在使用时,差分宽度选择是十分重要的:如果差分宽度太小,噪声会很大,影响所建模型的质量;如果差分宽度太大,平滑过度,会失去的细节信息。
使用移动平滑和使用SG平滑效果相似,测试使用SG平滑,窗口宽度为5,多项式次数3.
D1:

0.50,0.79,2.81,30.53%
0.51,0.77,2.75,28.42%
0.51,0.77,2.75,28.42%
0.51,0.77,2.75,28.42%
0.51,0.77,2.75,28.42%
0.51,0.77,2.75,28.42%
0.51,0.77,2.75,28.42%

D2:

0.30,0.98,2.56,40.00%
0.31,0.97,2.58,37.89%
0.31,0.97,2.59,36.84%
0.31,0.97,2.59,36.84%
0.31,0.97,2.59,36.84%
0.31,0.97,2.59,36.84%
0.31,0.97,2.59,36.84%

多次测试中导数计算对预测效果提升不明显,猜测数据测量中光线,温度无太大变化,而直接差分法又引入了新的噪声,使得导数计算无效果,后续可以使用SG求导法再次实验

SG平滑与滑动平滑

平滑处理的用于抹平光谱,去除噪音。
移动平滑即对窗口内的数据直接进行均值处理,用窗口内的平均值代替Xi,SG平滑法又称SG求导法对窗口的数据使用加权平均法处理,即用多项式的值代替Xi,移动窗口直到光谱遍历完为止
关键系数为窗口宽度即多项式的次数。窗口宽度过大容易失真,宽度过小效果不明显。
SG平滑(5,3):

0.56,0.75,2.99,28.42%
0.75,0.59,1.76,16.84%
0.70,0.64,2.44,20.00%
0.70,0.64,2.43,20.00%
0.70,0.64,2.43,20.00%
0.70,0.64,2.43,20.00%
0.70,0.64,2.43,20.00%

滑动平滑(10):

0.56,0.75,2.96,28.42%
0.77,0.56,1.58,12.63%
0.46,0.81,3.25,29.47%
0.32,0.92,4.42,41.05%
0.32,0.92,4.43,42.11%
0.32,0.92,4.43,42.11%
0.32,0.92,4.43,42.11%

去噪后预测性能得到部分提升,但仍不明显,原数据光谱可能较为平滑

标准归一化SNV与多元散射校正MSC

MSC

检测固体样本的近红外漫反射光谱时,样本颗粒分布的不均匀和颗粒的大小会对光谱产生影响,可以用MSC方法对原始谱图进行预处理,消除或减弱这些因素对光谱的影响。处理过程如下:
(1)求出光谱矩阵的平均光谱 X ˉ \bar{X} Xˉ
(2)建立Xm×n中每条光谱到 X ˉ \bar{X} Xˉ 的线性回归关系:
X i = a i + X ˉ × b i X_{i} = a_{i} + \bar{X} × b_{i} Xi=ai+Xˉ×bi
(3)MSC处理后的光谱 X i ′ X^{'} _{i} Xi
X i ′ = ( X i − a i ) / b i X^{'} _{i} = (X_{i} - a_{i})/ b_{i} Xi=(Xiai)/bi

0.55,0.74,2.65,25.26%
0.77,0.55,2.18,10.53%
0.78,0.55,1.76,13.68%
0.78,0.55,1.77,13.68%
0.78,0.55,1.77,13.68%
0.78,0.55,1.77,13.68%
0.78,0.55,1.77,13.68%

SNV

标准正态变量变换(SNV)是一种用于消除样本颗粒大小不一,表面散射,光程变化等因素对近红外漫反射光谱产生的影响的预处理方法。对于光谱矩阵Xmxp, SNV的计算方法如下:
X i ′ = X i − X i ˉ s t d ( X i ) X_{i}^{'} = \frac{X_{i} - \bar{X_{i}}}{std(X_{i})} Xi=std(Xi)XiXiˉ
std代表方差, X i ˉ \bar{X_{i}} Xiˉ代表均值

0.56,0.75,2.70,25.26%
0.77,0.53,2.39,11.58%
0.78,0.55,1.77,14.74%
0.78,0.55,1.78,14.74%
0.78,0.55,1.78,14.74%
0.78,0.55,1.78,14.74%
0.78,0.55,1.78,14.74%

散射校正并不能显著提升模型的预测精度

建立光谱与苹果糖度的模型-PLS

定量分析模型主要是将校正样本的近红外光谱与校正样本通过标准方法测得的组分含量或性质值进行关联,然后利用建立好的模型对未知样本的组分含量或性质值进行预测,目前已有方法有:多元线性回归(MLR)、主成分回归(PCR)、偏最小二乘回归(PLSR)、 神经网络(ANN)、支持向量回归机(SVR)和最小二乘-支持向量回归机(LSSVR)、极限学习机(ELM) 等多元校正技术用于建立近红外光谱定量分析模型。
本次测试使用PLS方法建立模型,最优情况下R为0.77,平均误差0.56,最大误差1.58,误差大于1的百分比为12.63%,微分方法中二阶微分效果好于一阶微分,但都低于无预处理,光谱平滑方法中SG平滑与滑动平滑对预测结果有所优化,其中滑动平滑效果最好,SNV与MSC对于预测结果优化也不大
测试不足:未对样本集进行选择

  • 9
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 我可以为您建立一个基于深度学习的近红外光谱预测水果糖度预测模型,使用Python实现。我将使用常见的深度学习技术,如深度神经网络(DNN)、卷积神经网络(CNN)和长短期记忆(LSTM),以及可能需要的其他技术,来构建这个模型。我将优化该模型,以便更准确地预测水果糖度。 ### 回答2: 建立一个基于深度学习的近红外光谱预测水果糖度预测模型可以通过以下步骤实现: 1. 数据收集与准备:收集包含水果近红外光谱和对应糖度值的数据集。数据集应包括一系列光谱读数和对应的糖度值。确保数据集包含足够多的样本覆盖不同类型的水果和糖度范围。 2. 数据预处理:对数据集进行预处理以消除噪声和异常值。可以通过平滑处理或使用滤波器来减少光谱数据中的噪声。同时,使用标准化技术对光谱数据进行归一化,确保输入数据处于相同的范围内。 3. 构建深度学习模型:使用Python中的深度学习库,如TensorFlow或PyTorch,构建一个适当的模型。常用的深度学习模型包括多层感知机(MLP)或卷积神经网络(CNN)。根据实际情况,可以根据数据集的大小和复杂性调整模型的结构和层数。 4. 模型训练与调优:使用准备好的数据集进行模型的训练。将数据集分为训练集和验证集,并使用反向传播算法进行模型参数的优化。通过调整神经网络的超参数,如学习率、迭代次数和批大小等,来获得最佳的模型性能。 5. 模型评估与预测:使用预留的测试集对模型进行评估,计算预测糖度值与实际糖度值之间的误差。常用的评估指标包括均方根误差(RMSE)和平均绝对误差(MAE)。对于模型的使用,将新的光谱数据输入到经过训练的模型中,即可得到预测糖度值。 总结起来,基于深度学习的近红外光谱预测水果糖度的模型可以通过数据准备、数据预处理、模型构建、训练与调优以及模型评估与预测等步骤实现。使用Python的深度学习库,如TensorFlow或PyTorch,提供丰富的工具和函数支持构建和训练模型。 ### 回答3: 建立一个基于深度学习的近红外光谱预测水果糖度预测模型可以分为以下几个步骤: 1. 数据采集:收集不同水果样本的近红外光谱数据以及相应的糖度测量值。确保样本覆盖了各种不同类型的水果和不同糖度范围。 2. 数据准备与处理:将采集到的光谱数据进行预处理,例如去噪、校正和标准化等。同时,将糖度测量值进行标签化。 3. 模型设计与训练:使用Python中的深度学习框架,如TensorFlow或PyTorch,设计一个适当的神经网络模型。选择适当的层数、激活函数和优化器等,并将准备好的数据集划分为训练集和验证集。使用训练集对模型进行训练,并通过验证集对模型进行评估和调整。 4. 模型优化:通过调整神经网络的结构和超参数,如学习率、批量大小等,进一步提高模型的预测性能。可以使用交叉验证等技术来评估模型的泛化能力。 5. 模型测试与评估:使用测试集来验证模型对于水果糖度预测的效果。可以使用常见的回归评估指标,如均方根误差(RMSE)和平均绝对误差(MAE),来度量模型的性能。 6. 部署和应用:将训练好的模型应用于实际的水果糖度预测任务中。可以设计一个简单的用户界面,通过输入水果的近红外光谱数据,预测糖度。 在Python中实现这个模型,可以使用TensorFlow或PyTorch等深度学习框架来构建神经网络模型,并使用相关的数值计算库,如NumPy和Pandas,进行数据处理和预处理。同时,可以使用matplotlib或Seaborn等可视化库,展示数据和模型的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值