GRNN与BPNN的函数逼近性能对比研究

时间:2022-05-05 07:38:39

GRNN与BPNN的函数逼近性能对比研究

摘 要: 为了研究GRNN和BPNN非线性函数的逼近能力,从数学角度详细阐述了GRNN和基于LM优化算法改进的BPNN的学习过程,编程建立了GRNN和BPNN,并分别用两种神经网络对指定的非线性函数进行逼近实验。仿真结果表明,在训练样本数量相等且中小规模网络的条件下,相对于BPNN而言,GRNN的逼近精度更高、收敛速度更快,具有很好的逼近能力,为解决非线性函数的逼近问题提供了良好的解决手段。

关键词: 广义回归神经网络; 反向传播神经网络; 函数逼近; 逼近能力对比; 仿真

中图分类号: TN711?34;TP183 文献标识码: A 文章编号: 1004?373X(2014)07?0114?04

Comparative study on function approximation performances of GRNN and BPNN

DING Shuo, CHANG Xiao?heng, WU Qing?hui

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

Abstract: To study the nonlinear function approximation performances of GRNN and BPNN, the learning processes of GRNN and BPNN based on LM optimization algorithm improvement are illustrated mathematically in this paper. Then GRNN and BPNN were established with computer programming. A given nonlinear function was approximated by the two neural networks respectively. The simulation results indicate that when the numbers of training samples are the same and the networks are small or medium?sized, GRNN has higher precision, faster convergence speed, and better approximation ability than BPNN. Thus GRNN is a good method to solve the problem of nonlinear function approximation.

Keywords: GRNN; BPNN; function approximation; approximation capability comparison; simulation

0 引 言

数值逼近是指给定一组数据,用数学分析的方法来分析这组数据,常用的数学分析方法有多项式拟合和插值运算。由于人工神经元网络(Artificial Neural Networks, ANN)具有很强的非线性映射能力、自学习性和容错性,近些年来,采用ANN对于非线性函数进行逼近成为数值逼近领域的一个研究热点。目前,国内外学者绝大部分使用的ANN模型是BP神经网络,但是,传统的BP网络收敛速度慢,训练时间长和目标函数存在局部最小等缺点,所以,很多学者提出了许多改进算法。广义回归神经网络(General Regression Neural Networks, GRNN)具有很强的非线性映射能力和柔性网络结构以及高度的容错性和鲁棒性,很适合于解决非线性函数的逼近问题[1?5]。笔者以标准BP(Back Propagation)算法为基础,利用收敛速度相对较快、拟合精度较高且性能稳定的LM(Levenberg?Marquart)算法来构建LMBP神经网络,同时构建了GRNN,分别对指定的非线性函数进行逼近实验,并对结果进行比较分析。仿真结果表明,GRNN对非线性函数的逼近能力要明显地高于BPNN,并且设计起来更为方便。

1 人工神经网络函数逼近定理

令[?(?)]为有限非常量的单调增连续函数,[IP]代表[P]维超立方体[[0,1]P],[C(IP)]表示定义在[IP]上的连续函数构成的集合,则给定任意函数[f(?)∈C(IP)]和[ε>0,]存在正整数[M]和一组实常数[?i,][θi]和[ωij,]其中[i=1,2,…,M;][j=1,2,…,p,]使得神经网络的输出如式(1)所示[6] :

[F(x1,x2,…,xp)=i=1M?i?(j=1pωijxj-θi)] (1)

即网络可逼近任意函数[f(x):]

[F(x1,x2,…,xp)-f(x1,x2,…,xp)

2 LM?BP神经网络算法原理

针对传统BPNN算法迭代速度慢,且易陷入局部最小点的缺点,若计算机的内存足够大时,对于中小型结构的网络一般使用LM改进方法。LM算法在对近似二阶训练速率进行修正时可以充分避免计算复杂的Hessian矩阵。若误差函数用平方和表示时,可以用式(3)来表示Hessian矩阵:

[H(k)=JT(k)J(k)] (3)

梯度表达式如式(4)所示:

[g=JT(k)e(k)] (4)

式(3)中,[J(k)]是包含网络误差对权值和阈值的一阶导数的雅克比矩阵;式(4)中,[e]为误差向量。LM算法可按照式(5)进行修正:

[x(k+1)=x(k)-JTJ+μI-1JTe(k)] (5)

式中:[I]为单位矩阵;比例系数[μ]是一个大于0的很小的参数,当[μ]接近零时,式(5)变为牛顿法;当[μ]很大时,式(5)变为梯度下降法。因为牛顿法在对最小误差进行逼近时,收敛速度快,精度高,所以应使式(5)最终接近于牛顿法,使[μ]减小;而只有在进行尝试性迭代后的误差性能增加的情况下,才使[μ]增加[2]。LM算法是一种非常有效的优化设计方法,尤其适用于目标函数为误差平方和最小化的情况,因其具有二阶收敛速度,所需要的迭代次数很少,所以可大幅度提高收敛速度,并可提高算法的稳定性以及避免陷人局部最小点的优点。

3 GRNN算法原理

GRNN由输入层、模式层、求和层和输出层四层组成。GRNN直接从训练数据中获得估计函数,可以逼近输入和输出向量之间的任意函数。给定[x]并假设被估计函数是连续光滑的,则[y]的期望值如式(6)所示:

[E[yx]=-∞+∞vf(x,v)dv-∞+∞f(x,v)dy] (6)

函数[f(x,y)]可定义为:[f(x,y)=12σI+1×1Ii=1Iexp-(x-xi)T(x-xi)2?σ2×exp-(y-yi)22?σ2] (7)

式(7)中[xi]和[yi]分别表示第[i]个训练输入向量和相应的输出,[s]表示扩展常数,也称为光滑因子。给定[x,] 则相应的回归估计如式(8)所示:

[y=E[yx]=i=1Iyihii=1Ihi] (8)

[hi=exp-d2i2?σ2] (9)

[d2i=(x-xi)T(x-xi)] (10)

式(9)和式(10)中[hi]表示高斯径向基函数,[d2i]表示向量[x]和向量[xi]之间的欧式距离的平方。

4 仿真实验

为了便于对GRNN和BPNN逼近性能和收敛速度进行研究,本文在Matlab 7.0环境下,编程建立了GRNN和LM?BP神经网络,分别对式(11)所示的非线性函数进行逼近实验,并进行对比研究,逼近的目标精度为0.000 1。

[y=2?e(-x2)+cos(x),x∈[-10,10]] (11)

仿真过程[7?10]如下:

(l) 对待逼近的非线性函数进行采样,以采样点作为神经网络的训练样本集,计算相应点的函数值,把其作为目标样本集;

(2) 建立GRNN和三层BPNN,并用上一步骤所形成的训练样本集进行反复训练,直到满足要求;如果所建立的网络经充分训练后仍无法达到要求,则需调整网络结构;

(3) 利用GRNN和BPNN对训练样本进行仿真;

(4) 对所建立的GRNN和BPNN进行泛化能力测试,即对不在训练样本集空间内的样本进行仿真,比较两种网络的仿真误差;

(5) 在样本数相同且精度要求相等的条件下,对于两种网络的整体逼近结果进行比较,分析两种网络在解决相同问题时逼近性能的差异。

4.1 GRNN和BPNN的建立

GRNN人为调节的参数少,只有一个阈值[b,]阈值[b]的计算方法如式(12)所示:

[b=0.5×[-log(0.5)]SPREAD] (12)

式中的参数SPREAD为径向基函数的分布密度。所以在建立GRNN时,只需要选择一个合适的SPREAD值,SPREAD值的大小对于网络的逼近结果影响很大,SPREAD的值越小,神经网络对样本数据的逼近性就越好;SPREAD的值越大,神经网络对样本数据的逼近过程就越光滑,但与此同时网络输出误差会增大。文中在Matlab 7.0环境下编写GRNN算法程序进行非线性函数逼近研究,SPREAD分别取0.1,0.3,0.5,0.7,1.0,程序采取循环训练算法,不同SPREAD值对逼近结果的影响如图1所示。可以看出,当SPREAD=0.1时,文中所建立的GRNN达到最佳逼近效果。所建立GRNN可以根据训练算法和训练样本集开始学习和训练,当网络训练好后,各个隐层节点的数据中心相应的输出权值将不再改变,此时的神经网络可以进行非线性函数逼近。

因为传统的BPNN收敛速度慢,逼近精度不够高,文中利用LM算法对BPNN进行改进。建立LM?BPNN,主要包含网络层数、隐层神经元个数、初始权值和学习率四个要素。根据ANN的函数逼近理论,一个三层BPNN可以逼近任意非线性函数。因此,文中在进行函数逼近实验时,BP神经网络采用单隐层结构。隐含层的神经元数目的冗余将使网络庞大,训练困难,而不足又会导致训练失败。文中采用动态法来确定隐含层神经元数:即一开始选用较少的隐层神经元,如果学习一定次数后效果不好,再增加隐层神经元,一直达到比较合理的隐层神经元数为止,经过反复多次试验隐含层神经元数最终确定为15,可以达到逼近要求。

图1 不同SPREAD值对逼近结果的影响

初始权值对BPNN的收敛程度和训练时间影响很大。文中在建立LM?BPNN时,输入值在加权处理后尽可能接近零,这样可以保证初始权值的调整发生在S型传递函数的斜率最陡处。文中在建立几种数值优化BP神经网络时,为了兼顾系统稳定性和具有较快的收敛速度,学习率选取为0.1。

4.2 GRNN和BPNN对训练样本集的逼近能力测试

采样频率取为0.4,即在[x∈[-10,10]]区间内等间距选取51个点作为训练样本集,对应点的函数值作为目标样本集。GRNN和BPNN对训练样本点的逼近误差如图2所示,可以看出,两种网络对于训练样本的逼近结果的相对误差均达到预先设定的精度要求,GRNN几乎在所有的训练样本点的逼近结果的相对误差都接近于为0,只有在个别训练样本的逼近结果的绝对误差略有增大,最大相对误差不超过-2.413e-6,但仍远小于BPNN在对应点处的相对误差;相比之下,BPNN在很多训练样本点的逼近结果的相对误差都显著增大,最大相对误差为-0.113,逼近精度远低于GRNN。

4.3 GRNN和BPNN逼近性能的泛化能力测试

为了检验所建立的GRNN和BPNN的泛化能力,将采样频率取为0.8,即在[x∈[-10,10]]区间内等间距选取25个非训练样本点作为测试点集。GRNN和BPNN对非训练样本点的逼近误差如图3所示,可以看出,GRNN对测试点集几乎达到了完全逼近,只在几个测试点有较小误差,但最大相对误差不超过2.612e-6;相比之下,BPNN有较大误差,且误差波动较大,BPNN在较小和较大的非训练样本点的逼近相对误差显著增大,其最大相对误差不超过0.08。由此可以得出结论,GRNN对测试点集的逼近精度明显高于BPNN且具有较强的泛化能力。

图2 GRNN和BPNN对训练样本点的逼近误差

图3 GRNN和BPNN对非训练样本点的逼近误差

4.4 GRNN和RBFNN的整体逼近结果对比

在样本数相同且精度要求相等的条件下,利用作待逼近函数图像时的采样频率产生样本,分别用GRNN和BPNN对这些样本进行仿真,两种网络对待逼近函数的整体逼近效果如图4所示,可以看出,GRNN在待逼近函数的取值区间范围内几乎做到了完全逼近,而没有经过训练的BPNN完全无法逼近,即使利用经过训练后的网络(运行25次,取效果最好的1次)也在多个函数区间上仍存在逼近相对误差大、逼近效果不理想的现象。

在样本数和精度要求相同的条件下,GRNN和BPNN对于待逼近函数的整体逼近结果对比如表1所示。可以看出,随着样本集数目的不断增大,GRNN和BPNN的收敛时间相应的在不断增加,但总体来说,GRNN的收敛时间较BPNN的收敛时间要少很多;就两种网络整体逼近的均方误差而言, GRNN的均方误差远远小于BPNN的均方误差。

表1 GRNN和BPNN整体逼近结果对比

[样本集

数目\& GRNN收敛时 /s\& BPNN收敛时 /s\& GRNN

均方误差\&BPNN

均方误差\&[?]\&[?]\&[?]\&[?]\&[?]\&26\&0.036\&0.366\&2.346 6e-012\&8.565 75e-005\&33\&0.055\&0.668\&3.471 5e-012\&8.767 56e-005\&51\&0.077\&0.909\&7.986 9e-012\&9.841 37e-005\&[?]\&[?]\&[?]\&[?]\&[?]\&101\&0.091\&1.131\&8.506 0e-012\&9.995 82e-005\&]

图4 GRNN和BPNN整体逼近结果效果图

5 结 语

仿真结果表明, GRNN和BPNN能够在预设精度范围内完成非线性函数的逼近任务,文中采用LM算法对传统BPNN进行改进可以有效提高其收敛速度和逼近精度。但LM 算法的复杂度较大,在计算过程中会产生大量的中间结果矩阵,需要较大的计算机内存空间。相比之下,GRNN 网络在逼近能力和学习速度上较BPNN有更强的优势,网络最后收敛于样本积聚较多的优化回归面,并且在样本数据较少以及存在不稳定数据时,逼近效果也较好。GRNN对于非线性函数的逼近精度远远高于BPNN,两者不在同一数量级,GRNN基本上和待逼近函数完全吻合,在整体逼近上也明显优于BPNN,而BPNN则存在较大误差,且GRNN能够自动调整网络结构,设计起来非常方便,而且最大限度地降低了人为主观因素对逼近结果的影响,所以在中小型网络中应优先采用GRNN进行逼近。

参考文献

[1] 黄忠明,吴志红,刘全喜.几种用于非线性函数逼近的神经网络方法研究[J].兵工自动化,2009,28(10):88?92.

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

[3] 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.

[4] DING Shuo, CHANG Xiao?heng. A Matlab?based Study on the Realization and Approximation Performance of RBF Neural Networks[J]. Applied Mechanics and Materials, 2013, 325?326: 1746?1749.

[5] 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.

[6] 马东宇.基于Gaussian型RBF神经网络的函数逼近与应用[D].长沙:中南大学,2011.

[7] 智会强,牛坤,田亮,等.BP网络和RBF网络在函数逼近领域内的比较研究[J].科技通报,2005,21(2):193?197.

[8] 曾德惠.基于Matlab实现函数逼近[J].现代电子技术,2009,32(8):141?143.

[9] 丁硕,常晓恒.Gaussian型RBF神经网络的函数逼近仿真研究[J].河南科学,2013,31(9):1383?1386.

[10] 刘永,张立毅.BP和RBF神经网络的实现及其性能比较[J].电子测量技术,2007,30(4):77?80.

上一篇:基于二象限APF的单相功率因数校正器 下一篇:微放电检测方法分析