APP下载

一种基于GA-BP 学习的神经网络推理机制的研究

2013-10-21李孝安

电子设计工程 2013年12期
关键词:推理机遗传算法神经网络

雷 宇,李孝安

(西北工业大学 计算机学院,陕西 西安 710129)

专家系统[1]主要由“知识库”和“推理机”组成。知识库是特定领域专家的经验知识在计算机中的表示,推理机是专家系统依据计算机中存放的知识(包括实例和规则)得到结果的模型和方法。基本的推理机制主要有3 种:基于规则的推理机制(RBR),基于实例的推理机制(CBR),基于模型的推理机制(MBR)。经典的RBR 存在知识获取瓶颈、知识系统维护复杂、不具备自学习能力等局限。人工神经网络(ANN)[2]通过模拟生物体中神经网络的结构与功能来解决目前计算机系统不能解决好的问题,具有自组织、自适应、自学习、容错性好等特点。因而把神经网络用于专家系统,能很好的弥补传统专家系统的不足。

有关神经网络研究多注重应用模型解决问题能力的研究,对神经网络推理能力的研究较少。本文通过将遗传算法(Genetic Algorithm,GA)与BP 神经网络学习算法相结合获取神经网络模型[3],对神经网络推理机制进行研究,得到了有意义的研究结论。

1 基于BP 网络模型推理机制

1.1 神经网络推理机制

基于神经网络模型的专家系统与传统专家系统区别很大[4]:首先,知识由显式转变为隐式;其次,知识不是由“专家”给出,而是通过学习训练取得;最后,推理机不是传统的逻辑推理,而是逐层并行的神经计算。建立知识库就是确定神经网络的连接结构,神经元阈值和神经元相互之间连接权值。因而,知识库的建立过程实际上就是神经网络的学习与组织过程,包括知识的获取及知识存储两个过程。

基于神经网络推理[5]的具体过程如图1 所示。首先,是神经网络专家系统获得的过程。依据所给样本,对样本进行前期处理,包括数值化、归一化等;依据处理后的样本,构建网络,包括各层节点数和连接方式等;根据事先确定的精度要求,学习算法,训练次数,采用合适的激励信号,进行训练,直到网络达到要求。之后,把通过训练与泛化所得到的学习好的神经网络的结构和参数作为知识存进知识库。在此基础上,根据用户提供待解决问题完成神经网络专家系统的推理。即:用户输入待解决问题,由系统进行前期的处理,然后载入已经训练好的网络(知识),进行推理(神经计算),得到推理机输出结果,最后把神经网络推理输出的结果数据做进一步解释,得到用户能够理解的解答。

1.2 基于BP 的神经网络推理模型

BP 网络是人工神经网络研究中最为成熟的多层前向网络模型,其结构、处理过程及学习机理如图2 所示。采用BP学习算法可以实现网络连接权的学习;经过训练而学习好的神经网络就可以具有所需要的推理能力。

图1 基于神经网络推理的流程Fig.1 Reasoning process based on neural network

图2 BP 网络Fig.2 Back propagation network

BP 算法是基于梯度下降的方法,存在容易陷入局部极小、收敛速度慢等一些缺点。因此,实际研究中,BP 学习算法的实现有多种改进版,如附加势态项方法,自适应学习法,弹性BP 算法等,这里不再详述。

2 基于GA-BP 的神经网络推理

遗传算法(GA)本身具有强大的宏观搜索能力,能以高概率找到全局最优解,但在精确寻优速度方面又有其缺陷。因此,将GA 与BP 相结合是解决二者各自学习性能缺陷的重要思路[3]。

用遗传算法优化神经网络的权值和阈值,有两种优化方案。1)直接用遗传算法取代传统的学习算法,进行训练,得到最优解,作为神经网络的权值和阈值。2)基于GA 的BP网络模型,即:用遗传算法进行优化得到一组较好的权值和阈值,作为中间值,BP 网络以此中间值为基础,再用传统BP算法进行训练,得到学习好的目标网络。这里,重点对后者进行研究。

2.1 基于GA 的神经网络学习

对于BP 网络学习,基于GA 实现BP 网络学习包括如下过程:首先,选择确定个体的编码——将BP 网络连接权编码为个体表示,确定个体的适应度函数——可以由BP 算法中定义的网络误差函数转换获得;然后,就可以运用GA 算法进行BP 网络的训练;最后,将学得的种群中具有最好适应值的个体对应的网络作为学习好的BP 网络。这里,GA 算法过程略。

2.2 基于GA-BP 的神经网络学习

由于遗传算法的局部搜索能力较差,仅仅用遗传算法训练网络比较费时,并且在进化到一定代数后,搜索效率会变得很低,此后适应度值基本没什么变化。因此,在这种情况下及早结束基于GA 的神将网络的进一步学习,以此时得到的最好学习结果为基础,再进入BP 学习过程,即可实现GA 和BP 学习算法的有机结合,得到GA-BP 方法来进行网络的训练。

GA-BP 算法过程包括两个阶段:第一阶段是基于GA 的神经网络学习,按照上述2.1 部分所述步骤训练网络的权值和阈值,但其中训练代数和适应度函数相应的取较小值;第二阶段是在第一阶段得到的学习网络的基础上,再用BP 算法进行网络的进一步学习训练,直到满足精度要求或者达到最大训练次数[6]。

3 实 验

为了对比基于神经网络模型的MBR 推理和基于RBR、CBR 的推理,文中用UCI 标准数据集在weka 环境下进行多次仿真实验,在MATLAB 环境下对BP、GA 和GA-BP 3 种网络模型的学习进行对比实验。

3.1 数据准备

文中引用UCI 机器学习数据库[1],选取鸢尾花(Iris)数据集作为实验数据。Iris 数据集中共150 组数据,把数据进行归一化,结果如表1 所示。4个属性的归一化采用常用算式:,其中为归一化后的值,为归一化前的值,max 是属性向量空间中最大值,min为属性向量空间中的最小值。对于3个类别则分别用100、010、001 表示。总体数据共150 组,三类Iris 各有50 组,按原始顺序编号(1~150),把其中结尾为0 和5 的抽取出来作为抽出集,三类Iris 各抽取10 组。剩余的120 组数据作为样本集,每类Iris 各有40 组。从表1 中可以看出样本集对总数据集有较好的覆盖。

3.2 BP,GA 和GA-BP 的对比实验

利用MATLAB(2008A)工具箱提供的自适应BP 算法进行神经网络仿真实验。实验过程:Iris 有4个属性,3 种类别,依据经验和多次实验得到[4,8,3]结构的三层BP 网络。BP 算法中的学习因子初始值为0.1;采用遗传算法训练BP 网络,种群规模30,代数800;采用GA-BP 算法训练网络,种群30,代数100,学习因子0.1。从实验所得学习误差曲线,我们发现:GA-BP 比GA 的代数要小很多,GA-BP 比自适应BP 的步数要少很多,GA-BP 的时间只有自适应BP 的69.46%,是GA 的78.30%。

为了进一步对比,文中对数据集进行多次划分实验,分别选取编号末位为(1,6)、(2,7)、(3,8)、(4,9)作为测试集,类比表1 得到相应的样本集。加上表1 中编号末位是(0,5)的数据,共五组数据,对网络进行训练得到五组实验结果如表2 所示。从表2 中明显看出,在相同精度要求下,采用GA-BP 方法训练网络比自适应BP 算法训练网络训练时间更少,训练步数更少。

3.3 基于GA-BP 网络模型的推理和基于CBR,RBR 推理对比

在weka(weka-3-6-8)工具进行对比试验。使用CBR 中常见算法,最近邻法(IBK)和决策树法(J48);使用RBR 中可以用来规则提取的JRIP 算法和能产生决策规则的PART 算法。把J48 、IBK、JRip、PART 和GA-BP 网络5 种方法进行对比实验[8]。实验过程中参数都取weka 默认参数。

表1 Iris数据集Tab.1 Iris data set

表2 自适应BP 和GA-BP 学习对比Fig.2 BP and GA-BP learning contrast

1)利用上文3.2 中的5 组样本,作为训练集。使用这5 组训练集,对每一训练集都进行针对J48、IBK,JRip、PART,GABP 5 种方法的建模和推理测试。为了对比推理时间,进行15 000 次测试,相当于在基于这5 种方法学习到知识后,专家系统进行15 000 次问题求解,也即推理机进行了15 000次推理。5 组实验采用同一组测试集,对推理时间、报错次数、正确率4个要素5 组进行分析。对5 种方法,5 组实验得到结果取均值,如表3 所示。

表3 5种推理方法比较Tab.3 Comparison of the five reasoning algorithm

2)为了进一步证明基于GA-BP 网络模型推理在将解决分类问题时的优势,选取UCI 下wine 和car evaluation 两组数据集进行仿真。分别进行10 组实验,每组实验中Wine 进行17 800 次推理,car evaluation 进行17 280 次推理,对得到结果取均值,如表4 和表5 所示。

从表3、表4 和表5 可以看出,基于GA-BP 的神经网络模型推理和基于IBK 的推理正确率最高,但是基于IBK 的推理时间远多于基于GA-BP 的神经网络模型推理;基于神经网络推理的时间比其他3 种推理稍多,但正确率比它们都高出不少。

表4 Wine 实验结果Tab.4 Wine experimental results

表5 Car evaluation 实验结果Tab.5 Car evaluation experimental results

4 结论

文中给出了一种基于GA-BP 学习的神经网络推理模型及实现算法。针对分类问题研究的标准数据集,通过与基于RBR 和CBR 的4 种方法进行对比实验研究,结果表明:使用基于GA-BP 神经网络推理模型,在准确性要求较高的情况下,推理实时性最好;在实时性相当的情况下,推理精确性最高。综合考虑实时性和准确性,基于GA-BP 网络模型的推理具有较好性能。

[1]Liao S H.Expert system methodologies and applications—A decade review from 1995 to 2004 [J].Expert Systems with Applications,2005,28(1):93-103.

[2]高隽.人工神经网络原理[M].北京:机械工业出版社,2005:1-6.

[3]李孝安.进化神经网络理论与方法研究[D].西安:西北工业大学,2000.

[4]张煜东,吴乐南,韦耿.神经网络泛化增强技术研究[J].科学技术与工程,2009,9(17):4997-5002.ZHANG Yu-dong,WU Le-nan,WEI Geng.Investigationon improving generalization of neural network[J].Science Techno logy and Engineering,2009,9(17):4997-5002.

[5]陶鹏,孙晓明,张超.基于神经网络推理策略的电梯故障诊断法[J].武汉理工大学学报·信息与管理工程版,2009,31(6):950-953.TAO Peng,SUN Xiao-ming,ZHANG Chao.Research of elevator fault diagnosis based on neural network reasoning strategy [J].Journal of WUT :Information &Managfment Engineering,2009,31(6):950-953.

[6]黄建国,罗航,王厚军,等.运用GA-BP神经网络研究时间序列的预测[J].电子科技大学学报,2009,38(5):687-692.HUANG Jian-guo,LUO Hang,WANG Hou-jun,et al.Prediction of time sequence based on GA-BP neural Net[J].Journal of University of Electronic Science and Technology of China,2009,38(5):687-692.

[7]UCI 机器学习数据库[EB/OL].http://archive.ics.uci.edu/ml/dntasets/.

[8]何达,吴明.Ada-BP神经网络改进算法在电力负荷预测中的应用研究[J].陕西电力,2012(12):21-24.HE Da,WU Ming.Probe into application of Ada-BP neural network improved algorithm in electric power load forecasting[J].Shaanxi Electric Power,2012(12):21-24.

猜你喜欢

推理机遗传算法神经网络
神经网络抑制无线通信干扰探究
基于自适应遗传算法的CSAMT一维反演
面向对象的几何定理推导系统的设计与实现
一种基于遗传算法的聚类分析方法在DNA序列比较中的应用
基于Naive Bayesian算法改进的智能诊病系统研究
基于遗传算法和LS-SVM的财务危机预测
基于神经网络的拉矫机控制模型建立
基于改进的遗传算法的模糊聚类算法
复数神经网络在基于WiFi的室内LBS应用
继电保护整定计算模块的设计