基于BP神经网络和EKF神经网络在曲线拟合性能上的对比分析研究
2014-06-23陈晓宁赵金龙黄立洋
张 彬 陈晓宁 赵金龙 黄立洋
(中国人民解放军理工大学国防工程学院,南京 210007)
在工程实际中为了描述不同变量之间的关系,在给定一组样本的情况下,需要求得自变量x和因变量y之间的函数关系 y=f(x)。曲线拟合就是用连续平滑的曲线近似的表达平面上离散点组所表示的坐标之间的函数关系的一种数据处理方法。
人工神经网络是模拟生物神经网络进行信息处理的一种数学模型,它以对大脑的生理研究成果为基础,其目的在于模拟人脑的某些机理与机制,实现一些特定的功能,其具有很强的自学习自适应等优点,在函数逼近、数字信号处理、模式识别、数据分类方面得到广泛的应用[1-3]。
1 BP神经网络
BP(Back Propagation)网络是依据误差逆传播算法训练的具有多层前馈的一种网络。BP网络能吸收和储存很多的输入-输出模式的映射关系,并不需要事先揭示和描述这种存在的关系方程。权值与阈值是不断通过神经网络的反方向传递,最终使得误差的平方和在网络中达到最小值。BP神经网络在进行数据拟合时拥有精度高、误差小等优点[4-7]。BP神经网络的结构模型包括三层,分别为输入层、隐含层和输出层。
BP神经网络在正向传播阶段,每一层神经元的输出只影响下一层神经元的状态。神经元的输出又分为实际输出和期望输出。如果神经元的实际输出和期望输出不相等的时候,BP神经网络将会进入反向传播阶段,将神经元的实际输出和期望输出的误差反向传播到上层神经元,同时修改各层神经元的权值直到误差信号传递到输入层。通过正向传播和反向传播两种过程的反复进行,使误差减小到一定的精度后这种过程才会停止,或者在规定的训练次数后才会停止。
通过上述讨论可以总结 BP算法可以分为正向传播和反向传播两个过程。
正向传播阶段有
式中,netj为第j层神经元的输入,wij为权值,Oi为j-1层神经元第i个单元的输入,Oj为第j层神经元的输出,f为对应的激活函数。
反向传播阶段有
误差测度E为
式中,yj为第j层神经元的期望输出,oj为第j层神经元的实际输出。
根据误差测度E修改各层权值有
式中,α为学习率。
此时δj的计算分为两种情况,分别为网络的输出层神经元为隐藏层神经元和输出层神经元,有
上述就是BP算法的简要过程,BP网络具有很强的非线性映射能力,一个三层 BP神经网络能够实现对任意非线性函数的逼近。BP算法本质上是以网络误差的平方和为目标函数,按梯度法求其目标函数达到最小值的算法。
2 EKF神经网络
卡尔曼滤波只能处理线性系统的问题。然而实际中,很多系统是非线性的,处理这些系统时,用扩展卡尔曼滤波(EKF),它是将期望和方差线性化的卡尔曼滤波器。把神经网络对一个非线性时变系统的认知也叫做将神经网络的网络权值θ(k)作为这个系统发生时变时候的参数,它将会映射出系统的输出变化。网络权值的估计方法一般包括RLS方法、扩展卡尔曼滤波方法[8-9]等。本文将θ(k)作为系统的状态向量,用EKF算法进行估计。
对于一个非线性系统有
将上式f(θk)和h(θk)展开围的泰勒级数并只保留线性项,其中为的估计,有
式中,K为增益矩阵,P为状态误差矩阵,Q为系统过程噪声方差矩阵,R为系统观测噪声方差矩阵。EKF神经网络的主要思想是通过比较期望值与实际值的误差,计算增益矩阵K和状态误差矩阵P,进而调整权值矩阵,直到误差满足一定条件为止。
3 神经网络曲线拟合
本文采用Matlab进行仿真实验。将待拟合的函数设计为
令y(t)∈[-1, 1],x(t)∈[-10, 10],x(t)的200个输入数据点均匀的产生在[-10, 10]的范围内。利用BP神经网络和EKF神经网络进行仿真拟合。
通过Matlab仿真,得到图1、图2、图3的仿真结果。
图1是两种算法对模糊神经网络系统的辨识程度,可以看出他们都可以很好的对系统进行辨识,达到了预期的效果。图2中红色虚线表示的是BP算法的拟合曲线,黑色曲线表示的是EKF算法拟合的曲线,绿色曲线是实际的输出值,从图中可以看出EKF算法比BP算法能更好的对系统进行辨识。
图1 BP算法和EKF算法的仿真结果
图2 BP算法和EKF算法仿真结果综合比较
图3 BP算法和EKF算法收敛性比较
通过图3为两种算法的收敛性图,虚线①是BP算法的收敛曲线,实线②是EKF算法的收敛性图,BP算法的均方差大致为1,EKF算法的均方差大致为0.1,显然EKF算法相比BP算法能更好的对系统进行辨识,也具有较高的收敛性。
4 结论
本文首先讨论了曲线拟合的定义,探讨了 BP神经网络和EKF神经网络的原理与算法,通过仿真实验可得,BP神经网络和EKF神经网络都能对系统进行比较好的辨识,在收敛性方面,EKF神经网络比BP神经网络的收敛性能方面要好。
[1]阎平凡.人工神经网络与模拟进化计算[M].北京:清华大学出版社,2000.
[2]尹念东. BP神经网络的应用设计[J]. 信息技术, 2003,27(6): 18-20.
[3]张永怀, 刘君华. 采用BP神经网络及其改进算法改善传感器特性[J]. 传感技术学报, 2002(3): 185-188.
[4]飞思科技产品研发中心.Matlab6.5辅助神经网络分析与设计. 北京: 电子工业出版社, 2003.
[5]周正民, 赵立雄. 神经网络在实验数据拟合中的应用[J]. 太原重型机械学院学报, 2006, 21(2): 165-168.
[6]杨莉, 周志富. BP神经网络在GPS高程异常拟合中的应用[J]. 测绘工程, 2010, 19(4): 12-15.
[7]薛毅. 数值分析与实验[J]. 北京: 北京工业大学出版社, 2005: 146-149.
[8]王志贤. 最优状态估计与系统辨识[M]. 西安: 西北工业大学出版社, 2004: 23-30.
[9]SIMON D. Training radial basis neural networks with the extend Kalman filter[J]. Neurocomputing, 2002, 48:455-475.