网站首页  词典首页

请输入您要查询的论文:

 

标题 基于Elman神经网络的非线性函数拟合
范文

    欧阳慧雨+陈涛

    摘要:为了求解实践应用中遇到的一些复杂非线性系统,提出一个基于Elman神经网络的非线性函数方程求解方法。方法通过非线性函数方程有限的若干组输入输出数据对Elman神经网络进行训练,使该网络能够表达非线性函数,最后使用训练好的神经网络预测非线性函数的输出。测试结果表明基于Elman神经网络的非线性函数拟合效果良好。

    关键词:非线性函数;拟合;Elman神经网络;MATLAB

    中图分类号:TP183 文献标识码:A 文章编号:1009-3044(2017)29-0168-02

    Abstract: In order to solve some complex nonlinear systems in the practice application, a nonlinear function equation method Based on Elman neural network is proposed. A limited number of input and output data of nonlinear function equations were used to train the Elman neural network, so that the network could express the nonlinear function. Finally, the output of nonlinear functions is predicted by using a trained neural network. The results show that the nonlinear function Based on Elman neural network has a good fitting effect.

    Key words: nonlinear function; Fitting; Elman neural network; MATLAB

    在科學实践应用中经常会遇到一些较为复杂的非线性问题,难以用较为精确的数学方程给予表示。基于上述情况,可以使用人工神经网络方法对这些问题进行求解。人工神经网络可以把未知系统当成一个黑箱。通过非线性问题中有限的输入输出数据,可以训练人工神经网络,使之能够表达未知的非线性函数。最后,使用训练好的人工神经网络对非线性问题进行求解[1]。

    人工神经网络中最为常见的是BP神经网络,其是一种前馈式神经网络,与网络先前的输出结果无关。而反馈式神经网络的输入包括有延迟的输入或者输出数据的反馈,因此研究效果更优,本文因此使用一个较为常见的后馈式神经网络——Elman神经网络。同时,为了模拟这种非线性问题的求解,本文使用一个具体的非线性函数用于Elman神经网络的方法测试。非线性函数的具体公式如下,图形表示如图1所示。

    1 Elman神经网络

    Elman神经网络是一个常见的反馈型神经网络,由Elman于1990年提出的。常见的BP神经网络是一种前馈式网络,其输出仅由当前输入和权值矩阵决定,而与网络先前的输出结果无关。而反馈神经网络的输入包括有延迟的输入或者输出数据的反馈,由于存在有反馈的输入,所以它是一种反馈动力学系统。该系统的学习过程就是神经元状态的变化过程,最终会达到一个神经元的稳定态,标志着学习过程的结束。Elman神经网络模型在前馈式网络的隐含层中增加了一个承接层,作为一步延时的算子,以达到记忆的目的,从而使系统具有适应时变特性的能力,能直接动态反映过程系统的特性[2]。

    Elman神经网络一般分为四层:输入层,隐含层(中间层),承接层和输出层(图2)。输入层、隐含层、输出层的连接类似于前馈式网络,输入层的单元仅起信号传输作用,输出层单元起线性加权作用。隐含层单元的传递函数可采用线性或非线性函数,承接层又称为状态层,它用来记忆隐含层单元前一时刻的输出值并返回给网络的输入。

    以上图为例,Elman网络的非线性状态空间表达式为:

    式中,y为m维输入结点向量,x为n维中间层结点单元向量,u为r维输入向量,xc为n维反馈式状态向量。w3为中间层到输出层连接权值,w2为输入层到中间层连接权值,w1为承接层到中间层的连接权值。g(*)为输出神经元的传递函数,是中间层输出的线性组合。f(*)为中间层神经元的传递函数,常采用S函数。Elman神经网络采用BP算法进行权值修正,学习指标函数采用误差平方和函数。

    式中为目标输入向量。

    2 实验结果

    实验首先使用公式(1)中的非线性函数方程随机生成若干组输入输出数据,然后将数据进行处理后分为训练集和测试集两个部分,训练集将用于Elman神经网络的训练拟合。最后,使用测试集检验训练好的Elman神经网络的拟合效果。

    2.1 数据预处理

    使用公式(1)中的非线性函数随机生成400组输入输出数据,为了防止单一变量影响其他变量,以及获得可比较的取值范围,对所有数据进行线性变换,变换后的变量取值范围是[0.01, 0.99]。将这400组经过处理的数据随机划分为训练集和测试集,其中训练集的数据量为320组,测试集的数据量为其余80组。

    2.2 Elman神经网络模型建立

    根据非线性函数的输入输出数据,建立的Elman神经网络结构为2-5-1(图3),即2个输入神经元分别表示方程中的x1和x2,隐层神经元的数量设置为5个,1个输出神经元对应方程中的y值。

    实验数据由400组经过数据预处理的数据组成,每组数据均有两个输入值和与之对应的一个输出值。Elman神经网络的训练集和测试集随机分为320组和80组,使用这320组训练集数据对Elman神经网络进行训练,随着训练过程的进行网络误差逐渐递减,经过2000余次训练后,训练误差趋于稳定(图4)。

    2.3 结果分析

    使用上述训练好的Elman神经网络对未参与训练的80组测试集数据进行预测,Elman神经网络的预测输出与期望输出如图5所示。

    通过图5可以看到,Elman神经网络的预测输出较好的拟合了非线性函数的真实值,80组测试集数据的平均相对误差低于3.4%,表明Elman神经网络的预测精度还是比较高的。少量测试数据仍存在一定误差,这表明基于Elman神经网络的非线性函数拟合还是存在一些问题,比如需要较大的训练数据,才可能不断提高神经网络的训练精度。

    3 结论

    本文基于Elman神经网络方法对非线性函数拟合进行相关研究。方法通过非线性函数方程的2000组输入输出数据对Elman神经网络进行训练,使该网络能够表达该非线性函数。通过使用训练好的Elman神经网络预测非线性函数的输出,其预测的相对误差低于3.4%,这表明基于Elman神经网络的非线性函数拟合是可行的。未来可以通过增加训练数据量以提高神经网络的训练精度。

    参考文献:

    [1] 陈盾,陈俐. BP神经网络在模拟非线性系统输出中的应用[J].武汉理工大学学报,2003, 27(5):731-734.

    [2] 史峰,王小川,郁磊,等. MATLAB神经网络30个案例分析[M].北京: 北京航空航天大学出版社,2010: 11-15.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/6 13:01:52