SVM神经网络的数据分类预测-意大利葡萄酒种类识别
- 格式:docx
- 大小:103.71 KB
- 文档页数:3
python葡萄酒质量数据分类与回归Python葡萄酒质量数据分类与回归在现代社会中,数据分析和机器学习已经成为了非常热门的话题。
Python作为一种强大的编程语言,在数据分析和机器学习方面也有着广泛的应用。
本文将介绍如何使用Python对葡萄酒质量数据进行分类和回归分析。
1. 数据集介绍本文使用的数据集是UCI Machine Learning Repository中的葡萄酒质量数据集。
该数据集包含了红葡萄酒和白葡萄酒的各种化学成分以及葡萄酒的质量评分。
该数据集共有1599个样本,其中红葡萄酒样本数量为1599个,白葡萄酒样本数量为4898个。
2. 数据预处理在进行机器学习任务之前,我们需要对数据进行预处理,以便更好地进行后续的分析。
首先,我们需要将数据集分为训练集和测试集。
训练集用于训练模型,测试集用于评估模型的性能。
其次,我们需要对数据进行标准化处理。
标准化处理可以使得数据的均值为0,方差为1,这样可以避免不同特征之间的数量级差异对模型的影响。
最后,我们需要对数据进行特征选择。
特征选择可以去除不相关或冗余的特征,从而提高模型的性能。
3. 分类任务在分类任务中,我们需要将葡萄酒分为好酒和差酒两类。
根据数据集中的质量评分,我们可以将质量评分大于等于7的葡萄酒定义为好酒,将质量评分小于7的葡萄酒定义为差酒。
在进行分类任务之前,我们需要选择合适的分类算法。
本文选择了支持向量机(SVM)算法进行分类。
SVM算法是一种非常优秀的分类算法,在处理高维数据和小样本数据方面有着很好的表现。
使用Python中的sklearn库,我们可以轻松地实现SVM算法。
首先,我们需要对训练集进行训练,然后使用测试集进行测试。
最后,我们可以计算模型的准确率、召回率、F1值等指标来评估模型的性能。
4. 回归任务在回归任务中,我们需要预测葡萄酒的质量评分。
同样地,我们需要选择合适的回归算法。
本文选择了多元线性回归算法进行回归分析。
【python数据挖掘课程】⼆⼗七.基于SVM分类器的红酒数据分析⼀.SVM基础概念⼆.S。
这是《Python数据挖掘课程》系列⽂章,前⾯很多⽂章都讲解了分类、聚类算法,这篇⽂章主要讲解SVM分类算法,同时讲解如何读取TXT ⽂件数据并进⾏数据分析及评价的过程。
⽂章⽐较基础,希望对你有所帮助,提供些思路,也是⾃⼰教学的内容。
推荐⼤家购买作者新书《Python⽹络数据爬取及分析从⼊门到精通(分析篇)》,如果⽂章中存在错误或不⾜之处,还请海涵。
⽬录:⼀.SVM基础概念⼆.SVM基本使⽤⽅法三.TXT红酒数据集预处理四.SVM分析红酒数据五.代码优化五年来写了314篇博客,12个专栏,是真的热爱分享,热爱CSDN这个平台,也想帮助更多的⼈,专栏包括Python、数据挖掘、⽹络爬⾍、图像处理、C#、Android等。
现在也当了两年⽼师,更是觉得有义务教好每⼀个学⽣,让贵州学⼦好好写点代码,学点技术,"师者,传到授业解惑也",提前祝⼤家新年快乐。
2019我们携⼿共进,为爱⽽⽣。
前⽂参考:⼀.SVM基础概念⽀持向量机(Support Vector Machine,简称SVM)是常见的⼀种判别⽅法。
在机器学习领域,是⼀个有监督的学习模型,通常⽤来进⾏模式识别、分类以及回归分析。
该算法的最⼤特点是根据结构风险最⼩化准则,以最⼤化分类间隔构造最优分类超平⾯来提⾼学习机的泛化能⼒,较好地解决了⾮线性、⾼维数、局部极⼩点等问题。
由于作者数学推算能⼒不太好,同时SVM原理也⽐较复杂,所以SVM算法基础知识推荐⼤家阅读CSDN博客著名算法⼤神“JULY”的⽂章《⽀持向量机通俗导论(理解SVM的三层境界)》,这篇⽂章由浅⼊深的讲解了SVM算法,⽽本⼩节作者主要讲解SVM的⽤法。
SVM分类算法的核⼼思想是通过建⽴某种核函数,将数据在⾼维寻找⼀个满⾜分类要求的超平⾯,使训练集中的点距离分类⾯尽可能的远,即寻找⼀个分类⾯使得其两侧的空⽩区域最⼤。
现代机器学习理论大作业题目:葡萄酒的种类识别---- 基于支持向量机(SVM)的数据分类预测学院:姓名:学号:《现代机器学习理论》葡萄酒的种类识别---- 基于支持向量机(SVM)的数据分类预测一、理论知识1、支持向量机(SVM)简介支持向量机(SVM)是Vapnik等人根据统计学习理论提出的一种学习方法,近年来在模式识别、回归分析、图像处理和数据挖掘等方面得到了广泛应用。
支持向量机方法根据Vapnik的结构风险最小化原则,尽量提高学习机的泛化能力,即由有限训练样本得到的决策规则,对独立的测试集仍能够得到小的误差。
此外,支持向量机算法是一个凸二次优化问题,能够保证找到的极值解就是全局最优解。
这些特点使支持向量机成为一种优秀的学习算法。
目前在国外,SVM是一个研究的热门,并目已经取得了一些成果。
这一点可以从近几年国外发表的学术论文看出,IEEE Transactions on Neural Networks也已经出版了关于VC理论和SVM方面的专集。
自从90年代初经典SVM的提出,由于其完整的理论框架和在实际应用中取得的很多好的效果,在机器学习领域受到了广泛的重视。
其理论和应用在横向和纵向上都有了发展。
目前对SVM的理论研究与进展主要包括:模糊支持向量机;最小二乘支持向量机;加权支持向量机;主动学习的支持向量机等。
而对算法的改进主要内容有:降低计算量;自适应算法的研究;噪声数据处理;核函数的构造和参数的选择理论研究;主动学习策略的应用;增量学习等。
虽然SVM方法在理论上具有很突出的优势,但与其理论研究相比,应用研究相对比较落后。
最近几年,应用研究才逐渐地多起来。
在模式识别领域,包括手写体数字识别、人脸检测、语音识别、目标识别、文本分类等方面,取得了一定的成果。
此外,支持向量机具有调节参数少,运算速度快,时间代价小的优点,随着支持向量机理论研究的逐步深入,支持向量机在模式识别、回归估计、概率密度函数估计等问题上的研究也逐步深入,必将成为各国研究者的研究热点。
电气信息工程学院毕业设计(论文)开题报告课题名称:葡萄酒种类识别的支持向量机方法实现专业:电子信息科学与技术姓名:班级学号:指导教师:二○一四年四月一日一、选题的意义及背景概况1.课题的意义随着科技的进步和社会生活水平的提高,在食品工业、环境监测、医疗诊断、海关检查等方面,人们越来越多地开始对特定气味的物体进行检测。
在工业领域对有毒气体进行检测,人们常常利用气象色谱法进行组成和浓度分析,但是这些分析用到的仪器成本高,同时常常需要复杂的数学换算。
在对香料、食品、酒类、咖啡等物品进行检验时,大多数时候是依靠人类的嗅觉进行评价的,但是,这种方法主观性强,时间和费用消耗较大,鉴别结果往往受到人的经验、身体状况、情绪等外界因素影响,准确性难以保证。
质检部门有时也用到化学分析法及物理化学分析法对当天生产的成品进行抽样检测来控制质量,化学分析步骤繁琐,实时性差,而物理化学分析需要比较贵重的仪器 (如液相色谱仪) ,并且对样品的提取、制备和仪器操作技术要求都较高,不适应快速分析的需要。
另外,用化学成分分析的方法来鉴别酒类质量也是比较困难的,因为影响酒类质量的化学成分较多 (如酒的香气质量就是多种致香成分的综合反映) ,完全测出这些成分不仅非常复杂,还要花费很多时间和费用,而且,有些成分含量极微,测试非常困难。
因此,探求一种客观准确的嗅觉鉴别方法来替代人工气味鉴别和分析化学仪器是人们多年的期望。
医学研究表明葡萄酒中蕴藏了多种氨基酸、矿物质和维生素,这些物质都是人体必须补充和吸收的营养品。
目前,已知的葡萄酒中含有的对人体有益的成分大约就有600种。
因此每天饮用适量的葡萄酒,可以起到延缓衰老,预防心脑血管病,预防癌症美容养颜的作用。
市场上所销售的葡萄酒价格幅度很大,从几十到上千都有,葡萄酒的等级划分成为研究葡萄酒的一个重要领域。
目前葡萄酒的等级划分仍然是感官评定的方法,即使再好的鉴别师,于仅凭个人经验,多少会带一些偶然性。
基于数据挖掘技术的红酒质量评价与等级划分研究红酒是一种受到广泛欢迎的酒类,在世界各地都有着众多的酒友和爱好者。
而红酒的品质和等级则成为了关注的重点之一,因为好的红酒能够为人们带来更美好的品尝体验。
然而,传统的红酒评价方式多为人工,时间和成本较高。
近年来,基于数据挖掘技术的红酒质量评价与等级划分研究越来越受到人们的关注。
一、数据挖掘技术与红酒质量评价数据挖掘技术是一种从大量数据中自动发现规律的方法,可以帮助人们快速准确地对红酒进行品质评价。
数据挖掘技术不仅包括了基础的数据统计和分析方法,还包括了人工智能、机器学习和深度学习等高级算法,可以更加准确地对红酒进行评价和分类。
在红酒质量评价中,数据挖掘技术主要通过构建模型实现。
模型的构建包括了特征提取、特征选择、模型训练和模型应用等多个过程。
其中,特征提取是数据挖掘技术的关键。
红酒的特征包括了多种成分和属性,如酒精度、酸度、甜度、色泽、气味等。
在特征提取中,需要选择合适的特征来对红酒进行描述和评价,同时,还需要对特征进行标准化和归一化等预处理操作。
二、基于数据挖掘技术的红酒品质等级划分方法基于数据挖掘技术的红酒品质等级划分方法主要包括了基于聚类的划分和基于分类的划分两种方法。
基于聚类的划分方法是将相似的红酒样本划分在一类中,不同的红酒样本则归为不同的类别。
在聚类过程中,需要选择合适的距离计算方法、聚类算法和聚类评价指标等。
在红酒品质等级划分中,可以选择基于距离的层次聚类或基于密度的DBSCAN聚类等算法来进行。
同时,也需要根据实际情况选择合适的聚类评价指标,如轮廓系数、DB指数等。
基于分类的划分方法是将红酒样本划分到已知的品质等级类别中。
在分类过程中,需要选择合适的分类算法和分类评价指标等。
在红酒品质等级划分中,可以选择k-NN、SVM、决策树等分类算法来进行。
同时,也需要根据实际情况选择合适的分类评价指标,如准确率、召回率、F1值等。
三、基于数据挖掘技术的红酒品质等级划分案例基于数据挖掘技术的红酒品质等级划分已经有一些实际应用案例。
第35卷第1期2017年2月陕西科技太摩摩裉Journal of Shaanxi University of Science & TechnologyVol.35 No.1Feb.2017文章编号:1000-5811 (2017)01-0178-05基于AdaBoost-SVM的葡萄酒品质分类模型优化设计杨云\卢美静\穆天红2(1.陕西科技大学电气与信息工程学院,陕西西安710021: 2.青海省农牧业市场信息中心.青海西宁810008)摘要:针对传统葡萄酒品质分类中低品质类葡萄酒样本识别率低的问题,提出一种基于集成支持向量机的葡萄酒品质分类优化算法.首先,通过“ 一对多”支持向量机实现多分类;其次,把 支持向量机作为基分类器,反复训练支持向量机分类样本,通过AdaBoost得到多个支持向量 机基分类器组合的强分类器,运用A d a B o o s t算法动态调整样本权值,适当提高低品质类样本权重,使低品质类中错判的样本代价增大,从而改进不平衡样本分类性能;最后,以Wine Quality数据集为研究对象,建立以多分类器优化集成为核心的葡萄酒品质分类模型.仿真结果表明,与传统的S V M算法相比,所提方法显著提高了低品质类葡萄酒分类精度.关键词:分类;支持向量机;集成学习;葡萄酒品质;不平衡数据中图分类号:TP391 文献标志码:AOptimal design of wine quality classificationmodel based on AdaBoost-SVMYANG Yun1,LU Mei-jing1,MU Tian-hong2(1. College of Electrical and Information Engineering,Shaanxi University of Science Technology,Xi’an710021,China;2.Qinghai Agriculture and Animal Husbandry Market Information Center,Xining 810008, China)Abstract:Focused on the issue that traditional classification algorithms for wine quality classification have a low recognition rate to low-quality wines,an optimization algorithm based on ensemble Support Vector Machine (SVM)was proposed.Firstly,muti-class was accomplished by 1-against-the rest SVM;Secondly,SVM was repeatedly trained as weaker classifier and a strong classifier was gotten by grouping a number of base classifiers based on SVM.The sample weight were dynamically adjusted by using AdaBoost algorithm,the sample weight of low quality were appropriately increased,and then the cost of misjudge samples was also increased for improving classification performance of unbalanced datasets;Finally, the wine quality datasets of UCI database was taken as research object,the classification **收稿日期=2016-08-19基金项目:陕西省科技厅社会发展科技攻关计划项目(2015SF277,2016SF-444);陕西省科技厅科学技术研究发展计划项目 (2014K15-03V06);西安市科技计划项目(NC1403(2),NC1319(1))作者简介:杨云(1965 —),女,山东青岛人,教授,博士,研究方向:嵌入式应用、材料计算机应用第1期杨云等:基于AdaBoost-S V M的葡萄酒品质分类模型优化设计•179•model of wines quality was established that using muti-classifiers optimal integration as the core. The simulation results show that compared with the standard SVM algorithm, classification accuracy of low quality wine was significantly improved based on AdaBoost-SVM.Key words:classification;support vector machine;ensemble learning;wine quality;unbalanced data〇引言随着我国市场经济的蓬勃发展和人们对葡萄酒消费需求的迅速增加,葡萄酒行业正处于一个高速发展的时期[1].葡萄酒品质一直以来都是消费者以及生产者最关心的冋题,尤其是对于中局档的匍萄酒来说,葡萄酒品质高低近乎决定了其价值的高低[2].传统葡萄酒品质分类方法主要通过感官分析法,但这种方法易受到评酒人员嗜好、经验等因素的影响,通常使得评定存在一定主观性和不确定性[3].因此有学者研究基于数据挖掘的葡萄酒品质分类方法.最初,Cortez等[4]提出采用支持向量分类算法建立葡萄酒品质分类模型.之后,徐海涛[5]在Cortez工作基础上进行了优化,提出采用改进的近似支持向量机方法进行葡萄酒品质分类,其目标是改进其分类精度;刘延玲[6]提出基于一种新的Hopfield神经网络分类模型,使得该模型能够在较短收敛时间内实现葡萄酒品质分类.现有研究虽然能够取得较高分类准确率,但没有考虑样本数据分布不平衡的特点,忽略了低品质类葡萄酒样本分类精度.实际在葡萄酒品质分类过程中,高品质葡萄酒被误判为低品质葡萄酒所产生的成本远小于忽视低品质问题而造成的损失.本文采用与上述文献同样的数据集,充分考虑葡萄酒样本数据分布,以提高低品质类葡萄酒识别率为目标,提出一种基于集成学习改进的支持向量机葡萄酒品质分类优化模型.提取样本数据特征,建立数据分析模型,通过实验验证,该方法可以准确识别葡萄酒品质类别,有效提高低品质葡萄酒分类精度.1不平衡数据分类不平衡数据是指样本类之间呈现不相等的数据分布,其中某些类的样本数远远多于其他类的样本数.通常标准的分类算法是偏向样本数量多的类,没有将数据分布考虑在内并且使用总体精度作为训练目标[7].在最坏的情况下,少样本类会被视为多样本类的异常点而被忽略,从而导致少样本类分类性能下降.随着集成学习理论体系的不断发展完善,集成学习方法通过使用不同权重加权的投票策略,有效解决了非平衡数据集分类问题[8].对于多类不平衡数据集分类问题,可以通过分解策略将多类分类问题转化为更容易解决的二分类问题[9].文中提出采用一对多支持向量机方法,在一类样本与剩余的多类样本之间构造分类平面,从而达到多类识别的目的.2理论基础2.1 支持向量机原理支持向量机(Support Vector Machine,SVM) 是Vapnik等提出的一种应用于二类平衡数据集分类的有效算法,其核心思想是基于结构风险最小原理寻找最优分类平面[1°].如图1所示,以二元线性可分问题为例,所谓最优分类面,就是能将两类样本点正确分类,且要使两类的分类空隙最大[n].线性分类平面描述如式(1)所示.c o T •x b =0G R d(1)式(1)中和6分别表示权重向量和最优超平面偏移.对于非线性分类问题,支持向量机通过引入核函数,通过一个非线性函数•)将训练数据集X 映射到某个高维线性特征空间,在变换空间求最优分类面,并得到分类器的决策函数[12].采用适当的核函数K (,'),并使K (,' ) = p p (^),把优化问题中的所有点积运算都运用核函数运算代替,得到对偶最优化问题见式(2).• 180 •f 矣备科技大嗲#裉第35卷max W(a ) = y^Jal —i = l1 沒 沒j D S 叫u K (Tf ,:Tj )(2)^ i = l j = ls . t . 0 ^ a ,C , ^ A:y i = 〇 (z ' = 1,2,•. •,?7)i =i采用拉格朗日乘子法,得到最优判别函数见式(3).fioc ) =sig ?i ^ ^yiK (xt ,x ) + bm ](3)i =\2. 2 AdaBoost 算法集成学习的基本思想是对同一问题通过集成 多个基分类器共同决策的机器学习技术,通过调用 简单的分类算法,获得多个不同的基分类器,并使 用某种策略将基分类器组合成一个强分类器[1««Boosting 算法M 是被广泛使用的集成学习算法, AdaBoost 算法[15]是Boosting 算法的代表算法,其 核心原则是反复修改训练样本集权重分布拟合一 系列基分类器.在每次迭代过程中,增大错分类样 本权重,减小正确分类样本权重,使得基分类器聚 焦在那些很难分的样本上,根据调整权重后的训练 样本重新进行学习,这使得分类器在下次迭代过程 中更关注被错分的样本,循环迭代此过程,所有弱 基分类器的预测通过加权多数投票法,最终得到一 个强分类器〜3.该方法对非平衡数据集分类有利.3 AdaBoost-SVM 分类算法设计运用AdaB 〇〇st -S V M 分类算法进行集成分类 器设计,主要有两个问题,一是核函数及参数选择; 二是改善标准支持向量机对非平衡数据集分类效果不佳问题.AdaB 〇〇st -S V M 算法是把基于径向基 核函数(R B F )的S V M 作为AdaBoost 的基分类 器,并应用网格搜索法[17]进行参数优化.主要的设 计思路:(1)基于随机采样,由原始样本D 产生m 个训练子集;(2)训练子集由A (Z ' = 1,2,…,777)产 生子分类器SVM Z ; (3)采用加权多数投票法组合 得到强分类器.具体实现过程如图2所示.|训练样本集d |,l训练手集D i |刺练子ftD 2 | ...|训练子集D …,±m m± mm|基分类器sv m J 基分类器SVM 2| “_|接分炎器SVM ,…分类结果:^a !)!-------1分类结果(£2,a 2)| 分类结果(^,a m)|| 強分类器 AT (iaB oost-S V M |图2 AdaBoost-SVM 算法流程图AdaBoost -S V M 具体算法描述如下:1投票组合| ^ 1r输入:训练集D = {(肩,% ),( ,% ),…,(美,〜)丨;基分类器RBFSVM ,训练循环次数T .Step l :初始化.训练集权值分布A ⑴=1/N , 循环次数?=1;SteP 2:参数选择.利用网格搜索方法在D 上 进行十折交叉验证法求得S V M 基分类器建模最 优参数(C ,a );SteP 3:训练基分类器.Step 3. l :F o r ^=l , 2 ••• T ;Step 3. 2:通过具有权值分布Di (/)的训练集 得到第〖次弱学习器H , = L (D ,A );SteP 3.3:根据式(4)计算的错误率£/;me , =⑴(凡⑷ (4)£ =1Step 3. 4iIF :0<e /< = 0. 5,根据式(5)计算权重值仏, 根据式(6)更新样本权重;at^-ln ---—(5)乙et^D t(〇 }e x p (-^),/z ,(x z)M+i (z ) = I n I •(6)I i lexpCa ^) ,ht (x ,) # y,+ ;跳转至Step 3. 2继续执行.E L S E :跳转至步骤4,结束循环.SteP 4:构建基分类器的线性组合.训练T 轮 后得到T 组弱分类器由T 组弱分类器组 合得到强分类器如式(7)所示.T输出:H (jt )=sign ( ^atH t (x ))(7)^ = 14AdaBoost -SVM 葡萄酒品质分类算法实现基于AdaBoost -S V M 的葡萄酒品质分类系统如图3所示,包括了分类器设计的核心模块.如上 文所述,葡萄酒品质分类属于多类分类问题,文中采用一对余类支持向量机(l -against-the rest SVM )方法将其转换为多个二类分类,在某类样本 与剩余多类样本间构造决策平面,从而达到多类分 类的目的.如图3所示,AdaBoost -S V M 分类器: AdaBoost -SVM !表示低等级(类0)和中(类1)、高 (类2)等级间的分类器;AdaB 〇〇st -SVM 2表示中 等级(类1)和高等级(类2)间的分类器.假设第々类样本看做正类(7=〇,1,2),而将其 余々一 1类样本合并看做负类,通过二分S V M 方 法求出一个决策函数如式(8)所示:f ) (x )〇}, • + h = 了]c “y(』,/,:r )十 ^ (8)第1期杨云等:基于AdaBoost-S V M的葡萄酒品质分类模型优化设计• 181 •图3葡萄酒品质分类系统框图5仿真实验5. 1数据采集及预处理实验数据来自U C I数据库[18]中的Wine Quality数据集,该数据集共4 898个样本数据,每 一个样本由11个理化指标(特征变量)和1个感官 指标(目标变量)组成,具体的理化指标统计量如表 1所示.感官指标指的是品酒师的感官评价结果,也就是葡萄酒的品质等级,按照十分制的评分标准 将葡萄酒分为〇(最差)到1〇(最优),样本数据共7个等级:3〜9.由于数据集中有些类别样本数过少,为了方便研究,文中依据感官评价结果将葡萄酒品 质分为3个等级,具体等级划分标准以及每个等级 的样本分布如表2所示,三类样本的非平衡比例约 为 1 : 20 : 6.表1葡萄酒理化指标A tt r ib u te/(u n it s)M ean M in M a x SD酒石酸/(g/d m3) 6. 86 3. 8014. 200. 84醋酸/(g/d m3)0. 290. 08 1. 100. 10梓檬酸/(g/d m3)0. 330. 00 1. 660. 12残留糖/(g/d m3) 6. 390. 6065. 80 5. 07氯化钠/(g/d m3)0. 050. 010. 350. 02游离S O V(m g/d m3 )35. 30228917. 00总S02/(m g/d m3)138. 4944042. 49密度/(g/c m3)0. 990. 99 1. 040. 003p H 3. 19 2. 72 3. 820. 15硫酸钾/(g/d m3)0. 490. 22 1. 080. 11酒精八v〇l. %)10. 518. 0014. 20 1. 23表2等级划分及每个等级的样本分布情况感官评分<5> =5,〈7> =7品质等级低等级中等级_等级类别号012样本分布183 3 6551060如表1所示,酒石酸的测量值介于[3. 8,14. 2] g/dm3之间,而总S02的测量值则介于[9,400 ] mg/dm3之间,为了提高最后分类的准确率,对样 本数据集进行归一化预处理.本文采用最大最小归 一化法,将所有属性归一到[〇,1]之间,计算方法见 式(9):在 Python 中使用 StandardScaler ()• fit _ transform (Data)函数对数据集归一化处理,如某样本酒石酸初始值为7. 0,则(7. 0 —3.80)/(14. 20 —3.80) =0. 31.5.2模型构建经过数据预处理后,根据建模样本数据建立基于AdaB〇〇st-S V M算法的葡萄酒品质分类模型.在建立分类模型过程中,为了防止过拟合,样本数据集分为训练数据集和测试数据集如表3所示.表3样本数据类标签训练集测试集总计类〇12360183类1 2 951704 3 655类28442161060总计 3 918980 4 898在训练支持向量机的时候,选取高斯径向基核 (RBF)作为支持向量机核函数,包括两个核参数:C和C7.选择适当的C和C7,对于支持向量的性能是 至关重要的,过低的参数C使决策表面光滑,而过 高的C会出现训练样本过拟合现象.文中使用网 格搜索法选取有效的参数(c,a).设c和a的搜索 范围分别为[10 1,1〇3]和[10 5,1〇5],可以尝试5 X l l= 55种参数组合,选择使得分类器的正确率 保持在50%〜60%之间的参数组合,经过多次实 验当(C,a)取(1,0.01)时训练得到的分类器就可 以满足系统算法的需要.当C=10,a=0. 01时,使用训练数据集训练 支持向量机模型.构建2个子分类器,AdaBoost-S V M i和AdaB〇〇st-SVM2•建立模型之后,首先使 用训练数据集进行回判,然后使用测试数据集进行 测试,分类结果如表4和表5所示.对于训练数据 集和测试数据集来说,AdaBoost-S V M i和Ada-B〇〇st-SVM2子分类器的分类准确率均达到90%以上.最后,将子分类器的分类结果通过加权多数 投票法得到AdaB〇〇st-S V M的分类结果混淆矩阵 如表5所示.混淆矩阵对角线上元素表示每个等级 类被正确分类的样本数,第一行说明类〇的60个 样本有44个分类正确,16个错分为类1.最终,测试数据集共有892个样本被正确分类,AdaBoost-S V M分类器取得了 91. 02%(892/980)的准确率.表4 AdaBoost-SVM子分类器分类结果训练测试训练正测试正________________________________样本数样本数确率/%确率/%A d aB o o s t-S V M i 3 918 980 93. 02 90.03A d aB o o s t-S V M2998 245 92.1891.37表5 AdaBoost-SVM分类结果混淆矩阵实际类别j^召回率M04416073. 33107040100204017681.48• 182 •f 矣备科技大嗲#裉第35卷0.0 0.20.4 0.6 0.8 1.0False positive rate图 4 ROC Curve of SVM6结论基于AdaB 〇〇st-SVM 分类算法的葡萄酒品质分类模型,克服了现有葡萄酒品质分类方法存在的 缺点,有效解决了非平衡葡萄酒样本数据分类效果不佳的问题.文中所提算法与标准SVM算法分类 结果进行对比分析,分析结果表明文中算法有效地 改善了标准SVM对非平衡数据集的分类效果,使得低品质类葡萄酒样本识别率得到了很大提高的 同时,整体样本分类性能以及泛化能力也得到了提 升.因此该方法也可以被集成到支持决策系统中, 辅助提高酿酒师的酿酒速度以及质量.参考文献[1] 何瑜.中国葡萄酒产业竞争力研究[D ].杨凌:西北农林科技大学,2014.[2] B aker A K ,R o s s C F. Sensory e valuation o f im pa ct o f w inem a trix on red w ine fin is h : A p re lim in a ry s tu d y [J ]. Sensory S tu d ie s ,2014,29(2) : 139-148.[3] 邵志芳.葡萄酒品质分析方法研究进展[J ].中国酿造,2015,34(4):17-20.5.3对比分析为了比较AdaB 〇〇st -S V M 的分类性能,基于 同一样本数据集,以及相同的参数值(C m ),采用 标准S V M 算法再次进行分类实验,分类结果如表 6和表7所示.对比发现,表6和表7基于Ada - Boost -S V M 算法的分类结果均优于表4和表5基 于标准S V M 算法的分类结果.并且从实验的结果 上可以看出,基于AdaB 〇〇st -S V M 分类器各等级 的分类正确率都有了明显的提升,例如类〇的分类 准确率由原来的46. 67%提高到优化后的73. 33%.同理,由表7的混淆矩阵计算可得,最终S V M 分类器的分类准确率为85. 51%(838/980).表6 SVM 子分类器分类结果子分类器训练 样本数测试 样本数训练正测试正确率/% 确率/%SVMi3 91898080.97 80.11s v m 299824584. 32 82.72表7SVM 分类器分类结果混淆矩阵分类类别实际类别012—召回率/%02931046. 671446733195. 602136713653. 70非平衡数据集分类器常用正类覆盖率(丁ruePositive Rate ,TTPR)和负类覆盖率(False Positive Rate ,FPR)来衡量其分类性能,正类覆盖率是指在葡萄酒样本中正确识别出低品质葡萄酒的概率,负 类覆盖率是指在非低品质样本中分类结果是否定 的比例,分别表示为公式(10)、(11):TP/(TP + FN ) (10)FN /(TP + TN )(11)式(10)、(11)中,其中I T 为正确的肯定、FN 为错误的否定、F P 为错误的肯定,丁N 为正确的否 定.以TPR 为纵轴,FPR为横轴,绘制标准支持向量机与集成支持向量机的葡萄酒品质分类器的ROC 曲线,分别绘制在如图4〜5中,曲线下面积记为A U C ,A U C 越大则模型分类效果越好.当且 仅当AUC >0. 5 and AUC < = 1,分类器才是有价 值的.RO C 分析结果显示,标准支持向量机AUC 约为0. 85 士 0. 045,表现为82. 80%的I T R 和100%的FPR ,集成支持向量机A U C 约为0. 89士0. 045,表现为 86. 72%的丁PR 和 100% 的 FPR ,说明基于AdaB 〇〇st -S V M 的葡萄酒品质分类器有良 好的分类性能.a 4->n s J Q J >;J s o d a n J H(下转第187页)第1期赵晓等:一种高效的模式串匹配算法•187 •(b)模式屮氏度为1〇 —1()()图6 两种算法在DNA序列上的平均匹配时间本文算法对基本模式串匹配算法BM的坏字符策略进行改进,实现了任I位置不匹配时,均有大于或等于同为坏字符策略实现匹配的Horspool 算法的移动量.算法的基本思想简单、容易实现,在不同性质的实验数据上测试结果有效.4结论本文提出了一种有效的模式串匹配算法.当不匹配出现时,按照BM算法的坏字符策略计算当前已经匹配的每个字符的移动量为参考量,并从多个参考量中选择一个最大值作为模式串当前的移动量,任意位置的移动量均可以通过预处理计算得到.实验结果表明:在不匹配出现时,本文算法获得的模式串移动量总是最大的,从而有效地提高了模式串的匹配效率.模式匹配算法已被广泛地应用于入侵检测和情报检索等系统中,并随着信息技术的不断发展,对于检索效率提出了更高的要求,高效率的匹配算法的提出具有极大的现实意义.本文作者的下一步工作将本文算法思想和其它模式串匹配技术相结合应用于病毒检测及DNA检测中.参考文献[1]范洪博,姚念U i. —种高速精确^松式中匹配算法「11.斤算机研究与发M.2009,46(:8):l 341-1 348.匸幻R. B o y e r M o o r e,: A fast, s trin g searching a lg o rit.h m[J]:.C om m u n ica tio n s o f the A C M, 1977,2Q:(10) : 762-772.[S]R. N. H o rs fo o l. P ra ctical fast searching in s trin g s [j ].Softw are-PraG tige &• E xp e rie n ce, 1980»10(6) *;50X-5£!6..[CG M. Sunday. A ve ry fa st su b s trin g search a lg o rith m [j].C om m u n ica tio n s o f th e A C M. 19 90,33 (8) : 132-142,[5]Zhao X,L i S,Y a n g Y,e t al. A new su b s trin g searching a l-g o r it h m[J].Ieiee T ra n sactio n s on In fo rm a tio n Syste m s,2014,E97-D C7) : 1893-1 896.[B]胡金柱,熊#秀r舒K.波•等.一种改进的7符中模式匹配葬法C J1.模式识别与人丨:智能[7]李明月,张善卿,陆剑锋,等.一种改进的S u n d a y匹配算a「J l.杭州也子科技大7学报,2015 •1 ) : 93-96.「8]韩光辉,曾诚.B o y e r-M o o r c巾叫配灯法的改进「几计算机 I、V:川,2 014,3 4 (3): 8 6「) -8 6 8.[|]]Sun K c lc i. Fast a lg o rith m fo r p a tte rn m a tch in g in in t r usion dete ction system [J]* J o u rn a l o f A n h u i U n iv e rs ity ofScience and T e c h n o lo g y(N a tu ra l Science) ,2006,26 (3):52-55.[10:] G. N a v a rro, M. R a ffin o t. F le x ib le p a tte rn m a tch in g in strin g s [M].C a m b rid g e:C am b ridg e U n iy e rs ity P ress,2002^:19-22.【责任编辑:蒋亚儒】(上接第182页)£#] Paulo Cortea»Aritonio Cerdeira,Fernando Almeida,^, al.Modeling wine preferences by data mining from physico-chcmical propeftie#[^J].Decision Support System s,2009, 47(4):547-553.r s]徐海涛.改进的近似支持向量机在葡韵m:鉴记屮的应用[J].安徽农业科学,2010,38(29) :16 105-16 106.[6] 刘延玲.新的H opfield神经网络分类器在葡萄M质设if-价中的应用H I.价侦:丨:程.2012.35(2): 18卜L S I[7] Jose A.Seas,Bartosz Krawczyk.Michal Wozniak.Analyzing the oversampling of different classes and types of examples in multi-class imbalanced datasets:[J].Pattern Recognition,2016,3(12) | 164-178.[幻黄久玲.而向火衡数倨集的集成学习分类方法及K从川研究[D].黑龙江:哈尔摈服T.大学,2015.[9] Zhong liang Zhang,Bartosz Krawazyk,Salvador GarciaaI.Empowering ong-vs-onc dexomposition with ensemble learning for multi-class imbalanced[J].Knowledge-Based Systcm s»2016 .〇(48) :251-263.[l〇1顾燕萍,赵义杰•足占松小二乘支持卩彳辕机钤棒卜丨归爲法研究r.n•淸平大李学报(d然科学版),2〇i5,z(4h396-402.[11]袁兴梅,杨明,杨杨.一种面向不平衡数据的结构化S V M集成分类器[J]..役:式识別1人:I:忾能,2013 • 26(3) :31:)-320.「121吕锋,李翔,杜文霞.基于M u lt iB o o s t的染成支持|〖tj 培:机分炎//法及其〗、V:川「J].拧制4决策,2015,30(1): 81-85,[13]个勇,刘战东,张侮军.不平衡数据的集成分类算法综述[I].计算机应用研究,2〇14,31(5):1287-1 291.[14]李秋洁,攀耀斌•基于数据取平衡的A U C优化B o osting算法「.丨1自动化学报,2()13.39(9):1167-1 175.[15]E benezer O w u s u,Y o n g Zhao Z h a n, Q i R ong Mato. A nS V M-adaB oost-based face d ste ctio n system [J].J o urn a l〇f E x p e rim e n ta l T h e o re tic a l A r tific ia l Intelligence?2014,26(4);477-491.[16]李令,任越美.从•于改进A d a B o o s t集成'7:>J的曳间目标识别「J]. U11:机系统)、V:川.201「).32(8):202-201D J]魏峻.一种心效的支持向说机参数优化笕法「J1. i卜灯机技术4发展,2015,2「)( 12) : 97-100,104.[l l G P aulo Cortez* C en te r fo r m achine lea rn in g and in te llig e n t s y s te m s C D B/O L]. h ttp://a r c h iv&ics. uci. e d u/m l/d a ta-I€tg/W in e+ Q u a lity,2009-10-07.【责任编辑:陈佳】。
案例背景:
SVM神经网络背景:
SVM的相关理论及工具箱的介绍
......
案例背景:
在葡萄酒制造业中,对于葡萄酒的分类具有很大意义,因为这涉及到不同种类的葡萄酒的存放以及出售价格,采用SVM做为分类器可以有效预测相关葡萄酒的种类,从UCI数据库中得到wine数据记录的是在意大利某一地区同一区域上三种不同品种的葡萄酒的化学成分分析,数据里含有178个样本分别属于三个类别(类别标签已给),每个样本含有13个特征分量(化学成分),将这178个样本50%做为训练样本,另50%做为测试样本,用训练样本对SVM分类器进行训练,用得到的模型对测试样本的进行分类标签预测,最终得到96.6292%的分类准确率. .....
测试数据的可视化图:
模型建立:
Matlab程序实现(预定此书,即可下载该案例完整程序):
该处有完整的Matlab程序代码,以及代码的详细说明•清空环境变量
•数据的提取和预处理
•SVM网络训练
•SVM网络分类预测
•结果分析
结果分析:
该处有详细的运行结果。