吴悦
(淮阴工学院现代教育技术中心,江苏淮安223003)
基于搜寻者-支持向量机的葡萄酒品质鉴别模型
吴悦
(淮阴工学院现代教育技术中心,江苏淮安223003)
摘要:针对葡萄酒品质鉴别问题,提出一种基于搜寻者-支持向量机(SOA-SVM)葡萄酒品质鉴别模型。该模型以葡萄酒多维化学成分作为输入,以葡萄酒的品质类型作为输出,采用搜寻者优化算法对支持向量机模型惩罚因子和核函数参数进行优选,从而建立最优的SOA-SVM葡萄酒品质鉴别模型。应用该模型对UCI机器学习数据库中wine数据集进行实例分析,结果表明SOA算法收敛精度高、收敛速度快,且该模型能够取得优良的分类效果。
关键词:搜寻者优化算法;支持向量机;葡萄酒品质;分类模型
食品工业的相关研究表明,葡萄酒中含有多种维生素、氨基酸和矿物质,可有效调节新陈代谢、促进血液循环、降低胆固醇[1]。正由于葡萄酒的这种营养价值和医疗保健作用,葡萄酒的消费量越来越大,其品质的鉴别问题也逐渐得到关注,对促进行业的健康发展也具有重要意义。常规的葡萄酒品质鉴别一直靠感官和理化指标分析[2]。感官鉴定受主观因素影响,准确性低;理化指标分析费用贵、时间长,难以得到大规模推广。
针对葡萄酒的鉴别问题,相关研究人员将智能化算法和模型引入到该领域,较为典型的有遗传神经网络[3]、模糊神经网络[4]、数据挖掘[5]等,但在实际运用中,不同葡萄酒类别的样本难以获得大量样本,属于小样本问题,而支持向量机SVM(supportvectormachine)[6]是一种基于统计学习理论的机器学习算法,对小样本学习问题具有优良的应用效果,且能解决神经网络的“维数灾难”问题。SVM在模式识别领域已得到了有效的应用。SVM性能主要取决于核函数参数和惩罚因子的选取,目前该问题还缺乏理论指导。
搜寻者优化算法SOA是一种模拟人类随机搜索行为的启发式随机搜索算法[7]。该算法模拟人类随机搜索时采用的交流、写作、记忆、推理等智能行为,结合搜索与进化思想,实现搜寻者位置更新,并完成对所求问题解的优化。SOA算法具有收敛速度快、精度高的优点。
针对支持向量机模型参数选择的随机性和盲目性,本文将SOA算法应用于支持向量机模型参数优化中。建立基于SOA-SVM的葡萄酒品质鉴别模型,对UCI数据库中的wine数据进行实例分析验证了该方法的有效性。
1搜寻者优化算法
SOA算法模拟人的随机搜索行为,利用模糊逻辑对搜索规则建模,确定搜索步长和个体搜索方向[7],完成位置的更新。其基本流程如下说明。
①算法参数设置。设置搜寻者的种群规模s、最大进化次数m、速度限制上下限参数Vmax、Vmin;
②t=0;
③人群初始化。在可行解域内随机初始产生s个初始位置:
i=1,2,…,s;t=0
④初始人群评价。根据实际问题,计算每个初始位置的目标函数值,并取得当前最优值;
⑤确定搜寻策略。计算每个个体i在每个维度上的搜索方向dij(t)和步长αij(t);
⑥位置更新。在确定搜索方向和搜索步长之后,对每个群体内的个体进行位置更新,更新公式如下:
⑦进化1代,t=t+1;
⑧若满足停止条件,停止搜索,否则,转至步骤④。
可以看出,SOA在寻优过程中,搜索步长和搜索方向的确定分开进行,实现位置更新,有利于提高寻优能力。
2建模
支持向量机模型在小样本和高维条件下具有优良的应用效果,因此本文拟将SVM模型应用到葡萄酒品质分类中。而在SVM模型建立过程中,惩罚因子和核函数参数影响着其应用性能,为了建立最优的支持向量机模型,结合前面关于SOA算法的论述,将SOA算法与该问题相结合,提出基于搜寻者-支持向量机的葡萄酒品质鉴定模型,其核心在于将搜寻者优化算法应用于支持向量机的模型参数优化中。该方法的建模流程如图1所示。
图1 基于搜寻者的支持向量机建模流程
该方法以葡萄酒理化成分-品质的数据集为数据基础,首先将数据集划分为训练样本集和测试样本集。对训练样本进行归一化后,即可根据SOA算法的流程,对支持向量机模型的惩罚因子和核函数参数进行优化选择。其中,由于需要进行2个参数的优选,所以需要分别建立代表2个参数的人群,并以训练准确率为人群的适应度。优化结束后,构建最优的SOA-SVM模式分类模型。将测试样本进行归一化操作后代入到该模型,即可对葡萄酒的品质进行鉴别,从而提升食品工业的信息化与智能化水平。
3实例分析
为了验证本文提出的SOA-SVM模式分类模型的有效性,选取UCI及其学习数据库[8]中的wine数据集,该数据库记录了在意大利同一区域上3种不同品种的葡萄酒的化学成分分析。
该数据集共包括178个样本,每组样本包括13个特征分量,分别为Alcohol、Malicacid、Ash、AlKalinityofash、Magnesium、Totalphenols、Fla-
vanoids、Nonflavanoidphenols、Proanthocyanins、Colorintensity、Hue、OD280/OD315ofdilutedwines、Proline,属于多变量的模式分类问题,3种葡萄酒类别分别为1、2、3。图2为分类示意图,图3描述了葡萄酒的3个属性的分维可视化图。
图2 wine数据集分类示意图
图3 wine数据集分维可视化图
为了提高分类的准确率,去除不同属性因数据大小带来的差异性,对数据集进行[0,1]归一化预处理操作,采用下式进行归一化处理。
y=(x-xmin)/(xmax-xmin)
式中,xmin和xmax分别为该属性的最小值和最大值。归一化的部分样本如表1所示。
表1 归一化的数据集
对178个样本集进行归一化后,选取其中的89个作为训练样本,其余89个作为测试样本。采用SOA优化算法对SVM模型的核函数参数和泛化参数进行启发式随机搜索。SOA算法的参数设置如下:迭代代数为100,群体规模为10;根据算法原理,选择最大隶属度Umax=0.95,最小隶属度Umin=0.011。SVM的参数训练采用K-CV方法,本文取K=3。核函数选用RBF核函数。SOA优化算法以SVM模型对训练样本的分类准确率为适应度值。实验的硬件环境为M450@2.40 GHz,内存为2.00 GB,仿真工具为Matlab 2010。
图4描述了基于SOA算法SVM模型参数优化曲线。从图中可以看出,当迭代进化到第53代时,适应度值可以取得最优值98.97%。此时泛化参数和核函数参数分别为0.182 2、102.143 5。
图4 基于SOA的适应度函数演化曲线
以经过SOA优化得到的参数为基础,建立SOA-SVM模型并对89个测试样本进行模式分类。图5显示了其分类效果。
图5 模式分类结果
可以看出,在89个测试样本中,除第2类中有1个样本被识别为第3类外,其余测试样本全部得到正确的分类,准确率达到98.88%,可以显示出基于SOA-SVM的葡萄酒品质鉴别模型有效性。
4结语
本文围绕葡萄酒的品质鉴定问题展开研究。针对其实际特点,提出一种基于SOA-SVM的葡萄酒品质鉴别模型。
该模型通过SOA算法进行SVM参数寻优,模型精度和泛化能力都较好。以wine数据集对该模型进行实例分析,结果表明,SOA算法收敛精度更高,收敛速度更快。在对89组测试样本的鉴定中,也取得了98.88%的分类准确率,可以显示出该模型的有效性。下一步有必要对方法的稳定性以及不同训练样本的模型性能进行分析。
[参考文献]
[1]陈玉庆.葡萄酒的成分与营养价值[J].酿酒,2004,31(5):112-114.
[2]宋于洋,塔依尔,冯建荣.模糊综合评判在葡萄酒品尝中的应用[J].中外葡萄与葡萄酒,2002(2):35-36.
[3]殷勇,邱明,刘云宏,等.基于遗传神经网络的酒类鉴别技术[J].农业机械学报,2003,34(6):104-106.
[4]Raptis C G,Siettos C I,Kiranoudis C T,et al.Classification of aged wine distillates using fuzzy and neural network systems [J].Journal of Food Engineering,2000,46(4):267-275.
[5]Cortez P,Cerdeira A,Almeida F,et al.Modeling wine preferences by data mining from physicochemical properties [J].Decision Support Systems,2009,47(4):547-557.
[6]Vapnik V N.The nature of statistical learning theory [M].New York(USA):Springer-Verlag,1995.
[7]DAI Chaohua,ZHU Yunfang,CHEN Weirong.Seeker optimization algorithm[C]//Proc 2006 Inter Conf Computational Intelligence and Security.Guangzhou:IEEE Press,2006:225-229.
[8]张鑫源,胡晓敏,林盈.遗传算法和粒子群优化算法的性能对比分析[J].计算机科学与探索,2014,8(1):90-10.
责任编辑:陈亮
AModelforIdentifyingWineQualityBasedonSOA-SVM
WUYue
(ModernEducationlaTechnologyCenter,HuaiyinInstituteofTechnology,Huaian223003)
Abstract:Aiming at the wine quality identification problems,a model based on SOA-SVM for identifying wine quality was put forward in the paper.The multi-dimensional chemical composition for the wine were taken as model input,the wine type was taken as the output,the SOA algorithm is used in the model for parameter optimization including penalty factor and the kernel function parameter,thereby the optimal SOA-SVM identification model can be established.In the paper,the model is used to analyze the wine set from the UCI machine learning database and the results show that SOA has a high convergence precision and a fast convergence rate.A good classification effect can be achieved through the SOA-SVM quality identification model.
Key words:seeker optimization algorithm;support vector machine;wine quality;classification model
中图分类号:TP393
文献标志码:A
文章编号:1671-0436(2015)04-0030-04
作者简介:吴悦(1976—),女,硕士,工程师。
收稿日期:2015-04-20