基于PCA和PSO-SVM在葡萄酒分类中的应用研究

2014-05-23 15:33徐小华全晓松张子锋胡晓飞
关键词:支持向量机主成分分析

徐小华,全晓松,张子锋,胡晓飞

(1.昭通学院信息科学与技术学院,云南昭通657000;2.昭通学院数学与统计学院,云南昭通657000)

基于PCA和PSO-SVM在葡萄酒分类中的应用研究

徐小华1,全晓松1,张子锋1,胡晓飞2

(1.昭通学院信息科学与技术学院,云南昭通657000;2.昭通学院数学与统计学院,云南昭通657000)

摘要:针对葡萄酒的物理化学成分冗余数据,提出了一种基于主成分分析(PCA)和粒子群优化—支持向量机(PSO-SVM)的模型用于葡萄酒的分类.首先,对葡萄酒的物理化学成分进行主成分分析,提取主要影响因素,减少输入维数,再利用粒子群优算法寻找支持向量机的最佳参数,并用支持向量机完成对训练集样本的学习和测试集样本的预测分类.结果表明,该模型与其他模型相比较,具有较高的准确性,有一定的适用价值.

关键词:主成分分析;粒子群优化;支持向量机

随着人民生活水平的不断提高,对葡萄酒的需求量也越来越大,消费者和生产者迫切需要一种准确、快速的葡萄酒鉴别方法.传统的鉴别方法主要是依靠品酒专家的个人经验来完成,而品评的结果主观性较强、费用高,不利于大批量样本的感官品评[1-2].然而葡萄酒的品质受多种不同的物理化学成分因素的影响,故可借其物理化学数据成分对葡萄酒进行分类鉴别,而葡萄酒的物理化学成分比较复杂,存在着非线性关系和大量的数据冗余.针对以上的问题,本文提出了一种基于主成分分析(principal component analysis,PCA)和粒子群优化—支持向量机(particle swarm optimization-support vector machine,PSO-SVM)的分类模型,其中PCA算法解决各个数据之间的线性冗余,减低数据的维数;PSOSVM算法解决传统神经网络模型复杂、数据质量要求高等缺点.在有限样本训练的情况下,该模型能提供较好的泛化能力,提高了葡萄酒分类的准确性和精确性.

1 分类原理

1.1 主成分分析(PCA)算法

主成分分析(PCA)又称主分量分析,由皮尔逊1990年首先引入[3-7].其基本思想是当研究的问题涉及多个变量,并且变量间相关性明显,包含的信息重叠时,采用主成分分析方法来抓住事物的主要矛盾,使问题得到简化.PCA算法思想如下:

设X=(x1,x2,…,xp)为p维总体矩阵,且E(X)=μ为期望,Var(X)=Σ为协方差矩阵.存在如下线性变换:

1.2 粒子群优化(PSO)算法

粒子群优算法(PSO)最早由Kennedy和Eberhart在1995年提出[8-9],其基本思想是在可解空间中初始化一群粒子,用适应度、位置和速度来表示该粒子的特征,其适应度值由适应度函数计算得到,其值表示粒子的优劣.具体算法是:假设在搜索空间D中,由n个粒子组成的种群X=(X1,X2,…,Xn),其中第i个粒子表示一个D维向量Xi=(xi1,xi2,…,xid)′,代表第i个粒子在D维搜索空间的位置,据目标函数即可计算出每个粒子位置Xi对应的适应度值.设第i个粒子的速度Vi=(vi1,vi2,…,vid)′,其个体极值Pi=(pi1,pi2,…,pid)′,种族全局极值Pg=(pg1,pg2,…,pgd)′.在每一次迭代过程中,计算一次适应度,并且通过比较新的适应度值和个体极值、群体极值的的适应度更新个体极值pbest和全局极值Gbest的位置.更新公式速度和位置分别如下:

1.3 支持向量机

SVM算法(support vector machine)在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合、分类等其他机器学习问题中[10-14].Matlab中,SVM主要的函数是svmtrain,调用格式是model=svmtrain(train_label,train_natrix,[‘libsvm_options’]).其中libsvm_options表示选项参数,它的选择直接影响SVM分类的准确性,故本文采用PSO算法来确定最优的选项参数.

2 基于PCA和PSO-SVM在葡萄酒分类

2.1 数据来源

本文数据来源于UCI数据库[7],记录的是意大利同一区域3种不同品种葡萄酒的化学成分.共有178个样本,选择了酒精(x1),苹果酸(x2),灰分(x3),灰的碱度(x4),镁(x5),苯酚含量(x6),类黄酮物质(x7),非类黄酮苯酚(x8),前花青素(x9),颜色强度(x10),色度(x11),稀释葡萄酒的蛋白质(x12),脯氨酸(x13)等13个指标作为影响葡萄酒种类的体系指标.样本中1~59属于第1类,类别标签为1;60~130属于第2类,类别标签为2;131~178属于第3类,标签类别为3.将每个类别分成2组,其中1~39,60~110,131~158用做SVM的训练集,剩下部分用作测试集.即训练集有118个样本,测试集有60个样本.

2.2 PCA分析

文章采用Matlab对葡萄酒的13种主要化学成分进行主成分分析,在主成分分析中先对数据进行标准化.分析结果见表1.从表中可以看出,前8个主成分的累积贡献率达到了92.017 5%,后5个主成分贡献率非常小,将其后5个冗余信息不作为输入变量.所以只用前8个因素来作为SVM的输入.

表1 主成分分析结果

由于主成分是线性的组合函数,根据图1中主成分相关系数矩阵,可以得出:在第3行中苯酚含量、类黄酮物和前花青素较大的正载荷;在第4行中酒精、灰分、颜色强度和脯氨酸有较大的正载荷;在第5行中灰分和灰的碱度有较大的正载荷;在第6行中苹果酸和前花青素有较大的正载荷;在第7行中镁有较大的正载荷;在第8行中苹果酸有较大的正载荷;在第9行中苹果酸、非类黄酮苯酚和前花青素有较大的正载荷;在第10行中酒精、灰的碱度和色度有较大的正载荷.在第3、4行和第10行中反应了葡萄酒的内外品质综合指标,其他表达式反应了葡萄酒的外在品质的综合指标.

2.3 PSO-SVM学习和预测分类

由主成分分析可知,选取前8个主要因素作为SVM的输入,将118个样本作为训练集,60个样本作为测试集.采用交叉验证(cross validation,CV)意义下的准确率作为PSO的适应度函数值,以此来寻找SVM的最佳参数值Cbest,Gbest.在得到最佳参数后,用训练集来训练SVM,在得到合理的训练准确率以后,用测试集来预测分类.图2表示PSO优化SVM参数流程图.本文中PSO的种群数量pop=20,终止代数为150,参数C1=1.9,C2=2.3,以此得到SVM的最佳参数Cbest=43.321 6,Gbest=3.713 9,用SVM对训练样本学习和测试的样本来预测分类.图3是葡萄酒分类流程图.

为了验证该模型分类的优劣,同时用BP神经网络、SVM神经网络、SOM神经网络的分类结果进行对比,结果如表2.由表2可知PCA和PSO-SVM神经网络对葡萄酒的分类准确率最高,由于PCA降低了数据的维数,消除了因素之间的多种共线性的关系,所运行的时间比其他模型较短.

表2 各模型分类结果的对比

3 结语

本文以葡萄酒的分类为例,在不损害葡萄酒的物理化学成分前提下,运用PCA方法来减少输入维数,消除了成分数据之间的冗余性和相关性,利用PSO寻找SVM的最佳参数,用SVM完成对样本的学习和预测分类.结果表明,该系统结果较理想,具有一定的适用价值和可操作性.

参考文献:

[1]高年发,李丽,张健.利用模式识别技术鉴别中国葡萄酒的产地和品种[J].中国酿造,2009,28(3):68-72.

[2]刘晓鹏,姜宁,魏璐,等.白灵菇深层发酵培养基的优化研究[J].中国酿造,2009,28(3):65-68.

[3]陈沁滨,侯喜林,张波,等.洋葱种质资源数量性状的主成分分析和聚类分析[J].江苏农业学报,2007,23(4):376-378.

[4]邹云波.基于LLE和PCA的人脸识别算法研究[J].云南民族大学学报:自然科学版,2013,22(1):58-61.

[5]罗会,刘宝锁,黎火金,等.合浦珠母贝不同地理种群的形态差异和判别分析[J].广东农业科学,2013,40(12):171-174.

[6]孙崇璇.基于PCA主成分分析的人脸检测实现与分析[J].云南民族大学学报:自然科学版,2010,19(6):439-443.

[7]史峰,王小川,郁磊,等.Matlab神经网络30个案例分析[M].北京:北京航空航天大学,2010(3):258-259.

[8]王越,曾晶,董丽梅,等.基于粒子群的BP神经网络算法在猪等级评定中的应用[J].重庆理工大学学报:自然科学版,2013,27(1):85-90.

[9]李仁府,独孤明哲,胡麟.基于PSO算法的路径规划收敛性与参数分析[J].华中科技大学学报:自然科学版,2013,41(Z1):271-275.

[10]程玉柱,陈勇,车军,等.基于Bayes与SVM的玉米彩色图像分割新算法[J].江苏农业科学,2012,40(7):355-358.

[11]袁从贵,张新政.基于多核LS-SVM的河涌水质预测模型[J].环境科学与技术,2013,36(5):171-175.

[12]刘孝永,王未名,封文杰,等.病虫害专家系统研究进展[J].山东农业科学,2013,45(9):138-143.

[13]马潇潇,王宝山,李长春,等.基于Diverse AdaBoost改进SVM算法的无人机影像信息提取[J].地理与地理信息科学,2014,30(1):13-17.

[14]焦畅.网购评论情感数据的k近邻和SVM处理方法研究[J].云南民族大学学报:自然科学版,2013,22(3):209-212.

(责任编辑 庄红林)

中图分类号:TP311

文献标志码:A

文章编号:1672-8513(2014)06-0456-04

收稿日期:2014-05-19.

基金项目:云南省教育厅科学研究基金(2012C80).

作者简介:徐小华(1980-),男,硕士,讲师.主要研究方向:智能计算.

A study on the application of PCA and PSO-SVM to the classification of grape wines

XU Xiao-hua1,QUAN Xiao-song1,ZHANG Zi-feng1,HU Xiao-fei2
(1.School of Information Science and Technology,Zhaotong University,Zhaotong 657000,China;2.School of Mathematics and Statistics,Zhaotong University,Zhaotong 657000,China)

Abstract:As the data of physical and chemical components of grape winesare characterized by redundancy,this paper proposes a model based on PCA and PSO-SVM for the classification of grape wines.First,it analyzes the principal physical and chemical components of grape wines,and the major influencing factors in order to reduce input dimensions;second,the particle swarm optimization is adopted to find out the best parameters of the support vector machine which is used to complete the study of training samples and forecast the classification of test samples.The result indicates that this model has higher precision than other models and is of certain applicability.

Keywords:principal component analysis;partical swarm optimization;support vector machine

猜你喜欢
支持向量机主成分分析
基于改进支持向量机的船舶纵摇预报模型
基于SVM的烟草销售量预测
动态场景中的视觉目标识别方法分析
论提高装备故障预测准确度的方法途径
基于NAR模型的上海市房产税规模预测
主成分分析法在大学英语写作评价中的应用
江苏省客源市场影响因素研究
基于熵技术的公共事业费最优组合预测
SPSS在环境地球化学中的应用
基于支持向量机的金融数据分析研究