张劲松,周 迪,陈明举,2,熊兴中,2,杨志文
(1.四川轻化工大学 人工智能四川省重点实验室,四川 宜宾 644000;2.四川轻化工大学 自动化与信息工程学院,四川 宜宾 644000)
白酒中的酸、醇、酯、醛、酮等微量成分仅占主要成分的2%左右,虽然它们在白酒中含量非常微小,但对白酒风味的影响较大。长期以来,白酒特性的评定主要是感官评定的方式,该方法不可避免地会受到人为因素的影响。因此,如何运用科学的方法来提高白酒特性评定的准确性是当前亟待解决的问题[1]。
目前,主要通过传感器检测技术获取白酒图谱数据,用特征提取与识别技术实现白酒的分类。如电子鼻质谱(electronic nose mass spectromety,EN-MS)[2-3]、气相色谱质谱联用(gas chromatography mass spectrometry,GC-MS)[4-5]、等离子体发射光谱(inductively coupled plasma,ICP)、荧光光谱技术[6-7]和比色人工鼻法等技术。在众多的白酒图谱识别技术中,GC-MS综合了色谱的分离能力和质谱的定性能力,可在较短的时间内对多组分混合物进行定性分析,从而有效地体现微量组成成分。栗新峰等[8]利用气相色谱技术对浓香型白酒质量等级进行评价,寻找白酒成分之间的微观联系,为白酒微观研究提供了新的思路;张琦等[9]采用GC-MS技术获得几种浓香型白酒中包含的32个特征峰,各种白酒成分特征峰所代表的风味成分的含量及比例变换,显著影响白酒的风味和香型;寻思颖等[10]将GC-MS测定技术结合图谱分析软件建立了白酒共有峰图谱模型。
基于GC-MS的白酒图谱数据主要采用主成分分析法(principal component analysis,PCA)进行降维处理,实现图谱数据的主要特征提取[11]。PCA通过几个正交主成分来表示白酒图谱数据的完整信息,在数据信息最大限度保留的基础上,达到数据降维的目的[12-13]。近年来,随着稀疏表示理论的完善,稀疏表示技术逐步应用于白酒图谱的识别中[14]。为了更好地实现数据的稀疏分解,并体现各组分的权重,将稀疏性与PCA相结合,建立稀疏主成分分析(sparse principal component analysis,SPCA)。SPCA运用聚集数据稀疏性的方法来区别主成分,实现每个主成分所对应的单位特征向量能够让尽可能多的零来填充代替,用更少的变量线性组合来表示原始数据,从而更好的实现数据降维分析[15]。目前,SPCA已广泛应用于各个行业中[16-18]。
本研究将SPCA应用于白酒GC-MS图谱数据降维,使图谱数据在主成分空间更加稀疏,前几个稀疏主成分能体现GC-MS图谱数据的主要信息,进而通过K最近邻(K-nearest neighbor,KNN)、决策树(decision tree,DT)、支持向量机(support vector machine,SVM)、误差反向传播(error back propagation,BP)多种分类算法对图谱的稀疏主成分系数进行分类,并与对应的PCA分类算法进行对比分析,以期为白酒质量的控制及等级鉴定提供了一种更加有效的客观方法。
1.1.1 材料
白酒样品:川南地区,共20个,分别编号为T1、T2、T3、T4、T5、Y1、Y2、Y3、Y4、Y5、R1、R2、R3、R4、R5、S1、S2、S3、S4、S5。
1.1.2 试剂
乙酸正戊酯、2-乙基丁酸(纯度均为99%):上海阿达玛斯试剂有限公司;叔戊醇(纯度99%):上海阿拉丁生化科技股份有限公司;C7~C40正构烷烃(色谱纯):北京曼哈格生物科技有限公司。其他试剂均为国产分析纯。
GC-6800气相色谱-质谱联用仪:江苏天瑞仪器股份有限公司;DB-WAXMS色谱柱(30 m×0.25 mm×0.25 μm):安捷伦科技(中国)有限公司。
1.3.1 白酒样品GC-MS图谱数据的搜集
实验所用的白酒数据为网络资源下载,以及产学研合作项目中的企业提供。
1.3.2 白酒样品的感官评价及等级分级
白酒的感官评价参考国标GB/T 10345—2007《白酒分析方法》进行。感官评价人员由川南区域品酒员组成,采用编号顺位暗评品评法对白酒进行综合评定,总分为100分,对各品酒师所打分求平均值,即为该白酒样品的评分。其中评分93.0~100.0 分为特级,88.0~92.9 分为一级,80.0~87.9分为二级,70.0~79.9分为优级,70.0分以下为其他。
1.3.3 白酒样品挥发性风味成分的测定[19-21]
量取5 mL白酒样品,加入混合内标溶液100 μL(乙酸正戊酯15.10 g/L、叔戊醇15.19 g/L、2-乙基丁酸15.09 g/L),混合均匀后进行GC-MS检测。
气相色谱条件:进样量1 μL;分流比20∶1;进样口温度250 ℃;升温程序:初始温度35 ℃持续10 min,然后以2 ℃/min升温到120 ℃,再以5 ℃/min升温到200 ℃,最后以10 ℃/min升温到245 ℃,持续40 min;载气为高纯氦气(He),流速1 mL/min。
质谱条件:GC-MS接口温度280 ℃;扫描质量范围29~500 m/z;电子电离(electron ionization,EI)源;离子源温度230 ℃;电离能量70 eV。
定性方法:利用美国国家标准与技术研究院(national institute of standards and technology,NIST)12数据库及相对保留时间指数对白酒中的风味成分进行定性分析。将C7~C40的正构烷烃标准品与酒样在相同实验条件下进行分析,根据各正构烷烃的保留时间计算相应的保留指数(retention index,RI),其计算公式如下:
式中:RIi表示待测组分的保留指数;T(j)表示待测组分的保留时间,min;m和m+1分别表示正构烷烃的碳原子个数,个。
定量方法:分别使用乙酸正戊酯、叔戊醇和2-乙基丁酸计算酒样中的酯类、醇类及酸类与其他风味物质的校正因子含量。参考国标GB/T 10345—2007《白酒分析方法》[22],使用内标法,根据峰面积计算各风味成分的含量。
1.3.4 稀疏主成分分析的基本原理
稀疏主成分分析方法是在主成分分析[23]方法的基础上增加稀疏性条件的一种改进型数据统计分析方法,采用最具有代表性的少许变量线性组合方法来表示,并增加了转化为带有二次惩罚回归问题,能更好的简化负载数据,并对数据降维。对于稀疏主成分的求解问题,可以使用Lasso回归[24],将求解问题转化为变量的选择问题,运用带有岭回归(ridge)和Lasso惩罚[25]的线性组合的弹性网惩罚函数,从而得到稀疏主成分。
SPCA算法步骤[26]如下:
(1)计算PCA的前m个主成分对应的特征为αj(j=1,2,3…m)。
(2)对于给定的Am(α1,α2,…αm)的情况下,求解回归问题:
得到Bm(β1,β2,…βm)。
(3)对于给定的Bm,需要进行奇异值运算分解,求解方法是:(XTX)Bm=UDVT,并令Am=UVT。
(4)重复上述过程的(2)和(3),直到收敛为止。
SPCA方差贡献率计算:
本文采用的是一种基于elastic net惩罚结构[27]的稀疏主成分算法,运用带弹性网的Lasso惩罚对回归优化框架不断进行修正,得到稀疏主成分。
SPCA在PCA的基础上增加了稀疏性条件,通过方差贡献率的损失来换取数据信息载荷的稀疏化处理过程,改进了PCA解释能力不足的缺陷;SPCA结合稀疏性条件对PCA划分的主成分方差和负载进行综合分析,完善了PCA对数据处理的不足,其次SPCA分解产生的数据主成分是不具有相关性的。因此,SPCA便于对白酒数据进行解释和统计分析。
1.3.5 白酒样品的分类
在SPCA基础上,采用KNN、DT、SVM、BP多种分类算法对白酒样品进行分类。
(1)K近邻法[28]
本研究在白酒等级分类时的训练样本规模较大,随着训练样本的不断增加,计算量也会增加,分类性能下降较快,无法快速确定近邻数目K值,这会影响KNN分类算法在本研究白酒等级分类的准确性。KNN分类算法的分类过程如下:
输入:TXT格式下的训练数据集,方便对数据的整体导入,避免手动或批量处理大量数据。
其中,XI∈X∈Rn为白酒数据的特征向量,YI∈Y,Y={C1,C2,…,CJ}为白酒的分类类别,I,J=1,2,…,N。组成白酒数据的特征向量X,包括所需分类的白酒数据的特征变量及对应分类数据整体。输出:白酒X所属的类Y。
通过计算出白酒数据之间的距离,按照从近到远的排序确定K个在训练集T中与之距离较近的样本点,记为Nk(X)。根据出现次数较多为优的分类规则来选取Nk(X)中X的分类类别。
其中B表示一个布尔值函数,当YI=CJ时,B为1,否则为0。
(2)决策树[29]
本研究对白酒等级分类所采用的是C4.5算法,它能够生成较为完备的决策树系统。设白酒样本集S按离散属性的不同来取值,分为S1,S2,…,Sn共n个子集,用A对S进行种类划分,信息增益率为:
其中:
C4.5算法在分类效率上有了很大的提高。一方面可以直接处理连续型分类属性,另一方面允许白酒训练集中的白酒属性为空缺。信息增益函数在对处理可能产生多分支输出的白酒测试数据时进行弥补,这对于待分类对象会有更好的预测效果。
(3)支持向量机[30]
本研究设白酒样本集为(Xi,yi),(i=1,2,…,l),X∈Rn,y∈{1,2,…,k},其中i为白酒样品个数,k为白酒样品分类类别数,数据的非线性映射为X→φ(X),将其求解得到最优超平面的决策函数为:
表达式中φ(X)·φ(Xi)为内积形式,采用核函数K(X,Xj)替代内积运算,即得到K(Xi,Xj)=〈φ(X),φ(Xi)〉,其中K(X,Xj)满足Mercer条件。本研究主要采用径向基函数用于支持向量机的核函数计算,具体表达式为:
其中g=1/2σ2,σ为自有参数。引入径向基函数作为核函数,计算得到核形式最优判别函数为:
(4)神经网络[31]
白酒数据从输入层进去正向传播,经过隐含层,最后到达输出层的设计方式。主要是已知输入白酒数据,根据相关步骤最后得到其对应的输出。通常情况下,实际的期望与预期间都是有差异的,当两者不同或是误差超过规定值时,需要以相反的方向从输出层开始将输出的误差进行反向传输、经过中间层、最后送到输入层,每一层都做一次校正,使最终得出的误差符合要求。
20个白酒样品的感官评分结果见表1。
表1 白酒样品的感官评分结果Table 1 Sensory evaluation results of Baijiu samples
由表1可知,经过各品酒师打分评定,编号为T1、T2、T3、T4、T5的白酒样品感官评分在93.0~100.0分之间,符合特级白酒要求;编号为Y1、Y2、Y3、Y4、Y5的白酒样品感官评分在88.0~92.9分之间,符合一级白酒要求;编号为R1、R2、R3、R4、R5的样品感官评分在80.0~87.9分之间,符合二级白酒要求;编号为S1、S2、S3、S4、S5的白酒样品感官评分在70.0~79.9分之间,符合优级白酒要求。
采用GC-MS方法对20个白酒样品的挥发性风味成分进行分析,随机抽取其中某一个白酒样品的挥发性风味成分结果进行分析,某一个白酒样品挥发性风味成分GC-MS分析结果见表2。
表2 某白酒样品挥发性风味成分GC-MS分析结果Table 2 Results of volatile flavor components in a Baijiu sample analyzed by GC-MS
续表
由表2可知,从某一个白酒样品中共检测到46种挥发性风味成分。分别使用PCA和SPCA对表2中的46种挥发性成分进行特征提取。剔除数据偏差较大的主成分以及无关变量,保留特征值较大的10个主成分,结果见表3和表4。由表3和表4可知,使用PCA方法和SPCA方法提取到的前8个主成分和前7个稀疏主成分的累计方差贡献率分别为92.813%和93.580%。这些主成分和稀疏主成分能够很大程度上反映白酒样品的基本信息。
表3 10个主成分的特征值、贡献率和累计方差Table 3 Eigenvalues,contribution rate and cumulative variance of 10 principal components
表4 10个稀疏主成分的特征值、方差贡献率和累计方差贡献率Table 4 Eigenvalues,variance contribution rate and cumulative variance contribution rate of 10 sparse principal components
运用主成分(PCA)和稀疏主成分(SPCA)特征提取后,结合常用的KNN、DT、SVM、BP分类方法对已知等级的20个白酒样品进行等级分类,对比准确率。从收集到的白酒数据中以抽取170组不同等级的白酒数据作为训练集,再另外随机选取20组(每个等级各5组)不同等级白酒作为测试集。使用PCA和SPCA对白酒测试集进行处理,将提取出的主成分特征作为输入数据,建立标准等级分类模型,用于识别测试集数据的基本属性。分别选择前8个白酒主成分以及前7个白酒稀疏主成分作为KNN、DT、SVM、BP方法的输入数据,得到的分类结果见图1。
由图1可知,在20个测试样品上进行测试后,PCA结合KNN、DT、SVM方法的误检样本数分别为14个、4个、1个,分类准确率分别为30%、80%、95%,而SPCA结合KNN、DT、SVM方法的误检样本数分别为1个、0个、0个,分类准确率分别为95%、100%、100%,由此可见,SPCA方法能够更准确的提取主成分,特征提取能力更强。PCA、SPCA结合BP的方法均无误检样本,分类准确率均为100%,由此可见,非线性的BP方法能够有效的提高识别准确率。结果表明,PCA和SPCA能够不同程度的在数据处理上实现降维功能和信息解释,且SPCA在数据降维处理、去除冗余、保留原有数据信息以及实际解释能力方面相比PCA有较强的优势。
图1 基于主成分分析、稀疏主成分分析结合4种分类方法对20个白酒样品的分类结果Fig.1 Classification results of 20 Baijiu samples based on principal component analysis,sparse principal component analysis combined with four classification methods
使用预训练得到的模型,从收集到的训练集之外的白酒数据中随机抽取已知等级的白酒样本150个,并进行GC-MS图谱测试。测试结果使用SPCA进行特征提取处理,提取得到的稀疏主成分作为输入数据,通过KNN、DT、SVM、BP方法进行等级分类,各方法的分类结果见图2。
由图2可知,抽取的150个白酒样本中有11个样本不属于特级、一级、二级、优级白酒;SPCA结合KNN、DT、SVM、BP方法的误检样本数分别为57个、17个、5个、0个,分类准确率分别为62%、89%、97%、100%。该分类验证说明SPCA方法可以有效提取不同等级白酒的主要特征及信息,再结合非线性的BP分类方法,使得SPCA结合BP的方法对不同等级白酒的准确率达到100%。
图2 基于稀疏主成分分析结合4种分类方法对白酒样品分类结果验证Fig.2 Classification results verification of Baijiu sample based on sparse principal component analysis and four classification methods
本研究采用GC-MS对4个不同等级白酒样品的挥发性风味成分进行PCA和SPCA,结果表明,与主成分相比,不同等级白酒GC-MS图谱的稀疏主成分差异较大,更能代表不同特征白酒的信息。基于PCA和SPCA分别结合KNN、DT、SVM、BP 4种分类方法对白酒样品进行分类,结果表明,基于SPCA对白酒样品进行分类后的分类识别精度更高,SPCA+KNN、SPCA+DT、SPCA+SVM、SPCA+BP的准确率分别达到62%、89%、97%、100%,其中SPCA结合BP的方法分类效果最好,说明白酒GC-MS图谱的稀疏主成分系数存在非线性关系。在抽取的数据上进行结果验证,其分类结果和数据信息完全吻合,说明建立的基于稀疏主成分分析白酒质量评价模型能有效地实现白酒等级的评判,为白酒质量的控制及等级鉴定提供了一种更加有效的客观方法。