一种基于粒子群算法优化BP神经网络的茶叶存储时间分类
方法
技术领域
本发明涉及茶叶储存时间分类方法,尤其涉及一种基于粒子群算法优化BP神经网络的茶叶存储时间分类方法。
背景技术
茶叶吸湿、吸味性强,很容易吸附空气中水分及异味,若储存方法稍有不当,新茶消失,陈味渐露。尤其是绿茶,因为存放时间越久,色泽和储存时间就越差。因此,在一定时期内合理储存茶叶是保证其质量不受影响的重要因素。业内判断茶叶的储存时间,一看是否发霉或出现陈味;二是看茶汤颜色;三是品滋味。这些方法都是因人而异的,不同的人很难得到一致的评价结果;甚至同一个人在不同的环境、不同的情绪时,对同一种气味也有不同的感受和评价。从而使得采用人的感官进行评价存在一定的局限性,为了减少评判的错误率,用机器模拟人的感官(如模拟人视觉的电子眼、模拟人的味觉的电子舌、模拟人的嗅觉的电子鼻等)进行食品品质评判已成为一种趋势。电子鼻作为一种新兴的感官分析技术,已经广泛应用于食品、烟草、医学、环境监测和爆炸物检测等领域。其中在新鲜度、成熟度判别、病害检测、品质监控、质量评价和安全检测中显示出独特优点,具有快速、无损、重复性好的优点。
电子鼻主要由气味取样操作器、气味传感器阵列和信号处理系统组成,是利用气味传感器阵列的响应曲线来识别气味。由于电子鼻得到的是样品中挥发出的气味信息,而不是样品中某成分的定量或定性结果。茶叶中含有萜烯类物质,具有吸湿性、吸附性、氧气性特点。新做好的茶叶往往带有“生青味”,经一段时间贮藏变化,可成为醇和可口的滋味。继续延长贮藏,滋味、储存时间逐渐变淡,最后成为缺乏刺激性、味软、淡薄的陈茶味。因此,电子鼻可以快速无损测定茶叶芳香苯、芳香烷烃等成分,从而对待测茶叶的储存时间进行客观评价。
绿茶的保质期在常温下一般为一年左右。影响茶叶品质的因素主要有温度、光线、湿度。如果存放方法得当,降低或消除这些因素,则茶叶可长时间保质。判断茶叶是否过期,主要有以下几个方面:看它是不是发霉,或出现陈味。这些传统的方法无法准确地对茶叶的储存时间进行分类。而BP神经网络(Back Propagation Neural Networks)是一种多层前馈型神经网络,其权值调整采用反向传播学习算法,由Rumelhart和McClelland为首的科学小组在1986年提出的,BP神经网络具有无需事前揭示描述这种映射关系的数学方程,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层、隐含层和输出层。现已被广泛应用于分类、预测、函数逼近、综合评价以及模式识别等诸多问题。
在对茶叶储存时间分类的问题上,已经有了典型判别分析法及神经网络方法等,但是在面对大量茶叶数据时,这些算法都存在准确率不高的问题,本专利针对这个问题,采用粒子群算法优化BP神经网络参数的方法,对茶叶的储存时间进行不同程度的分类,提高判断的准确率。
发明内容
本发明要解决的技术问题是提供一种基于粒子群算法优化BP神经网络的茶叶存储时间分类方法
本发明是通过以下技术方案来实现的。
通过电子鼻采集茶叶香气数据,将检测到的芳香苯,氮氧化合物,芳香氨类,氢气,芳香烷烃,甲基烷烃,无机硫化物,羰基类和醇类,有机硫化物,长链烷烃指标的校正集数据作为输入样本,构建BP神经网络进行自分类。得到训练好的茶叶分类模型,并据此计算出茶叶预测集数据的分类准确率。该方法有效的解决了茶叶香气分类准确率不高的问题,提高茶叶的分类准确率。主要包括以下步骤:
步骤1:茶叶样品准备,确定茶叶检测的10个指标;
步骤2:建立样本集,采用10个不同金属氧化物传感器的电子鼻对茶样品进行检测,得到10个传感器特征值,采集不同时间下的检测指标值,构建样本集,对样本数据进行主成分分析,降低样本的维数,并对样本数据进行归一化处理;
步骤3:网络初始化,确定BP神经网络拓扑结构;
步骤4:利用粒子群优化BP神经网络,进行模型训练,输出优化后的BP神经网络的最佳权值和阈值;
步骤5:由电子鼻检测茶叶的测试集样本数据作为输入,通过步骤4优化后的BP神经网络预测茶叶的储存时间分类。
本发明的有益效果:
本发明将粒子群算法优化BP神经网络参数应用于实际的茶叶数据中,对茶叶储存时间进行分类,效果较优,有效地提高了茶叶储存时间分类的准确率,为消费者提供茶叶储存时间分类的有效方法。本发明对茶叶香气的检测指标种类与个数进行了优化,降低了实际操作中的工作量。
附图说明
图1为毛峰茶叶样本集主成分分析的载荷图。
图2为本发明粒子群算法优化BP神经网络毛峰茶叶储存时间分类方法的流程示意图。
图3为毛峰茶叶储存时间的BP神经网络结构图。
图4为毛峰茶叶储存时间的粒子群在训练过程中的适应度曲线。
图5为毛峰茶叶储存时间的BP神经网络训练过程。
图6a、6b、6c为毛峰茶叶储存时间的BP神经网络训练状态。
图7为毛峰茶叶储存时间的BP神经网络训练回归结果。
图8为PSO-BP算法的毛峰茶叶储存时间可视化结果。
图9为BP算法的毛峰茶叶储存时间可视化结果。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明,以毛峰茶叶为例。
步骤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毛峰茶叶储存时间分类模型,本发明不仅为消费者提供一种有效的茶叶储存时间分类方法,而且进一步提高了分类精度,得到较好的结果。