标题 | 支持向量机在葡萄酒识别上的应用 |
范文 | 陈婉娇 龙卫江 摘要:在当今的大数据时代,机器学习越来越广泛地应用于生活中,为人们解决实际生活生产的需要。其中,支持向量机算法是机器学习中重要的算法之一,应用广泛且有效。文章主要介绍了支持向量机的原理和模型,还介绍了核函数在支持向量机中的应用和交叉验证法的理论。在实验部分,文章将支持向量机应用于葡萄酒数据集上,通过分析对比,得到了以下的结论:对于葡萄酒数据集,采用R语言对多种支持向量机模型进行比较,当支持向量机的类型为nu-classification,核函数为线性核函数时,识别的正确率最高,达到了98.86%,并且应用交叉验证法进行验证,降低了识别误差。 关键词:机器学习;支持向量机;核函数;葡萄酒数据集;交叉验证法 中图分类号:O242.1 文献标识码:A 文章编号:1009-3044(2019)04-0154-03 Abstract: Today is the era of big data and machine learning is widely used in life to solve the needs of real life production. Among them, the support vector machine (SVM) algorithm is one of the important algorithms in machine learning, and it is widely used and effective. The article mainly introduces the principle and model of support vector machine, and also introduces the application of kernel function in SVM. In addition, the principle of cross-validation is introduced. In the experiments, the paper applies the SVM to the wine dataset. Through analysis and comparison, the following conclusions are obtained: For the wine dataset, a variety of support vector machine models are used for comparison. When the type of SVM is nu-classification, and the kernel function is the linear kernel, the recognition rate is the highest, which is 98.86%. In addition, the cross-validation method is applied in this paper, which reduces the recognition error. Key words: machine learning; support vector machine(SVM); kernel function; wine data set; cross-validation method 1 引言 在当今大数据时代,人工智能广泛应用于生活中的各个领域,机器学习在科学研究中占据着越来越重要的地位,科学工作者致力于研究机器学习算法,机器学习算法通过已有数据进行学习,获得学习规律,用于预测判别等等[1]。机器学习算法可分为监督学习、无监督学习、半监督学习,其中支持向量机是一种监督学习算法。 支持向量机也是机器学习中的一个重要的统计学习方法,应用广泛且有效,在模式识别、函数逼近、函数拟合、回归估计等均有很好的应用[2]。 本文主要研究支持向量机的算法,并将支持向量机应用于葡萄酒数据集上,选择合适的核函数,采用交叉验证法,探究支持向量机算法在该数据集上的判别效果。 2 基础知识 2.1支持向量機模型 机器学习中的分类模型有很多,支持向量机就是其中的一种,它原始的模型主要是在特征空间中将样本尽可能地分开,使得样本间间隔最大化,但是并非所有的样本都是完全线性可分的,于是有了软间隔的解决方法,但是对于一些样本是线性不可分的,就引出了核函数,将样本映射到高维空间中,使得样本在高维特征空间中可分,解决了样本非线性问题。因此对于支持向量机可以分为硬间隔SVM,软间隔SVM和非线性SVM[3][4]。 2.2 间隔与支持间隔 对于分类模型,属于监督学习范畴,是希望可以在空间中找到某个超平面,可以将类别不一样的样本区分开来,而且这样的超平面并不是唯一的,但最优化算法是可以找到最能区分样本空间的超平面,选择位于两类训练样本正中间的划分超平面,原因是这个超平面的分类结果最鲁棒,泛化能力最强[5]。 2.4 交叉验证法 交叉验证法在机器学习中很常用,通常用于检验模型算法的性能,基本的想法是将样本进行分组,分为训练集与测试集,交替多次进行训练与检验,以得到更为客观的评价模型算法的性能指标,常见的方法有以下两种: 1)留一法 留一法是每次将样本中的一个样本作为测试集,其他的样本作为训练集,假设样本有n个,则需要重复进行n次检验,n次分类准确率的平均值作为分类准确率,被实际评估的模型与期望评估的模型很相似,但比较适合小样本的情况[8]。 2)K-折交叉验证 将样本平均分为k组,每次试验将其中一组作为测试集,其他k-1组作为训练集,则需要进行k次试验,将k次分类准确率的平均值作为分类准确率,通常k的取值均大于1,常见的有5折和10折交叉验证法[8]。 3 实验与应用 3.1 数据描述 本文的数据来自UCI上的机器学习数据库,为葡萄酒数据集,表示的是意大利同一地区3中不同品种的葡萄酒13中化学成分含量,以期通过某种模型算法,可以将葡萄酒自动分类[9]。 本次分类的数據共有178个样本,每个样本有13个属性,并提供每个样本的正确分类,共有三类葡萄酒,现在选取两个属性Flavanoids和Hue对葡萄酒数据进行展示,可以看到,三类葡萄酒数据基本可由一定的超平面将其分开。 3.3 实验 本文采用的R语言进行建模,采用支持向量机软件包e1071,采用svm函数,其中,变量type在R语言中可选参数有C-classification、nu-classification、one-classification、eps-regression、nu-regression[10][11],前三种针对字符型结果变量的分类方式,第三种属于逻辑判断,后两种针对数量型结果变量的分类方式,在R语言中,变量kernel可选参数有Linear、polynomial、radial、sigmoid,分别为线性核函数、多项式核函数、高斯核函数、Sigmod核函数,分别将type为C-classification、nu-classification、one-classification和kernel为Linear、polynomial、radial、sigmoid[10][11]组合的12种模型应用于葡萄酒数据集上,用十折交叉验证法比较这12种组合模型的效果,采用10折检验数据的正确率的平均值作为模型检验的正确率。 可见,表现最差的是type为one-classification的支持向量机模型,无论核函数取哪一种正确率仍很低,表现最好的模型是type为nu-classification,核函数为线性核函数的支持向量机模型,识别的正确率为98.86%,通过观察这一类模型十折交叉验证正确率最高的为100%,共有八次达到正确分类,另外两次的正确率分别是:94.12%和94.44%。因此我们可以看到这一葡萄酒数据集在支持向量机模型中分类判别表现较好。 4 总结 文章将支持向量机应用在葡萄酒数据集的分类识别中,通过实验说明了当类型为nu-classification,核函数为线性核函数的支持向量机模型时,识别正确率最高,达到了98.86%。此外,通过了多种模型的比较,并且应用交叉验证法进行验证,降低了分类的误差。 参考文献: [1] 周志华. 机器学习[M]. 清华大学出版社, 2016. [2] 李航. 统计学习方法[M]. 清华大学出版社, 2012. [3] Saurabh Paul, Malik Magdon-Ismail, Petros Drineas. Feature selection for linear SVM with provable guarantees[J]. Pattern Recognition, 2016, 60:205-214. [4] Pirasteh A, Maghooli K, Mousavizadeh S. Iris recognition using localized zernikes feature and SVM[J]. Applied Mathematics & Computation, 2016, 168(2):1128-1144. [5] Shang W, Li L, Wan M, et al. Industrial communication intrusion detection algorithm based on improved one-class SVM[C]// Industrial Control Systems Security. IEEE, 2016:21-25. [6] 李彤. 支持向量机的分解理论算法研究[J]. 河南科技, 2013(2):9-10. [7] 姚迪, 刘会杰, 刘洁, 等. 基于支持向量机的认知无线电频谱感知[J]. 电子设计工程, 2018(21). [8] Xu P, Davoine F, Zha H, et al. Evidential calibration of binary SVM classifiers[J]. International Journal of Approximate Reasoning, 2016, 72(C):55-70. [9] Available at http://blog.csdn.net/zjccoder/article/category/2397449 [10] 肖敏, 王小天, 韩路朋. 基于SVM的露天边坡稳定性预测模型研究及R语言实现[J]. 露天采矿技术, 2018, 33(1): 38-42. [11] 姚兴山. 基于统计的中文文本分类研究[J]. 情报理论与实践, 2009, 32(5):95-98. 【通联编辑:王力】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。