发明内容
有鉴于此,本发明实施例提供一种高效的陈皮年限鉴定方法、装置、设备和介质,以降低鉴定分析成本。
本发明的一方面提供了一种陈皮年限鉴定方法,包括:
获取不同年份批次的陈皮作为第一样本和第二样本;
获取所述第一样本的第一近红外漫反射光谱和所述第二样本的第二近红外漫反射光谱;
对所述第一近红外漫反射光谱进行光谱数据的采集,得到第一数据集;对所述第二近红外漫反射光谱进行光谱数据的采集,得到第二数据集;
根据所述第一数据集确定训练集和预测集,并将所述第二数据集作为验证集;
对所述训练集和预测集进行降维处理,得到特征信息;所述特征信息包括特征变量或特征波长;
将所述特征信息作为模型输入参数进行识别模型的训练;所述识别模型的输出结果为存储年份信息;
根据所述验证集确定最优识别模型,所述最优识别模型用于获取陈皮年限鉴定结果。
优选地,所述方法还包括:
对所述第一数据集和所述第二数据集进行预处理;
所述预处理包括但不限于卷积平滑处理、标准正则变换处理和多元散射校正处理。
优选地,所述根据所述第一数据集确定训练集和预测集,包括:
采用10折交叉验证划分法对所述第一数据集划分为相等的10个部分;
将所述10个部分中的其中一个部分作为测试集,将所述10个部分中的另外九个部分作为训练集。
优选地,所述对所述训练集和预测集进行降维处理,得到特征信息,具体为:采用主成分分析方法对所述训练集和预测集进行降维处理,得到特征信息;
该步骤包括:
确定投影方向;
根据所述投影方向将所述训练集合所述预测集中的近红外光谱数据从原始坐标系转换到目标坐标系。
优选地,所述对所述训练集和预测集进行降维处理,得到特征信息,具体为:采用线性判别分析方法对所述训练集和预测集进行降维处理,得到特征信息;
该步骤包括:
计算所述训练集和所述预测集中近红外光谱数据的类内散度矩阵和类间散度矩阵;
根据所述类内散度矩阵和所述类间散度矩阵,进行奇异值分解,将所述近红外光谱数据转化为低维空间的投影。
优选地,所述将所述特征信息作为模型输入参数进行识别模型的训练,包括:
根据所述特征信息,采用偏最小二乘判别分析法、支持向量机以及k最近邻法构建不同的识别模型。
优选地,所述根据所述验证集确定最优识别模型,包括:
采用10次重复的10折交叉验证方法获取所述每种识别模型的识别准确率;
选取所述识别准确率最高的识别模型作为最优识别模型。
本发明实施例还提供了一种陈皮年限鉴定装置,包括:
第一获取模块,用于获取不同年份批次的陈皮作为第一样本和第二样本;
第二获取模块,用于获取所述第一样本的第一近红外漫反射光谱和所述第二样本的第二近红外漫反射光谱;
采集模块,用于对所述第一近红外漫反射光谱进行光谱数据的采集,得到第一数据集;对所述第二近红外漫反射光谱进行光谱数据的采集,得到第二数据集;
训练数据构建模块,用于根据所述第一数据集确定训练集和预测集,并将所述第二数据集作为验证集;
降维处理模块,用于对所述训练集和预测集进行降维处理,得到特征信息;所述特征信息包括特征变量或特征波长;
训练模块,用于将所述特征信息作为模型输入参数进行识别模型的训练;所述识别模型的输出结果为存储年份信息;
确定模块,用于根据所述验证集确定最优识别模型,所述最优识别模型用于获取陈皮年限鉴定结果。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
本发明的实施例首先获取不同年份批次的陈皮作为第一样本和第二样本;获取所述第一样本的第一近红外漫反射光谱和所述第二样本的第二近红外漫反射光谱;对所述第一近红外漫反射光谱进行光谱数据的采集,得到第一数据集;对所述第二近红外漫反射光谱进行光谱数据的采集,得到第二数据集;根据所述第一数据集确定训练集和预测集,并将所述第二数据集作为验证集;对所述训练集和预测集进行降维处理,得到特征信息;所述特征信息包括特征变量或特征波长;将所述特征信息作为模型输入参数进行识别模型的训练;所述识别模型的输出结果为存储年份信息;根据所述验证集确定最优识别模型,所述最优识别模型用于获取陈皮年限鉴定结果。本发明能够实现陈皮年限的准确的鉴定,提高了陈皮年限的鉴定效率,降低了鉴定分析成本。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
针对现有技术存在的问题,本发明提出了一种基于机器学习和近红外光谱技术的陈皮年限鉴定方法,通过便携式近红外光谱仪实现陈皮光谱数据的无损采集,基于光谱信息使用机器学习建立不同存储年限的陈皮识别模型,实现对陈皮年限的快速、准确鉴定。
如图1所示,本发明的一种陈皮年限鉴定方法,包括:
获取不同年份批次的陈皮作为第一样本和第二样本;
获取所述第一样本的第一近红外漫反射光谱和所述第二样本的第二近红外漫反射光谱;
对所述第一近红外漫反射光谱进行光谱数据的采集,得到第一数据集;对所述第二近红外漫反射光谱进行光谱数据的采集,得到第二数据集;
根据所述第一数据集确定训练集和预测集,并将所述第二数据集作为验证集;
对所述训练集和预测集进行降维处理,得到特征信息;所述特征信息包括特征变量或特征波长;
将所述特征信息作为模型输入参数进行识别模型的训练;所述识别模型的输出结果为存储年份信息;
根据所述验证集确定最优识别模型,所述最优识别模型用于获取陈皮年限鉴定结果。
优选地,所述方法还包括:
对所述第一数据集和所述第二数据集进行预处理;
所述预处理包括但不限于卷积平滑处理、标准正则变换处理和多元散射校正处理。
优选地,所述根据所述第一数据集确定训练集和预测集,包括:
采用10折交叉验证划分法对所述第一数据集划分为相等的10个部分;
将所述10个部分中的其中一个部分作为测试集,将所述10个部分中的另外九个部分作为训练集。
优选地,所述对所述训练集和预测集进行降维处理,得到特征信息,具体为:采用主成分分析方法对所述训练集和预测集进行降维处理,得到特征信息;
该步骤包括:
确定投影方向;
根据所述投影方向将所述训练集合所述预测集中的近红外光谱数据从原始坐标系转换到目标坐标系。
优选地,所述对所述训练集和预测集进行降维处理,得到特征信息,具体为:采用线性判别分析方法对所述训练集和预测集进行降维处理,得到特征信息;
该步骤包括:
计算所述训练集和所述预测集中近红外光谱数据的类内散度矩阵和类间散度矩阵;
根据所述类内散度矩阵和所述类间散度矩阵,进行奇异值分解,将所述近红外光谱数据转化为低维空间的投影。
优选地,所述将所述特征信息作为模型输入参数进行识别模型的训练,包括:
根据所述特征信息,采用偏最小二乘判别分析法、支持向量机以及k最近邻法构建不同的识别模型。
优选地,所述根据所述验证集确定最优识别模型,包括:
采用10次重复的10折交叉验证方法获取所述每种识别模型的识别准确率;
选取所述识别准确率最高的识别模型作为最优识别模型。
下面以具体的实施过程为例,详细描述本发明的陈皮年限鉴定方法的实现过程:
步骤一,陈皮样品的选取。经专业机构认证后购买两批不同年份的陈皮作为样本,包含1年、3年、5年、7年、10年的五种不同年份的陈皮。
步骤二,陈皮近红外漫反射光谱的采集。本实施采用手持式近红外光谱仪在每个不同年份的陈皮样品表面较为平整的位置采集样品的近红外漫反射光谱,光谱采集范围为900~1700nm,采样间隔为3.51nm,每个样品点重复扫描6次。实验室温度保持在25℃左右,湿度保持在稳定水平。光谱采集过程中,需保证光谱仪稳定平放且光谱采集口紧贴陈皮表面。更换不同位置重复如上测量操作100次,获得100组数据。对5种不同年份的陈皮样品重复以上光谱采集步骤,共获得500组光谱数据,为数据集A。按照如上步骤重新制样后进行另外一组陈皮光谱数据的采集,5种不同年份的陈皮分别测量40次,共获得200组光谱数据,为数据集B。
步骤三,光谱数据预处理。本发明实施例中分别采用了Savitzky-Go l ay卷积平滑、标准正则变换(SNV)、多元散射校正(MSC)等算法对采集到近红外光谱数据即数据集A和数据集B进行预处理。其中,Savitzky-Go l ay卷积平滑是一种加权平均法,此处理方法可降低近红外光谱含有的噪声;SNV主要用来消除固体颗粒大小、表面散射以及光程变化对近红外漫反射光谱的影响;MSC主要用来消除固体颗粒分布不均匀及颗粒大小产生的散射影响。三种不同的方法均可校正样品光谱的误差。
步骤四,陈皮样本划分。本实施对数据集A采用10折交叉验证划分法可得到训练集和预测集。即在数据集A的所有样本中,将原始数据集划分为相等的10个部分,每次将其中一个部分作为测试集,其余的九个部分作为训练集。数据B作为验证集。
步骤五,对数据进行降维处理。分别采用主成分分析、线性判别分析等降维算法对陈皮的近红外光谱数据进行降维处理,由于主成分分析和线性判别分析在降维过程中都使用了矩阵特征分解的思想,所以它们可以从光谱中提取出能用于陈皮年限鉴定的特征变量或者特征波长。
采用主成分分析选取光谱特征变量时,是通过将数据从原来的坐标系转换到新的坐标系,选择最大方差的投影方向,从而达到数据降维的目的。转换坐标系时,以方差最大的方向作为坐标轴方向,因为数据的最大方差给出了数据的最重要的信息。第一个新坐标轴选择的是原始数据中方差最大的方向,第二个新坐标轴选择的是与第一个新坐标轴正交且方差次大的方向。重复该过程,重复次数为原始数据的特征维数。在主成分分析中,这些正交的方差的选择的方向也被称为主成分,这些主成分反映了元素数据的绝大多部分信息。本实施例中,选取了前3个主成分为特征变量,累计贡献率达99.89%。
采用线性判别分析降维时,要将数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据的类别中心之间的距离尽可能的大。通过计算样本数据的类内散度矩阵和类间散度矩阵,然后进行奇异值分解,便可将数据转化为新的低维空间的投影,从而达到投影后类内方差最小,类间方差最大。
步骤六,模型构建。采用训练集样本建立陈皮年份识别模型,同时使用预测集和测试集对模型的可靠性和泛化能力进行检验。将步骤五中提取到的特征信息作为模型输入参数,以存储年份作为模型输出结果参数,分别采用偏最小二乘判别分析法、支持向量机、k最近邻等机器学习方法建立鉴定陈皮存储年限的识别模型。每种模型均采用10次重复的10折交叉验证检验所建立的模型在训练集和预测集中对不同年份的陈皮的识别准确率,即在数据集A的所有样本中,将提取到的特征信息划分为相等的10个部分,每次将其中一个部分作为预测集,其余的九个部分作为训练集,重复10次,将平均准确率作为最终的模型准确率。
偏最小二乘判别分析法是根据已知样品集的特征,选择最小二乘作为判别准则,将光谱数据与分类变量进行线性回归,最后用于判定未知样品,本实施例中,使用校正集均方根误差(RMSEC)决定偏最小二乘判别分析法的潜在变量个数为11。支持向量机是通过划分光谱训练数据集并且得到几何间隔最大的分离超平面,从而实现线性可分,在本实施例中,选取高斯核作为支持向量机的核函数。k最近邻是通过欧式距离(或者哈曼顿距离等)找到一个样本与数据集中的k个样本最相似,如果这k个样本中的大多数属于某一个类别,则该样本也属于这个类别,在本实施中,选择最近邻数为5。
步骤七,模型泛化能力检验。选择步骤六中识别准确率最高的两种模型“标准正则变换—线性判别分析—支持向量机”和“标准正则变换—线性判别分析—k最近邻”,同样使用10次重复的10折交叉验证,检验其在测试集上的识别准确率,并使用混淆矩阵进行模型的进一步检验。结果表明,使用“标准正则变换—线性判别分析—支持向量机”得到的模型表现最优,实际泛化能力也最强,也即在预测集上的识别准确率为100%,在测试集上的识别准确率为99.50%。
以上实施例可以看出,本发明利用便携式近红外光谱仪结合机器学习技术能够实现陈皮年限的准确的鉴定。
综上所述,通过便携式的近红外光谱仪采集不同年份的陈皮的漫反射近红外光谱,通过不同的数据预处理手段减少样本物理性质、背景信息、噪声的干扰,增强样本特征属性的贡献,采用不同的数据降维技术结合机器学习建立识别模型,准确鉴定出了不同存储年份的陈皮,为不同存储年份的陈皮的识别提供了一种无损、快速、准确、简便的方法,并且有望建立一种特定的经济型手持式近红外光谱传感器,以现场保证陈皮的存储年限。
相较于现有技术,本发明的方案具有以下优点:
(1)本发明设计了一种便携式近红外光谱仪用于陈皮年限鉴定的基本流程,检测速度快,检测精度高,可以实现无损检测,适用于相当多的现场光谱检测的应用场景;
(2)本发明不需要复杂的实验设备,不消耗化学试剂,不污染环境,分析过程简单、分析成本低;
(3)本发明结合训练集、预测集和测试集,提供了一套用于选取实际泛化能力最优模型的方案;
(4)本发明将近红外光谱技术与机器学习模型相结合用于陈皮年限的鉴定,是一种全新的方法。并且建立的模型识别准确率高,为鉴别市场中假冒伪劣的陈皮提供了一种可行的方法。
本发明实施例还提供了一种陈皮年限鉴定装置,包括:
第一获取模块,用于获取不同年份批次的陈皮作为第一样本和第二样本;
第二获取模块,用于获取所述第一样本的第一近红外漫反射光谱和所述第二样本的第二近红外漫反射光谱;
采集模块,用于对所述第一近红外漫反射光谱进行光谱数据的采集,得到第一数据集;对所述第二近红外漫反射光谱进行光谱数据的采集,得到第二数据集;
训练数据构建模块,用于根据所述第一数据集确定训练集和预测集,并将所述第二数据集作为验证集;
降维处理模块,用于对所述训练集和预测集进行降维处理,得到特征信息;所述特征信息包括特征变量或特征波长;
训练模块,用于将所述特征信息作为模型输入参数进行识别模型的训练;所述识别模型的输出结果为存储年份信息;
确定模块,用于根据所述验证集确定最优识别模型,所述最优识别模型用于获取陈皮年限鉴定结果。
本发明实施例还提供了一种电子设备,包括处理器以及存储器;
所述存储器用于存储程序;
所述处理器执行所述程序实现如前面所述的方法。
本发明实施例还提供了一种计算机可读存储介质,所述存储介质存储有程序,所述程序被处理器执行实现如前面所述的方法。
本发明实施例还公开了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前面的方法。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
此外,虽然在功能性模块的背景下描述了本发明,但应当理解的是,除非另有相反说明,所述的功能和/或特征中的一个或多个可以被集成在单个物理装置和/或软件模块中,或者一个或多个功能和/或特征可以在单独的物理装置或软件模块中被实现。还可以理解的是,有关每个模块的实际实现的详细讨论对于理解本发明是不必要的。更确切地说,考虑到在本文中公开的装置中各种功能模块的属性、功能和内部关系的情况下,在工程师的常规技术内将会了解该模块的实际实现。因此,本领域技术人员运用普通技术就能够在无需过度试验的情况下实现在权利要求书中所阐明的本发明。还可以理解的是,所公开的特定概念仅仅是说明性的,并不意在限制本发明的范围,本发明的范围由所附权利要求书及其等同方案的全部范围来决定。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-On ly Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。