基于改进的遗传算法优化BP神经网络并用于红酒质量等级分类
2016-09-07毕艳亮雷印杰
毕艳亮,宁 芊,雷印杰,王 伟
(四川大学 电子信息学院,成都 610065)
基于改进的遗传算法优化BP神经网络并用于红酒质量等级分类
毕艳亮,宁芊,雷印杰,王伟
(四川大学 电子信息学院,成都610065)
针对以往的红酒生产过程中,红酒质量分类过程复杂且低效,因此研究一种高效可靠的智能分类识别方法很有必要;这里在红酒的多种物理化学成份测定的基础上,使用人工智能理论中的神经网络构建分类模型,实现对红酒质量的高效分类;并用改进的遗传算法对BP神经网络中的缺陷做了一定的优化;对比传统BP网络分类效果,结果表明,改进后的神经网络收敛速度更快,各个质量等级的分类正确率均提高了10%左右;对红酒加工企业具有积极的实际参考价值。
BP神经网络;遗传算法; 红酒;分类
0 引言
如何对红酒的质量进行快速准确分类对企业的生产有积极的意义。目前常用的检测主要包括气相色谱法和化学成分分析方法。这些方法耗时、费力、低效。因此,研究一种快速高效的红酒分类方法就显得很重要[1]。这里利用传感器阵列传回的红酒多种物理化学参数,结合人工智能中的BP神经网络理论进行机器学习,然后将其用于红酒质量分类;BP神经网络作为一种模式识别技术,它具有强大的自适应、自学习及联想记忆等优点,对于一些模糊的、非线性的问题能够很好地构建和逼近[1-1],文献[3]就是对该性能的一种应用。然而神经网络具有易陷入局部最优,收敛速度慢等缺陷。而遗传算法作为一种基于自然选择与进化机制的功能强大的随机收索算法,GA的操作不需要规划对象的先验性知识,只需要计算个体的适应度值并作出筛选[4-5],具有良好的全局收索效果。这里就利用遗传算法对神经网络的权值和阈值进行寻优,并利用变学习率的学习方式以改善网络的收敛速度。基此提高红酒质量的分类效率。
1 基本算法简介及特点
1.1BP神经网络
〗BP神经网络是一种多层前馈型网络,该网络的最大特点是输入信号进行前向输入,误差信号进行逆向反馈。在前向传输过程中,输入信号从输入层经过隐含层再到输出层逐层处理。并将输出层的输出与期望输出进行对比,得出的差值进行反馈,根据得出的差值调整网络结构中的各个权值和阈值[6]。反复进行多次训练以促使BP神经网络输出不断逼近期望输出,从而得到一组合适的权值和阈值。神经网络的模型大致如图1所示。
图1 三层BP神经网络图
上图中的x1,xi,…,xn分别作为BP神经网络的输入信号,而y1,yj,…,ym是BP神经网络的输出信号,V为输入层和隐含层之间的各个权值,W为隐含层和输出层之间的各个权值;因此可以将神经网络看作一个非线性函数;网络中的输入层输入的变量和输出 层输出的变量分别为该函数的自变量和因变量,从而形成一个函数映射[6]。这里正是利用神经网络的这种特性,在已知影响红酒质量的主要影响因素下,通过多次网络训练以确定这些因素与红酒质量之间的内在复杂关系。这种复杂关系通过训练出的权值和阈值来反映,正是基于得到的权值和阈值进行红酒质量的快速分类。
然而BP神经网络在应用过程中存在一些缺陷:其一初始权值和阈值是随机生成,易陷入局部最优,影响训练效果;其二学习率无法确定,如果学习率过大,则达不到所需要的训练精度,而学习率过小,又使训练过程减慢,收敛速度放缓。针对这些问题,这里对其进行了以下改进:1)使用遗传算法寻优优秀的权值和阈值,以防止权值和阈值随机生成易陷入局部最优。2)对原有的固定学习率进行相应改进,改用自适应学习率以提高学习效率。
1.2遗传算法基本原理及改进
遗传算法是一种借鉴自然界中适者生存、优胜劣汰的进化机制演化而来的高度并行、随机、自适应搜索算法[7],目前已经被人们广泛地应用于组合优化、机器学习、自适应控制和人工生命等诸多领域,是现代智能计算中的关键技术之一[8]。
遗传算法中,首先对所优化参数进行二进制或多进制编码,随机产生n个初始种群。然后根据种群择优的目标方向确定种群的适应度函数,常用适应度函数如下面公式(1)(这里m为种群规模,x为遗传算法中反馈给选择函数的某个参数)所示,再用轮盘法进行选择。这里对适应度函数中的参数进行了改进。计算公式如(2),式中的n可以根据遗传算法择优的方向进行设定,其目的主要是克服当染色体较多且各个染色体在种群中所占比例不大时扩大各个染色体的差距以加快寻优进程。
(1)
(2)
交叉操作指对两个染色体相互交换部分基因,是产生新个体的重要方法,决定了GA的全局收索能力。这里由于染色体长度较长,故采用多点交叉,这里取三点交叉[11]。交叉模型如下。
交叉前的编码为:
M:x1,x2…xi,xi+1…xj,xj+1…xk,xk+1…xm
N:y1,y2…yi,yi+1…yj,yj+1…yk,yk+1…ym
交叉后的编码为:
M:x1,x2…xi,yi+1…yj,xj+1…xk,yk+1…ym
N:y1,y2…yi,xi+1…xj,yj+1…yk,xk+1…xm
变异操作指对染色体中的某些基因进行变异操作,是产生新个体的重要方法,决定了GA的全局收索能力。变异基因的个数如公式(3)(Nc,Ng分别为染色体数和每条染色体的基因数,m为变异概率)。
(3)
这里为了加快进化速度,对常规的交叉和变异操作进行了一定的改动。其一,引入免疫遗传算法中免疫记忆机制,对优秀的个体进行保护,不进行变异和交叉操作。以加快寻优速度。其二,改变以往变异过程中变异概率不变的特性,这里在对适应度排序在后%30的个体进行标记的基础上,对其以更高的概率进行变异操作,促进更优个体的出现,加快进化进程。其三,由于染色体长度较长,采用多点交叉,以产生优秀个体。
2 实验数据特征
实验数据为一红酒品牌多种物理化学参数,主要参数有挥发性酸、残留糖、卤化物、PH值、酒精度、密度、硫酸盐、总硫量这八种参数作为红酒分类的主要参考指标,并根据这些参数将红酒分为三大类。又因为各维数据的量级上存在很大差异,因此这里对每列数据进行归一化处理。处理方式如公式(4)(式中tmin为每列的最小值,tmax为每列的最大值,t为要归一化的数值):
(4)
表1 实验数据的基本特征
3 分类模型的构建
3.1构建神经网络的模型
因为红酒分类中的主要参考指标有八项,故这里的神经网络输入端口为8个,而又分为三大类,所以这里的输出端口为3个。在隐含层节点数目确定上采取试错法,发现当隐层节点数为21时,神经网络对该数据的分类效果最好。故这里选取的隐层节点数为21。因此此神经网络的基本模型为8-21-3,且隐含层和输出层的传递函数都取s函数。
3.2遗传算法优化BP神经网络流程
BP神经网络对网络初始权值和阈值的依赖性比较强,以往大多随机选取,很容易陷入局部最优。而遗传算法是一种全局优化的自适用概率搜索算法,可以得到全局最优[9-12]。用遗传算法对神经网络的初始权值和阈值进行优化寻优。在此基础上进行自适应学习率的学习,以提高学习效率,基本流程图如图2所示。
图2 遗传算法优化神经网络流程图
3.3BP神经网络权值和阈值的优化的具体过程
步骤如下:
1)这里为了解码的方便,使用实数编码。随机生成20条实数染色体,每个染色体的长度使用公式(5)计算。式中Ni,Nh,NO分别为输入层节点数,隐层节点数,输出层节点数。
(5)
2)将得到的染色体的权值和阈值代入神经网络中,得出每个染色体对应的均方差。
3)将得到的均方差代入上面的公式(1)和公式(2)进行选择操作,这里因为个染色体带来的均方差差别不大,且染色体数量校多,因此公式(2)中的n取-6,以拉大各个染色体的差距,加快进化进程。
4)对选出的染色体进行上述改进后的遗传操作,主要为标记优秀个体和适应度排序靠后的6个个体。同时交叉概率都取0.7,并进行三点交叉。变异概率取0.25和0.6分别对应优秀个体变异和较差个体的变异过程。
5)返回步骤2,重复多次,直到均方差收敛,得到一组合理的权值和阈值,将其带入后续的神经网络训练。
3.4学习率的影响及改进
进行神经网络的传统训练以对各个权值和阈值进行细化调整。参考文献中大多只是使用常规神经网络训练,即学习率不变。然而学习率将决定各个权值和阈值的调整姿态和变化速度,对训练过程有很大影响。但具体取大小又很难确定。表2反应了不同学习率对该数据预测结果的影响。基此考虑使用自适应学习率。具体为当均方差变小时,使用公式(6)对学习率调大。当均方差变大时,使用公式(7)对学习率调小。从而克服学习率难确定的难题。
(6)
(7)
表2 不同固定学习率的分类效果对比
4 实验效果对比
从所采集的数据中随机抽选139组作为训练数据,120组作为测试数据。分别用普通神经网络和优化后的神经网络进行训练,根据其训练过程的均方差值得到其收敛图。分别如图3和图4,对比发现优化后的神经网络收敛速度更快,收敛效果更好。而表三则反映了对该红酒的分类正确率,这里为了对比的科学性,表三中的数据是进行100次训练测试后的平均值。可以看出优化后的神经网络分类效果明显。
图3 常规神经网络训练收敛效果
图4 优化后神经网络收敛效果
性能BPGA-BP类别一的正确率76.31%84.66%类别二的正确率77.79%88.19%类别三的正确率80.92%90.35%
5 结论
神经网络作为当代较为流行的一种智能算法,以其对非线性系统的优越处理能力得到广泛应用,但也存在一些缺陷。这里在使用改进的遗传算法对其进行优化的基础上,通过对所采集的红酒各指标进行人工智能学习,然后应用于红酒质量分类。实验结果表明,分类效果显著。但分类正确率还有待提高,在今后的研究中,将适当调整诸如隐层节点数、变异率、交叉率等参数,以提高分类正确率。同时,该理论与传感器阵列结合,可以应用于其他食品加工行业的食品质量智能检测,对一些食品加工企业具有一定的实际意义。
[1]许兆美,周建忠,黄舒,等.基于遗传算法优化反向传播神经网络的激光铣层质量预测[J].中国激光,2013,40(6):0603004-1-0603004-5.
[2] 李琳,赵谋明.人工神经网络在食品工业中的应用[J].食品研究与开发,2005,26(1):13-16.
[3] 殷勇,田先亮.酒品质量稳定性的神经网络鉴别方法研究[J].食品科学,2005,26(11):210-212.
[4] 崔明月,刘旭焱,刘红钊,等.基于神经网络—遗传算法的双层隔振系统复合振动控制[J].实验室研究与探索,2014,33(7):115-119.
[5] 张国翊,胡铮.改进BP神经网络模型及其稳定性分析[J].中南大学学报,2011,42(1):115-124.
[6] 王小川,史峰,郁磊,等.MATLAB神经网络43个案例分析[M].北京:北京航空航天大学出版社,2013.
[7] Kumar S, Naresh R. Efficient real coded genetic algorithm to solve the non-convex hydrothermal scheduling problem [J].International Journal of Electrical Power and Energy Systems, 2007,29(10): 738-747.
[8] 卢建中,程浩.改进GA优化BP神经网络的短时交通流预测[J].合肥工业大学学报(自然科学版),2015,38(1):127-131.[9] Xie S C, Zhou H, Zhao J J, et al. Energy-absorption forecast of thin-walled structure by GA-BP hybrid algorithm [J].Journal of Central South University, 2013,(20): 1122-1128.
[10] 吴吉贤,杜海燕.基于遗传算法改进的BP神经网络模型在GPS高程拟合中的应用研究[J].工程勘察,2014,(3):73-77.
[11]Yu S W, Guo X F, Zhu K J, et al. A neuro-fuzzy GA-BP method of seismic reservoir fuzzy rules extraction[J].Expert Systems With Applications,2009,37(3): 2037-2042.
[12] Li H, Hu C X, Li Y. Application of the Purification of Materials Based on GA-BP[J]. Energy Procedia ,2012(17):762-769.
Improved GA-BP Network Used to Wine Quality Classification
Bi Yanliang,Ning Qian,Lei Yinjie,Wang Wei
(College of Electronics and Information Engineering, Sichuan University,Chengdu610065,China)
In the past, the quality of red wine classification process is complex and inefficient.So it’s necessary to study a highly efficient and reliable classification method.Here,on the basis of determination of various physical and chemical composition, using the theory of artificial intelligence to construct classification model.Implementation of the efficiency of the wine quality classifying.We also improve the conventional neural network.The results show that the improved neural network work with high efficiency.It have positive practical reference value to processing enterprises.
BP neural network;genetic algorithm;red wine;classification
2015-07-14;
2015-08-27。
国家自然科学基金项目(61403265)。
毕艳亮(1990-),男,安徽阜阳人,硕士,主要从事智能控制方向的研究。
宁芊(1969-),女,副教授,博士,主要从事模式识别与智能控制方向的研究。
1671-4598(2016)01-0226-03
10.16526/j.cnki.11-4762/tp.2016.01.062
TP183
A