APP下载

支持向量机在意大利葡萄酒种类识别中的应用

2020-01-05朱立云刘媛华

软件导刊 2020年11期
关键词:支持向量机机器学习

朱立云 刘媛华

摘 要:葡萄酒的化学成分是辨别葡萄酒品种的主要依据。考虑到常规检测方法复杂、繁琐,准确率低,选择机器学习方法识别葡萄酒种类。针对目前常用的K均值算法在葡萄酒识别中存在的问题,尝试使用支持向量机进行分类,并与K均值算法进行对比分析。结果表明,基于支持向量机的模型分类性能更好,准确率达到98.15%。

关键词:葡萄酒识别;机器学习;支持向量机;K均值

DOI:10. 11907/rjdk. 201277

中图分类号:TP301     文献标识码:A       文章编号:1672-7800(2020)011-0029-04

Application of Support Vector Machines in the Type Identification of Italian Wine

ZHU Li-yun,LIU Yuan-hua

(Management College,University of Shanghai for Science and Technology, Shanghai 200093, China)

Abstract:The chemical composition of wine is the main basis for distinguishing wine varieties. Considering that the conventional detection methods are complicated and cumbersome, and the accuracy is low, we employ the machine learning method to identify the type of wine. Aiming at the problems existing in the commonly used K-means algorithm in wine recognition, we use support vector machine to classify and compare with K-means. The results show that the classification performance based on support vector machine is better, and the accuracy rate reaches 98.15%.

Key Words:wine recognition; machine learning; support vector machines; K-means

0 引言

葡萄酒的化學成分复杂,因此是区分不同葡萄酒的重要依据。在进行葡萄酒识别时,目前国内外常用的检测方法是化学成分分析法和感官评价法。化学成分分析法[1]是指采用近红外光谱[2]和三维荧光光谱等技术检测葡萄酒化学成分,从而区分不同葡萄酒。采用该技术需要专业的化学知识,步骤繁琐、成本高,而且无法检测葡萄酒所有化学成分。感官评价法是指根据品酒师个人经验,凭借感官鉴别葡萄酒种类。该方法虽然成本较低,但是主观性很强,分类准确率很容易受到品酒师个人经验的影响。因此,本文使用机器学习方法识别葡萄酒种类。

目前机器学习领域常用的几种分类器为:逻辑回归、人工神经网络、决策树和支持向量机。逻辑回归[3-4]操作简单、容易解释,支持数值变量和分类变量,是学者们最常使用的分类器,但其更适用于二分类问题,即只有两个类别,而本文葡萄酒类别有3个,出于准确率的考虑,本文舍弃该方法;在样本量充足的情况下,人工神经网络[5-7]分类准确率较高,但本文样本只有178个,不满足神经网络对样本量的要求;决策树[8-9]简单、直观,但在实际使用时经常会出现过拟合的情况,即训练集准确率很高,而测试集准确率很低;支持向量机在解决小样本识别问题中体现出其它分类器所不具备的优势,并且通过定义恰当的核函数可解决神经网络局部最优问题。鉴于上述分析,本文选择支持向量机进行葡萄酒种类识别。

1 数据来源与可视化

1.1 数据来源

本文葡萄酒数据来自于UCI数据库的wine数据集,记录了意大利同一地区3种不同品种葡萄酒的13种化学成分。本次拟分类样本共有178个,每个样本有13个属性。葡萄酒共分为3种类别,其中类别1包含59个样本,类别2包含71个样本,类别3包含48个样本。

1.2 字段解释

数据集共包括以下13个字段,都为葡萄酒化学成分,属性含义如表1所示。

1.3 数据可视化

通过画出属性的二维散点图,以直观分析数据分布情况。样本散点图如图1所示。

由于从图1中很难区分出每种葡萄酒属于哪个类别,因此接下来构建支持向量机模型对葡萄酒进行分类。

2 基于支持向量机的模型构建

2.1 理论介绍

支持向量机[10-12]简称SVM,是一种非常常见的广义线性分类器,主要用于小样本数据的分类与回归问题,其最终目标是找到一个最优超平面对样本进行分割。支持向量机可分为3种类别:完全线性可分支持向量机、部分线性可分支持向量机与线性不可分支持向量机。

完全线性可分支持向量机原理如图2所示。图中,实心点和空心点代表两类不同样本,[H]为分类超平面,[H1、H2]为经过两类样本的所有平面中,离分类超平面最近,且平行于分类超平面的平面,[H1]与[H2]之间距离称为分类间隔。所谓最优分类面就是在正确区分两类样本的同时,使分类间隔达到最大的分类面。

猜你喜欢

支持向量机机器学习
基于改进支持向量机的船舶纵摇预报模型
前缀字母为特征在维吾尔语文本情感分类中的研究
基于支持向量机的金融数据分析研究