APP下载

基于二次邻近算法和支持向量机算法的质量判别算法研究

2019-09-10徐梦琳韩驰刘经纬

现代信息科技 2019年6期

徐梦琳 韩驰 刘经纬

关键词:多元统计分析;支持向量机算法;二次邻近算法;判别分析

中图分类号:TP274+.3;TP391.1      文献标识码:A 文章编号:2096-4706(2019)06-0104-02

Keywords:multivariate statistical analysis;support vector machine algorithm;quadratic proximity algorithm;discriminant analysis

0  引  言

葡萄酒质量的鉴别在过去需要耗费大量的人力,因此通过算法分析葡萄酒的各个属性来判别葡萄酒的质量是十分必要的。在实际分析过程中,利用线性判别分析算法对白葡萄酒质量进行判别时,测试集误差率达到了47.8%。利用邻近算法判别时,测试集误差率达到了37.9%。利用朴素贝叶斯算法判别时,测试集误差率达到了55.3%;对于红葡萄酒,利用线性判别分析算法判别时,测试集误差率达到了40.2%。利用邻近算法判别时,测试集误差率达到了30%。利用朴素贝叶斯算法判别时,测试集误差率达到了44.8%。尽管紅葡萄酒的判别结果明显好于白葡萄酒,但对于这两种葡萄酒而言这些常见的判别方法都出现了极高的错误率,因此对葡萄酒质量判别瓶颈的研究就显得十分重要。

1  研究方法

1.1  有序多分类逻辑回归算法

有序多分类逻辑回归算法将因变量划分为程度各异的等级,对这多个等级进行Logistic回归模拟。并且和普通逻辑回归一样,有序多分类逻辑回归算法也是广义线性回归。在本文中将质量评分3~9分看作有大小关系的等级序列,利用有序多分类逻辑回归算法探究评分之间的大小关系是否为造成葡萄酒判别错误率高的原因。

1.2  二次邻近算法

传统邻近算法是将被判别的样本放入训练集建立的预测模型中,根据样本周围其他数据样本的分布来确定此样本自身的分布。其中的参数k是用来确定样本周围其他数据样本的个数,其取值会影响模型的判别结果,k值太大判别结果会出现过拟合,而k值太小判别结果会不精确。本文利用循环遍历尝试所有可能的值来确认参数k的取值。

二次邻近算法是对传统邻近算法的改进。针对葡萄酒数据集,传统的邻近算法并不管用。但是通过对传统邻近算法的分析可以推测,传统邻近算法判别错误率极高的原因可能在于对质量等级为5、6、7分的中等葡萄酒的判别结果相互的混淆。为了提高判别精度,探究葡萄酒质量判别的瓶颈,提出了二次邻近算法。即,提取出第一次邻近算法判别结果中混淆严重的部分,将其放入新建立的预测模型中进行再一次的邻近算法的判别。在本文中,第二次邻近算法的预测模型是利用实际质量等级为5、6、7分的葡萄酒观测数据建立的。在最终结果中,包含使用两次邻近算法的易混淆部分的结果以及第一次邻近算法的易区分部分的结果。

1.3  支持向量机

支持向量机是深度学习算法的一种,支持向量机是通过引入核函数,将样本空间映射到高维特征空间中,从而使在起始的样本空间非线性可分转化为在高维特征空间中线性可分。[1]在支持向量机中核函数的选择直接关系到判别模型的建立,常用的核函数有线性核、多项式核、高斯核、Sigmoid核。核函数的选取需要结合数据自身的情况。

2  模型验证

2.1  数据处理

本文使用的Wine Quality数据集由葡萄牙吉马良斯米尼奥大学的Paulo Cortez提供。数据集中的葡萄酒源自Vinho Verde地区,由于红、白葡萄酒之间差异较大,使用红葡萄酒和白葡萄酒样品创建了两个数据集。输入包括客观测试(例如:PH值),输出基于传感数据(葡萄酒专家至少进行3次评估的中位数)。每位专家都对葡萄酒质量进行评分介于0分(非常差)和10分(非常优秀)之间。

每条数据有12个属性值——固定酸度、挥发性酸度、柠檬酸、残糖、氯化物、游离二氧化硫、二氧化硫总量、密度、PH值、硫酸盐、酒精。白葡萄酒包括4898条观测数据,红葡萄酒数据集包括1599条观测数据。并分别取这两种葡萄酒的70%的观测数据作为训练集用于模型建立,30%的观测数据作为测试集用于模型验证。因变量质量评分实际在白葡萄酒数据集中只包含3~9分,在红葡萄酒数据集中只包含3~8分,都不服从正态分布。

2.2  有序多分类逻辑回归算法

有序多分类逻辑回归的白葡萄酒模型预测结果在训练集中错误率就已经达到了47.8%,测试集错误率为47.7%。并且实际质量评分为5分的白葡萄酒训练集数据有51.7%被判断为6、7分,实际质量评分为6分的白葡萄酒训练集数据有23.8%被判断为5分和7分,实际质量评分为7分的白葡萄酒训练集数据有77.4%被判断为6分和7分,白葡萄酒测试集结果与训练集类似。对于红葡萄酒数据集,训练集错误率为40.1%,测试集错误率为40%。实际质量评分为5分的红葡萄酒训练集数据有23.7%被判断为6、7分,实际质量评分为6分的红葡萄酒训练集数据有37%被判断为5分和7分,实际质量评分为7分的红葡萄酒训练集数据有78.4%被判断为6分和7分,红葡萄酒测试集结果与训练集也类似。

分析数据发现,尽管红葡萄酒数据集的错误率低于白葡萄酒,但是有序多分类逻辑回归对于这两种葡萄酒的判别结果均不理想,因此葡萄酒等级的有序并不是造成葡萄酒判别错误率高的根本原因。同时观察本次模型预测结果可以猜测,葡萄酒判别错误率高的根本原因可能评分为5、6、7分的中等葡萄酒极易混淆。

2.3  二次邻近算法

第一次使用邻近算法的白葡萄酒数据集错误率最小在k值取1时,此时测试集错误率最小,为37.9%。由于评分为5、6、7分的白葡萄酒相互混淆,将第一次邻近算法判别的结果放入利用实际评分为5、6、7分的白葡萄酒观测数据建立的二次模型中預测,结果仍不理想。原因在于:(1)尽管对评分为5、6、7分的白葡萄酒数据进行了单独的第二次邻近算法建模,但错误率仍然达到了33.7%;(2)第二次邻近算法的结果必然涵盖了对非中等质量葡萄酒的误判。对红葡萄酒二次邻近算法建模的结果也不理想,第一次对所有观测数据建模的错误率达到了31%,单独对中等质量的红葡萄酒建模后的判别错误率仍有28%,最终二次建模的结果也不理想。错误率高的原因和白葡萄酒类似。二次邻近算法的模型预测结果验证了有序多分类逻辑回归算法中做出的猜想——中等质量的葡萄酒的判别是葡萄酒判别过程中的瓶颈。

2.4  支持向量机算法

为了进一步确定葡萄酒判别的瓶颈,对于红、白葡萄酒数据集进行了进一步的支持向量机模型预测分析。白葡萄酒利用支持向量机算法建模时,发现不改变不同质量评分白葡萄酒之间的权重比时,训练集错误率为38%,测试集错误率为43%。而不断增加评分为5、6、7分的白葡萄酒的权重,错误率会逐渐减小。最终利用支持向量机算法模型预测的白葡萄酒训练集错误率降到了3.6%,测试集错误率为37.7%。对红葡萄酒进行支持向量机算法模型预测产生的结果类似,不调整权重时,训练集错误率为31.1%,测试集错误率为37.3%。增大评分为5、6、7分的红葡萄酒的权重后,训练集错误率减至1.1%,测试集误差为41.9%。调整权重之后的判别结果可能是出现了过拟合现象,但是调整惩罚系数之后,训练集和测试集结果仍然存在比较大的差异。因此支持向量机算法模型预测的结果说明,中等质量的葡萄酒极易在算法中相互混淆的原因是,中等质量的葡萄酒的差异不大并且具备各自的特点。

3  结  论

本文对于常见多元统计分析方法在葡萄酒质量判别过程中存在较大误差的情况进行了分析。通过有序多分类逻辑回归算法、二次邻近算法、支持向量机算法对葡萄酒质量判别的瓶颈进行了研究。结果表明红葡萄酒相对白葡萄酒而言容易判别,但红、白葡萄酒的评分依据是十分相似的。综合两种葡萄酒判别的结果,发现葡萄酒质量判别的瓶颈在于中等质量的葡萄酒在模型预测的过程中极易产生混淆。在葡萄酒酿造过程中,多种醇类物质和脂类物质贡献了葡萄酒的香气,并且不同的酿造方法,存放时间都对葡萄酒和口感和质量产生影响。[2]因此,由于影响葡萄酒质量的因素太多,低等葡萄酒的各个理化指标都无优势,而高等葡萄酒各个指标都有明显优势,都易于辨别;中等质量葡萄酒只是相对于低等质量葡萄酒而言某些理化指标有优势,且不同品牌的中等葡萄酒优势各异,难以辨别。

参考文献:

[1] 杨浩,孟娜,王婧,等.基于支持向量机的京津冀城市群热环境时空形态模拟 [J].地球信息科学学报,2019,21(2):190-200.

[2] 房玉林,王华,张莉,等.不同酿造工艺对毛葡萄酒香气的影响 [J].农业工程学报,2007(9):246-250.

作者简介:徐梦琳(1998-),女,汉族,江西南昌人,本科在读,研究方向:大数据分析。