具体实施方式
下面根据附图和实施例对本发明作进一步详细说明,以毛峰茶叶为例。
步骤1:确定毛峰茶叶检测指标:
步骤1.1茶叶样品的准备;
各个等级的毛峰茶叶分别准备70个重复样品,每个重复样品质量为5g,双层薄膜密封在500ml的烧杯中,室温下静置45min。
根据感官评审时的要求,茶、水比1:50,取5g茶叶用250ml水冲泡。泡茶用水为沸滚适度100℃的纯净水,冲泡时间为5min,然后将茶水滤出。将茶水和茶底分别在500ml的烧杯中密封、静置45min使得烧杯顶空富集茶叶挥发性成分的同时,水温也冷却至室温,室温保持25±3℃。由于茶水和茶底中水蒸气很多,所以检测时要放些硅胶,以减少水蒸气的影响。同样对每个等级的茶叶也各准备70个重复。
由于这部分的样品中水蒸气含量较多,虽然用硅胶预处理过,但水蒸气含量扔相对较大,所有要结合吸附/解吸附单元使用,对检测的挥发性成分进行富集、浓缩和清洁,以减少对传感器阵列的影响。把吸附/解吸附单元与电子鼻系统连接好,运行其配套气味指纹分析处理软件,首先检测吸附/解吸附单元是否连接好;然后设定系统各参数,即可开始检测。
步骤1.2毛峰茶叶指标检测;
电子鼻采用德国Airsense公司生产的PEN3型电子鼻,含有10个不同的金属氧化物传感器。电子鼻的原理是利用特定的金属氧化物和生物膜,根据挥发性物质分子接触引起膜电位微小的变化来判断是否有气味和气味的强弱,以特定的传感器和模式识别系统进行快速提供被测样品的全面信息,提示样品的隐含特征。传感器的输出为传感器接触挥发性气体的电导率与传感器经过活性炭过滤后纯净空气的电导率之比。得到10个传感器特征值。这种气敏传感器具有可靠性高、灵敏度好和重复性强等特点。
电子鼻PEN3的标准传感器阵列见表1。
表1PEN3的标准传感器阵列
步骤2建立毛峰样本集:
步骤2.1毛峰茶叶样本数据获取;
由电子鼻检测到毛峰茶数据的部分数据的详细信息情况见表2。其中,1到10号传感器记录在不同时间下,传感器接触挥发性气体的电导率与传感器经过活性炭过滤后纯净空气的电导率之比,储存时间是感官审评的陈化程度值。不同等级茶叶样品每隔15天做一次检测,连续检测75天,即0,15,30,45,60,75天各检测一次。该数据集包括452个样本,10个样本属性,6个类别。
表2毛峰茶数据情况
步骤2.2毛峰茶叶样本数据主成分分析
对该样本集进行主成分分析,得到6个主成分,其载荷图如图1所示,提取的6个主成分分别为:氢气,甲基烷烃,无机硫化物,羰基类和醇类,有机硫化物,长链烷烃指标值。
步骤2.3毛峰茶叶样本数据归一化处理;
为了使分类更准确,对毛峰茶叶样本数据进行归一化处理。使所有的样本数据都归一为[0,1]之间,对于输出向量通过反归一化处理,得到原值。采用的数据归一化处理计算公式为:
P′=(P-Pmin)/(Pmax-Pmin)
式中,P′、P、Pmax、Pmin分别为归一化后样本数据,原始样本数据,原始样本数据的最大值和最小值。
步骤2.4毛峰茶叶样本划分;
对毛峰茶叶样本数据按照校正集和测试集4:1进行划分,校正集作为PSO-BP模型的构建,测试集结果作为模型的评价标准。
步骤3:网络初始化,确定BP神经网络拓扑结构:
步骤3.1网络初始化;
给各连接权值和阈值分别赋一个区间(-1,1)内的随机数,确定最大训练次数以及训练精度。
本实施例最大训练次数设为200,训练精度为0.00001。
步骤3.2确定隐含层和输出层的节点传递函数和输出;
常用的传递函数有以下几种:
线性函数:f(x)=kx
对数sigmoid函数:
正切sigmoid函数:f(x)=tanh(x)
本专利隐含层和输出层的节点传递函数均采用tansig函数:
输入层节点xi,隐含层节点yj,输出层节点z1,输入层节点与隐含层节点间的网络权值为ωji,阈值为θj,隐含层节点与输出层节点间的网络权值为vlj,阈值为θ1。
隐含节点的输出:
输出节点的输出:
步骤3.3BP神经网络节点设置;
BP神经网络的隐含层节点数对其分类的精度有较大影响;若节点数太少,网络不能很好的学习,需要增加训练次数,训练的精度也受影响;反之,网络训练时间增加,网络易过拟合。毛峰茶叶储存时间的BP神经网络结构图如图2所示。
BP神经网络输入层节点数是由电子鼻获取的茶叶数据经过主成分分析得到的6个指标的含量。
BP神经网络隐含层节点数根据经验公式:其中,b表示隐含层节点数,a代表输入层节点数,c代表输出层节点数,d为(1,10)之间的常数。本专利隐含层采用5个节点。
BP神经网络输出为毛峰茶叶储存时间,即只有一个输出节点。
BP神经网络结果采用6—5—1,即输入层有6个节点,隐含层有5个节点,输出层采用1个节点。
步骤4:利用粒子群优化BP神经网络,进行模型训练,输出优化后的BP神经网络的最佳权值和阈值,具体包括:
步骤4.1用于茶叶储存时间的分类的粒子群算法优化BP神经网络,其中,粒子群优化算法的核心思想是:通过群体中个体之间的相互协作和信息共享来寻找最优解。主要由下式确定分类规则:
a=f(ωp+b)
f表示输入/输出关系的传递函数,本实施例选用tansig,ω为BP神经网络为权值,b为BP神经网络阈值。
步骤4.2使用粒子群优化BP神经网络的权值和阈值。
所述步骤4.2包括:
步骤4.2.1对粒子群初始化,设置粒子群个数、最大迭代数、局部学习因子c1和全局学习因子c2大小;
粒子群个数:粒子群个数的多少根据问题的复杂程度自行决定。一般的优化问题取20到40个粒子就可以得到很好的结果。
最大迭代数:表示粒子群算法运行结束条件的一个参数。
学习因子:学习因子使粒子具有自我总结和向群体中优秀个体学习的能力,从而向群体内或领域内最优点靠近,通常取c1和c2为2。
本实施例选择粒子群个数为20、最大迭代次数为200、局部学习因子c1为1.5、全局学习因子c2为1.7;
步骤4.2.2构造个体适应度函数;
将目标函数适当处理作为个体适应度函数。
步骤4.2.3确定当前粒子最佳位置和当前全局粒子最佳位置;
设粒子的群体个数为n:第i(i=1,2,…,n)个粒子在d维空间的位置表示为矢量xi=(xi1,xi2,...,xid)。飞行速度表示为矢量vi=(vi1,vi2,…,vid),适应度函数值是根据xi代入一个目标函数进行计算得出的。
设每个粒子最好位置(个体极值pbest)和现在的位置xi。每个粒子在整个群体中所有粒子最好位置(全局极值(gest))(gbest是pbest中的最好值)。根据粒子的飞行经验,找到粒子的两个极值。
步骤4.2.4粒子位置、速度更新;
在找到这两个最优值后,粒子的速度和位置用公式(1-1)和公式(1-2)来更新:
xi(t+1)=xi(t)+vi(t+1) (1-2)
c1、c2——分别为局部学习因子和全局学习因子。
r1、r2——两个独立的随机数,其取值范围是(0,1)。对粒子的全局极值gbest和个体极值pbest进行更新。
每个粒子用公式(1-3)来更新个体极值:
对所有粒子的全局极值按公式(1-4)来选取:
gbest(t+1)=max(pbesti(t+1)) i=1,2,...n (1-4)
算法设定的最大速度为vmax,粒子每一维的飞行速度在更新过程中都不能超过vmax。即:
若vi(t+1)>vmax,则vi(t+1)=vmax;
若vi(t+1)<vmax,则vi(t+1)=-vmax。
若设置vmax的值较大,粒子种群会有较强的全局搜索能力;而若设置vmax的值较小,则会提高粒子种群的局部搜索能力。
步骤4.2.5根据粒子群算法结束条件,得到BP神经网络的权值和阈值,粒子群算法优化BP神经网络的毛峰茶叶储存时间分类流程图如图3所示;
步骤5毛峰茶叶的储存时间分类;
根据上述步骤,本实例选用BP神经网络和粒子群算法优化BP神经网络对毛峰茶叶进行储存时间分类,粒子群算法优化得到的BP神经网络在训练过程中的适应度曲线如图4所示,当粒子群算法运行到82代以后最优个体适应度值趋于平稳状态,直到运行到200代后,算法停止。最优化权值和阈值如表3、表4所示。BP神经网络训练过程如图5所示,训练转态如图6所示,训练回归结果7所示。从图可以看出,BP神经网络经过26次训练后,由于达到训练精度的要求,训练停止。对其运算指标行对比分析。计算结果如表5所示。
表3输入层隐含层间最优权值
表4隐含层和输出层间最佳权值和阈值
表5显示了采用BP神经网络算法和粒子群算法优化BP神经网络算法对毛峰茶叶的储存时间分类对比结果,从表中可以看出,在建模时间上,BP神经网络具有相对更快的建模速度,用了8.56s;在准确率上,粒子群算法优化BP神经网络的准确率相对高很多,与BP神经网络相比,高了14.16%。结果表明,粒子群算法优化BP神经网络对茶叶的储存时间的分类准确率更高。尤其是在面对要求高精度时,效果更显著。
表5分类结果对比
茶叶数据集包含6个类别属性:“0”、“15”、“30”、“45”、“60”、“75”。分别表示毛峰茶叶的保鲜期达到0天、15天、30天、45天、60天以及75天。PSO-BP算法的储存时间可视化结果如图8所示。BP神经网络算法的储存时间可视化结果如图9所示。图中X轴表示测试集样本,Y轴表示类别标签,图中圆形表示实际测试集分类,星形表示预测测试集分类。
本发明利用粒子群算法的可调参数少、收敛速度快,可以有效避免陷入局部最优等优点,将该方法应用于BP神经网络进行权值和阈值的选取,进而构建PSO-BP毛峰茶叶储存时间分类模型,本发明不仅为消费者提供一种有效的茶叶储存时间分类方法,而且进一步提高了分类精度,得到较好的结果。