Elman和BP神经网络在模式分类领域内的对比研究

2014-09-27 17:46丁硕常晓恒巫庆辉杨友林胡庆功
现代电子技术 2014年8期
关键词:BP神经网络

丁硕+常晓恒+巫庆辉+杨友林+胡庆功

摘要: 为了研究Elman神经网络和标准BPNN中何种网络类型更适合于解决模式分类问题,分别构建了基于Elman神经网络的分类模型和基于标准BPNN的分类模型。以平面上二维向量模式的分类为例,对2种分类模型进行训练和泛化能力测试。仿真结果表明,在训练样本数量相等且中小规模网络的条件下,Elman网络模型比BP网络模型具有更高的分类精度,更快的收敛速度,更适合于解决模式分类问题。

关键词: Elman神经网络; BP神经网络; 模式分类; 收敛速度; 泛化能力

中图分类号: TN911⁃34; TP391.9文献标识码: A文章编号: 1004⁃373X(2014)08⁃0012⁃03

Comparative study of Elman and BP neural networks used for pattern classification

DING Shuo, CHANG Xiao⁃heng, WU Qing⁃hui, YANG You⁃lin, HU Qing⁃gong

(College of Engineering, Bohai University, Jinzhou 121013, China)

Abstract: To study which type of network in Elman neural networks or standard BPNN is more effective for pattern classification, two classification models based on Elman neural network and standard BPNN are established respectively. The classification of two⁃ dimensional vector pattern on a plane is taken as an example to train the two classification models and test their generalization abilities respectively. The simulation results show that Elman neural network has higher classification accuracy and faster convergence speed than BPNN under the conditions of the same quantity of the training samples and small or medium size network. And this makes Elman neural network more suitable for solving the problem of pattern classification.

Keywords: Elman neural network; BP neural network; pattern classification; convergence speed; generalization ability

0引言

由于人工神经元网络具有很强的非线性映射能力、自学习性和容错性,近年来,人工神经元网络用于模式分类成为当今的一个研究热点问题。在众多的网络类型中,反向传播神经网络(Back Propagation Neural Networks,BPNN)是应用最为广泛的一种神经网络,但是,标准的BPNN收敛速度慢,训练时间长和目标函数存在局部最小值等缺点[1⁃3]。Elman神经网络是一种从输出到输入具有反馈连接的神经网络,Elman神经网络的输出不仅作为输出层的输入,而且还连接隐含层内的另外一些神经元,并反馈至隐含层的输入。由于Elman神经网络的输入表示信号的空域信息,而反馈支路是一个延迟单元,反映信号的时域信息,所以Elman神经网络可以在时域和空域进行模式识别,并且逼近能力优于一般的静态网络,收敛速度快,能较好地克服BPNN的训练时间长及计算复杂度高等缺点[4⁃5]。本文基于Elman神经网络和标准BPNN的分别构建了分类模型,通过仿真实验,对两个模型的分类效果进行对比。仿真结果表明,在对二维数据进行模式分类时,基于Elman神经网络的分类模型更具优势,更适合于解决模式分类问题。

1BP神经网络的算法

BPNN通过对输入节点与隐层节点间的网络权值wij、隐层节点与输出节点间的网络权值Tli及阈值[θ]的调整,使误差函数沿梯度方向下降。设BPNN的输入节点为xj、隐层节点为yi、输出节点为Ol、输出节点的期望输出为tl, 则BPNN模型的隐层节点的输出计算方法如式(1)所示,输出节点的输出计算方法如式(2)所示,输出节点的误差计算方法如式(3)所示[6⁃8]:

[yi=fjwijxj-θi] (1)

[Ol=fiTliyi-θl] (2)

[E=12ltl-fiTlijwij-θi-θl2] (3)

2Elman神经网络的算法

Elman神经网络的非线性状态空间表达式为:

[y(k)=g(w3x(k))] (4)

[x(k)=f(w1xc(k)+w2(u(k-1)))] (5)

[xc(k)=x(k-1)] (6)

式中:k表示时刻;y,x,u,xc分别表示m维输出节点向量,n维中间层结点单元向量,r维输入向量和n维反馈状态向量;w3,w2,w1分别表示中间层到输出层、输入层到中间层、承接层到中间层的连接权值;[g(⋅)]为输出神经元的传递函数;[f(⋅)]为中间层神经元的传递函数。Elman神经网络学习算法采用优化的BP算法,既可以提高网络的训练速率,又能有效抑制标准BPNN陷入局部极小值。学习的目标函数是采误差平方和函数,式(7)中[yk(w)]为目标输出量[9⁃10]。

[E(w)=k=1nyk(w)-yk(w)2] (7)

3仿真实验

为了便于对Elman神经网络和标准BPNN的分类性能进行研究,本文在Matlab R2013a环境下,分别构建了基于Elman神经网络的分类模型和基于标准BPNN的分类模型,对输入的二维向量模式进行分类实验。仿真过程如下:

(1) 以已知的二维向量作为神经网络的训练样本集,把向量的模式进行编码作为目标样本集。

(2) 建立Elman网络分类模型和标准BPNN分类模型,对两种网络模型进行反复训练,直到满足要求,然后保存训练好的网络(如果所建立的网络经充分训练后仍无法达到要求,则需调整网络结构)。

(3) 对所建立的Elman网络分类模型和标准BPNN分类模型进行泛化能力测试,即对不在训练样本集空间内的样本进行仿真,比较两种网络的仿真误差,分析两种网络的实际分类性能。

3.1Elman与BP网络分类模型的建立

利用Elman神经网络和标准BPNN对图1所示的24个样本二维向量的模式进行分类。在对样本二维向量的模式进行分类实验时,网络的输出分别用(0 0 0 1)表示第一类模式、(0 0 1 0)表示第二类模式、(0 1 0 0)表示第三类模式、(1 0 0 0)表示第四类模式。对于Elman网络,由样本数据可知,网络输入层有24个神经元,输出层有4个神经元,训练函数为Trainlm,通过反复实验,中间层神经元为7个时,网络分类性能最好。

图1 样本向量与测试向量分布

针对标准BPNN,同样输入层有24个神经元,输出层有4个神经元,训练函数为Traingd。采用动态法来确定隐含层神经元数,即一开始选用较少的隐层神经元,如果学习一定次数后效果不好,再增加隐层神经元,一直达到比较合理的隐层神经元数为止,经过反复多次试验隐含层神经元数最终确定为20,可以达到分类要求。

学习率太大,会造成网络不稳定;学习率太小,网络的训练时间就会延长,收敛速度缓慢,最终陷入局部最小值。为了兼顾系统稳定性和具有较快的收敛速度,本文在建立Elman神经网络和标准BPNN时,学习率选取为0.1;为了提高网络的训练速度和训练的成功率,本文在进行仿真实验时,利用minmax函数将训练样本集中各元素归一化到(0,1)范围内;训练次数为20 000次,目标精度为0.001。

3.2Elman与标准BPNN分类模型对训练样本的分类结果

在目标精度设置为0.001、训练样本数目相等的条件下,Elman网络分类模型与标准BPNN分类模型对训练样本的分类结果对比如表1所示。

表1 Elman与标准BPNN对训练样本的分类结果对比

Elman与标准BPNN对训练样本分类的误差变化曲线如图2和图3所示。

可以看出,标准BPNN分类模型需要17 885步才能达到目标精度,收敛时间需要32.02 s,均方误差为0.000 999 95;Elman网络分类模型只需要18步就可以达到目标精度,收敛时间仅仅需要0.87 s,均方误差仅为0.000 137 31,远远高于目标精度要求。总的来说,对于训练样本集而言,只要训练步数设置足够大,Elman网络分类模型与标准BPNN分类模型都能在规定的训练步数范围内完成对训练样本的模式分类任务,但相比之下,Elman网络分类模型的收敛时间明显比标准BPNN分类模型少,均方误差也远小于标准BPNN分类模型。由此可以得出结论,Elman网络分类模型对于训练样本分类的准确性和分类精度更高,收敛速度更快。

3.3Elman与标准BPNN分类模型的泛化能力测试

为了测试Elman网络分类模型与标准BPNN分类模型的泛化能力,本文分别利用两种分类模型(经过训练后的网络)对测试向量进行分类。

设置4个分属于不同类别的测试向量,如图1所示,(5.20,6.00) 属于第1类,(5.14,5.69) 属于第2类,(5.35,5.81) 属于第3类,(5.57,5.95) 属于第4类,利用仿真函数sim得到网络的输出。从表2可以看出,标准BPNN分类模型的最大绝对误差为0.134 3,Elman网络分类模型的最大绝对误差仅为-0.027 6。

总的来说,相对于测试样本集而言,Elman网络分类模型的分类结果更为精确,收敛速度更快,分类性能更优;标准BPNN分类模型的分类结果误差较大,收敛速度缓慢,分类性能较差。

图2 Elman神经网络训练误差变化曲线

图3 标准BP神经网络训练误差变化曲线

4结语

文中分别构建了基于Elman神经网络的分类模型和基于标准BPNN的分类模型,并对输入的二维向量模式进行分类实验。仿真结果表明:只要训练步数设置足够大,Elman网络分类模型与标准BPNN分类模型都能在规定预设精度范围内完成分类任务。但相比之下,Elman网络分类模型的收敛速度更快,训练准确性和分类精度更高,分类性能更优。所以在工程技术领域内进行设备的故障分类、故障诊断和区域划分等应用时建议优先采用Elman神经网络进行分类,如果采用标准BPNN进行分类,则需要对标准BP算法进行合理改进,否则很难满足实际分类要求。

参考文献

[1] 周黄斌,周永华,朱丽娟.基于Matlab的改进BP神经网络的实现与比较[J].计算技术与自动化,2008(1):28⁃31.

[2] DING Shuo, CHANG Xiao⁃heng, WU Qing⁃hui. Application of probabilistic neural network in pattern classification [J]. AppliedMechanics and Materials, 2014 (441): 738⁃741.

[3] 丁硕,巫庆辉.基于改进BP神经网络的函数逼近性能对比研究[J].计算机与现代化,2012(11):10⁃13.

[4] 韩旭明.Elman神经网络的应用研究[D].天津:天津大学,2006.

[5] 范燕,申东日,陈义俊,等.基于改进Elman 神经网络的非线性预测控制[J].河南科技大学学报:自然科学版,2007,28(1):41⁃45.

[6] 刘天舒.BP神经网络的改进研究及应用[D].哈尔滨:东北林业大学,2011.

[7] DING Shuo, WU Qing⁃hui. A MATLAB⁃based study on approximation performances of improved algorithms of typical BP neural networks [J]. Applied Mechanics and Materials, 2013 (313/314): 1353⁃1356.

[8] DING Shuo, CHANG Xiao⁃heng, WU Qing⁃hui. Approximation performance of BP neural networks improved by heuristic approach [J]. Applied Mechanics and Materials, 2013 (411/414): 1952⁃1955.

[9] 钱家忠,吕纯,赵卫东,等.Elman与BP神经网络在矿井水源判别中的应用[J].系统工程理论与实践,2010,30(1):145⁃150.

[10] 何定,徐鹏.Elman与BP神经网络应用于交通流预测的对比研究[J].工业工程,2010,13(6):97⁃100.

图1 样本向量与测试向量分布

针对标准BPNN,同样输入层有24个神经元,输出层有4个神经元,训练函数为Traingd。采用动态法来确定隐含层神经元数,即一开始选用较少的隐层神经元,如果学习一定次数后效果不好,再增加隐层神经元,一直达到比较合理的隐层神经元数为止,经过反复多次试验隐含层神经元数最终确定为20,可以达到分类要求。

学习率太大,会造成网络不稳定;学习率太小,网络的训练时间就会延长,收敛速度缓慢,最终陷入局部最小值。为了兼顾系统稳定性和具有较快的收敛速度,本文在建立Elman神经网络和标准BPNN时,学习率选取为0.1;为了提高网络的训练速度和训练的成功率,本文在进行仿真实验时,利用minmax函数将训练样本集中各元素归一化到(0,1)范围内;训练次数为20 000次,目标精度为0.001。

3.2Elman与标准BPNN分类模型对训练样本的分类结果

在目标精度设置为0.001、训练样本数目相等的条件下,Elman网络分类模型与标准BPNN分类模型对训练样本的分类结果对比如表1所示。

表1 Elman与标准BPNN对训练样本的分类结果对比

Elman与标准BPNN对训练样本分类的误差变化曲线如图2和图3所示。

可以看出,标准BPNN分类模型需要17 885步才能达到目标精度,收敛时间需要32.02 s,均方误差为0.000 999 95;Elman网络分类模型只需要18步就可以达到目标精度,收敛时间仅仅需要0.87 s,均方误差仅为0.000 137 31,远远高于目标精度要求。总的来说,对于训练样本集而言,只要训练步数设置足够大,Elman网络分类模型与标准BPNN分类模型都能在规定的训练步数范围内完成对训练样本的模式分类任务,但相比之下,Elman网络分类模型的收敛时间明显比标准BPNN分类模型少,均方误差也远小于标准BPNN分类模型。由此可以得出结论,Elman网络分类模型对于训练样本分类的准确性和分类精度更高,收敛速度更快。

3.3Elman与标准BPNN分类模型的泛化能力测试

为了测试Elman网络分类模型与标准BPNN分类模型的泛化能力,本文分别利用两种分类模型(经过训练后的网络)对测试向量进行分类。

设置4个分属于不同类别的测试向量,如图1所示,(5.20,6.00) 属于第1类,(5.14,5.69) 属于第2类,(5.35,5.81) 属于第3类,(5.57,5.95) 属于第4类,利用仿真函数sim得到网络的输出。从表2可以看出,标准BPNN分类模型的最大绝对误差为0.134 3,Elman网络分类模型的最大绝对误差仅为-0.027 6。

总的来说,相对于测试样本集而言,Elman网络分类模型的分类结果更为精确,收敛速度更快,分类性能更优;标准BPNN分类模型的分类结果误差较大,收敛速度缓慢,分类性能较差。

图2 Elman神经网络训练误差变化曲线

图3 标准BP神经网络训练误差变化曲线

4结语

文中分别构建了基于Elman神经网络的分类模型和基于标准BPNN的分类模型,并对输入的二维向量模式进行分类实验。仿真结果表明:只要训练步数设置足够大,Elman网络分类模型与标准BPNN分类模型都能在规定预设精度范围内完成分类任务。但相比之下,Elman网络分类模型的收敛速度更快,训练准确性和分类精度更高,分类性能更优。所以在工程技术领域内进行设备的故障分类、故障诊断和区域划分等应用时建议优先采用Elman神经网络进行分类,如果采用标准BPNN进行分类,则需要对标准BP算法进行合理改进,否则很难满足实际分类要求。

参考文献

[1] 周黄斌,周永华,朱丽娟.基于Matlab的改进BP神经网络的实现与比较[J].计算技术与自动化,2008(1):28⁃31.

[2] DING Shuo, CHANG Xiao⁃heng, WU Qing⁃hui. Application of probabilistic neural network in pattern classification [J]. AppliedMechanics and Materials, 2014 (441): 738⁃741.

[3] 丁硕,巫庆辉.基于改进BP神经网络的函数逼近性能对比研究[J].计算机与现代化,2012(11):10⁃13.

[4] 韩旭明.Elman神经网络的应用研究[D].天津:天津大学,2006.

[5] 范燕,申东日,陈义俊,等.基于改进Elman 神经网络的非线性预测控制[J].河南科技大学学报:自然科学版,2007,28(1):41⁃45.

[6] 刘天舒.BP神经网络的改进研究及应用[D].哈尔滨:东北林业大学,2011.

[7] DING Shuo, WU Qing⁃hui. A MATLAB⁃based study on approximation performances of improved algorithms of typical BP neural networks [J]. Applied Mechanics and Materials, 2013 (313/314): 1353⁃1356.

[8] DING Shuo, CHANG Xiao⁃heng, WU Qing⁃hui. Approximation performance of BP neural networks improved by heuristic approach [J]. Applied Mechanics and Materials, 2013 (411/414): 1952⁃1955.

[9] 钱家忠,吕纯,赵卫东,等.Elman与BP神经网络在矿井水源判别中的应用[J].系统工程理论与实践,2010,30(1):145⁃150.

[10] 何定,徐鹏.Elman与BP神经网络应用于交通流预测的对比研究[J].工业工程,2010,13(6):97⁃100.

图1 样本向量与测试向量分布

针对标准BPNN,同样输入层有24个神经元,输出层有4个神经元,训练函数为Traingd。采用动态法来确定隐含层神经元数,即一开始选用较少的隐层神经元,如果学习一定次数后效果不好,再增加隐层神经元,一直达到比较合理的隐层神经元数为止,经过反复多次试验隐含层神经元数最终确定为20,可以达到分类要求。

学习率太大,会造成网络不稳定;学习率太小,网络的训练时间就会延长,收敛速度缓慢,最终陷入局部最小值。为了兼顾系统稳定性和具有较快的收敛速度,本文在建立Elman神经网络和标准BPNN时,学习率选取为0.1;为了提高网络的训练速度和训练的成功率,本文在进行仿真实验时,利用minmax函数将训练样本集中各元素归一化到(0,1)范围内;训练次数为20 000次,目标精度为0.001。

3.2Elman与标准BPNN分类模型对训练样本的分类结果

在目标精度设置为0.001、训练样本数目相等的条件下,Elman网络分类模型与标准BPNN分类模型对训练样本的分类结果对比如表1所示。

表1 Elman与标准BPNN对训练样本的分类结果对比

Elman与标准BPNN对训练样本分类的误差变化曲线如图2和图3所示。

可以看出,标准BPNN分类模型需要17 885步才能达到目标精度,收敛时间需要32.02 s,均方误差为0.000 999 95;Elman网络分类模型只需要18步就可以达到目标精度,收敛时间仅仅需要0.87 s,均方误差仅为0.000 137 31,远远高于目标精度要求。总的来说,对于训练样本集而言,只要训练步数设置足够大,Elman网络分类模型与标准BPNN分类模型都能在规定的训练步数范围内完成对训练样本的模式分类任务,但相比之下,Elman网络分类模型的收敛时间明显比标准BPNN分类模型少,均方误差也远小于标准BPNN分类模型。由此可以得出结论,Elman网络分类模型对于训练样本分类的准确性和分类精度更高,收敛速度更快。

3.3Elman与标准BPNN分类模型的泛化能力测试

为了测试Elman网络分类模型与标准BPNN分类模型的泛化能力,本文分别利用两种分类模型(经过训练后的网络)对测试向量进行分类。

设置4个分属于不同类别的测试向量,如图1所示,(5.20,6.00) 属于第1类,(5.14,5.69) 属于第2类,(5.35,5.81) 属于第3类,(5.57,5.95) 属于第4类,利用仿真函数sim得到网络的输出。从表2可以看出,标准BPNN分类模型的最大绝对误差为0.134 3,Elman网络分类模型的最大绝对误差仅为-0.027 6。

总的来说,相对于测试样本集而言,Elman网络分类模型的分类结果更为精确,收敛速度更快,分类性能更优;标准BPNN分类模型的分类结果误差较大,收敛速度缓慢,分类性能较差。

图2 Elman神经网络训练误差变化曲线

图3 标准BP神经网络训练误差变化曲线

4结语

文中分别构建了基于Elman神经网络的分类模型和基于标准BPNN的分类模型,并对输入的二维向量模式进行分类实验。仿真结果表明:只要训练步数设置足够大,Elman网络分类模型与标准BPNN分类模型都能在规定预设精度范围内完成分类任务。但相比之下,Elman网络分类模型的收敛速度更快,训练准确性和分类精度更高,分类性能更优。所以在工程技术领域内进行设备的故障分类、故障诊断和区域划分等应用时建议优先采用Elman神经网络进行分类,如果采用标准BPNN进行分类,则需要对标准BP算法进行合理改进,否则很难满足实际分类要求。

参考文献

[1] 周黄斌,周永华,朱丽娟.基于Matlab的改进BP神经网络的实现与比较[J].计算技术与自动化,2008(1):28⁃31.

[2] DING Shuo, CHANG Xiao⁃heng, WU Qing⁃hui. Application of probabilistic neural network in pattern classification [J]. AppliedMechanics and Materials, 2014 (441): 738⁃741.

[3] 丁硕,巫庆辉.基于改进BP神经网络的函数逼近性能对比研究[J].计算机与现代化,2012(11):10⁃13.

[4] 韩旭明.Elman神经网络的应用研究[D].天津:天津大学,2006.

[5] 范燕,申东日,陈义俊,等.基于改进Elman 神经网络的非线性预测控制[J].河南科技大学学报:自然科学版,2007,28(1):41⁃45.

[6] 刘天舒.BP神经网络的改进研究及应用[D].哈尔滨:东北林业大学,2011.

[7] DING Shuo, WU Qing⁃hui. A MATLAB⁃based study on approximation performances of improved algorithms of typical BP neural networks [J]. Applied Mechanics and Materials, 2013 (313/314): 1353⁃1356.

[8] DING Shuo, CHANG Xiao⁃heng, WU Qing⁃hui. Approximation performance of BP neural networks improved by heuristic approach [J]. Applied Mechanics and Materials, 2013 (411/414): 1952⁃1955.

[9] 钱家忠,吕纯,赵卫东,等.Elman与BP神经网络在矿井水源判别中的应用[J].系统工程理论与实践,2010,30(1):145⁃150.

[10] 何定,徐鹏.Elman与BP神经网络应用于交通流预测的对比研究[J].工业工程,2010,13(6):97⁃100.

猜你喜欢
BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 