APP下载

神经网络在函数逼近中的应用

2009-12-04长江大学信息与数学学院湖北荆州434023

长江大学学报(自科版) 2009年4期
关键词:步数人工神经网络神经网络

周 俊 (长江大学信息与数学学院,湖北 荆州 434023)

神经网络在函数逼近中的应用

周 俊 (长江大学信息与数学学院,湖北 荆州 434023)

基于神经网络,通过采集样本数据研究了函数逼近问题,并就神经网络性能指标在该函数逼近过程中的影响进行了分析。研究结果表明,在大量合理的输入输出数据存在时,神经网络可以对未知函数进行无限的逼近。

神经网络;函数逼近;收敛性

人工神经网络(Artificial Neutral Networks,ANN)是由大量处理单元互联组成的非线性、自适应信息处理系统[1]。人工神经网络通过样本的自学习,可记忆客观事物在空间、时间方面比较复杂的关系,非常适合于解决模式识别、优化组合、函数逼近等问题[2]。

在现实中,由于很多过程通常都无法以数学表达式的形式直观地给出其数学模型,从而影响对其进一步的认识和操作。但是,在此类过程中通常都具有很多历史或经验数据,如何有效的提取出数据中潜在的规律就显得尤为重要。人工神经网络由于具有很强的映射能力,通过样本不断学习可以实现对未知函数(或数学模型)的逼近,进而建立起系统的黑箱模型。只要样本足够多且合理,得到的黑箱模型足以描述过程的特征,进而有利于模型的预测、优化等研究。下面,笔者以一个具体的实例采用人工神经网络研究了函数逼近问题,并就其网络结构和参数的设计对学习收敛的影响作了分析。

图1 正弦函数逼近流程图

1 函数逼近算法流程

BP神经网络属于典型的3层前馈人工神经网络,学习过程由输入信号的正向传播和误差信号的反向传播2个过程组成[3]。应用BP神经网络的关键在于网络的结构与参数的设计上,在网络设计过程中,涉及到较多参数的确定, 例如训练样本集的构造、网络的层数;每层的神经元节点数;初始值的选取;学习速率的确定。最重要的还有训练算法的选定或改进,因为BP网络设计的最大特点就是网络的权值是通过使网络输出与样本输出之间的误差平方和达到期望值而不断调整网络的权值训练出来的[4]。BP网络的设计过程是一个参数不断调整的过程,这意味着是一个不断对比结果的过程。

下面采用BP神经网络研究正弦函数:

y=sinx

的逼近问题。

基于BP算法的原理,笔者通过在MATLAB[5,6]中编写程序,利用样本实现了上述正弦函数的逼近。程序框图如图1所示。

2 性能分析

输入节点和输出节点数均为1,目标误差为0.0001,最大迭代步数为8000,学习率为0.05,样本集由自变量在[0,2π]中等间隔取45个数据点构成。

2.1样本选取方式对收敛性的影响

选择隐节点个数为6,若顺序选取训练样本,此时的迭代步数epoch=4899,相应函数逼近曲线及训练误差曲线依次如图2(a)和3(a)所示。随机选取训练样本,此时的迭代步数epoch=4761,相应函数逼近曲线及训练误差曲线如图2(b)和图3(b)所示。

图2 不同样本选取方式的函数逼近曲线

图3 不同样本选取方式的训练误差曲线

从图2,3可知,样本选取方式的不同对收敛速度的影响不大,但对逼近效果却有较大影响。尽管目标误差一样,但随机选取样本训练时的逼近效果明显好于顺序选取样本时的效果,这是因为随机选取样本训练时,误差分布要均匀许多。

2.2隐节点个数对收敛性的影响

选择隐节点个数为2,此时迭代步数epoch=8000(为最大迭代步数),相应函数逼近曲线及训练误差曲线如图4(a)和图5(a)所示;选择隐节点个数为5,此时的迭代步数epoch=3952,近曲线及训练误差曲线如图4(b)和图5(b)所示;若是选择隐节点个数为10,此时的迭代步数epoch=7541,逼近曲线及训练误差曲线如图4(c)和图5(c)所示。

由图4,5可以看到,当隐节点数量太少时,网络从样本中获取的信息能力差,不足以概括和体现训练集中的样本规律,而且拟合效果也差;隐节点数量过多,又可能把样本中非规律性的内容(如噪声等)记牢,从而出现“过拟合”问题,反而降低了泛化能力。此外,隐节点数太多还会增加训练时间。因此,确定最佳隐节点数的方法如下:先设置较小的隐节点训练网络,然后逐渐增加隐节点数,直至满足性能要求。

图4 不同隐节点数的函数逼近曲线

图5 不同隐节点数的训练误差曲线

3 结 语

对于函数的逼近问题,笔者通过样本数据采用BP人工神经网络给出了很好的逼近效果,并就BP神经网络设计过程中的样本集构造和隐节点个数的选取对收敛性的影响做了对比和分析。结果表明,随机选取样本训练时,由于学习误差比较均匀,逼近效果较顺序选取时要好;对于隐节点数,当其数量太少时,网络权值减少,提取样本数据规律的能力较差;隐节点数量过多时,就导致训练过度,从而降低了泛化能力,因而一般采用试凑法得出合理的隐节点数。总的来说,在合理设计神经网络的基础上,神经网络对解决函数逼近问题是可行且高效的。

[1]Jain A K.Jianchang Mao and Mohiuddin,K M Artificial neural networks: a tutorial[J]. Journal of Computer,1996, 29(3):31~44.

[2]Simon Haykin.神经网络原理[M].叶世伟, 史忠植 译.北京:机械工业出版社,2004.

[3]Wang Yunsong.A BP algorithm of training neural networks based on solutions for a nonlinear least mean square problem[J].Journal of Shandong University of Technology,2004,18(6):24~30.

[4]丛爽,向微.BP网络结构、参数及训练方法的设计与选择[J].计算机工程,2001,27(10):36~38.

[5]罗成汉.基于MATLAB神经网络工具箱的BP网络实现[J].计算机仿真,2004,21(5):109~111.

[6]刘浩,白振兴.BP网络的MATLAB实现及应用研究[J].现代电子技术,2006,(2):49~51.

[编辑] 洪云飞

O241.5

A

1673-1409(2009)02-N004-03

2009-01-25

国家自然科学基金(40572078/D0206);石油科技中青年创新基金(2002f70104);教育部重点实验室开放基金项目 (K200609);湖北省教育厅(A类)重点项目(D200512001);湖北省教学研究项目(20070233);长江大学重点课程资助项目。

周俊(1975-),男,1997年大学毕业,硕士,讲师,现主要从事最优化理论和算法方面的研究工作。

猜你喜欢

步数人工神经网络神经网络
楚国的探索之旅
利用人工神经网络快速计算木星系磁坐标
神经网络抑制无线通信干扰探究
人工神经网络实现简单字母的识别
微信运动步数识人指南
滑动电接触摩擦力的BP与RBF人工神经网络建模
国人运动偏爱健走
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用
基于支持向量机回归和RBF神经网络的PID整定