关于人工神经网络的学习方法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

关于人工神经网络的学习方法

信计一班陈思为0857129

摘要:人工神经网络是一种新的数学建模方式,它具有通过学习逼近任意非线性映射的能力。本文提出了一种基于动态BP神经网络的猜测方法,阐述了其基本原理,并以典型实例验证。关键字:神经网络,BP模型。

引言:

在系统建模、辨识和猜测中,对于线性系统,在频域,传递函数矩阵可以很好地表达系统的黑箱式输入输出模型;在时域,Box-Jenkins方法、回归分析方法、ARMA模型等,通过各种参数估计方法也可以给出描述。对于非线性时间序列猜测系统,双线性模型、门限自回归模型、ARCH模型都需要在对数据的内在规律知道不多的情况下对序列间关系进行假定。可以说传统的非线性系统猜测,在理论研究和实际应用方面,都存在极大的困难。相比之下,神经网络可以在不了解输入或输出变量间关系的前提下完成非线性建模[4,6]。神经元、神经网络都有非线性、非局域性、非定常性、非凸性和混沌等特性,与各种猜测方法有机结合具有很好的发展前景,也给猜测系统带来了新的方向与突破。建模算法和猜测系统的稳定性、动态性等研究成为当今热点问题。目前在系统建模与猜测中,应用最多的是静态的多层前向神经网络,这主要是因为这种网络具有通过学习逼近任意非线性映射的能力。利用静态的多层前向神经网络建立系统的输入/输出模型,本质上就是基于网络逼近能力,通过学习获知系统差分方程中的非线性函数。但在实际应用中,需要建模和猜测的多为非线性动态系统,利用静态的多层前向神经网络必须事先给定模型的阶次,即预先确定系统的模型,这一点非常难做到。近来,有关基于动态网络的建模和猜测的研究,代表了神经网络建模和猜测新的发展方向。

正文:

2BP神经网络模型BP网络是采用Widrow-Hoff学习算法和非线性可微转移函数的多层网络。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。现在有许多基本的优化算法,例如变尺度算法和牛顿算法。

BP神经网络包括以下单元:

①处理单元(神经元),即神经网络的基本组成部分。输入层的处理单元只是将输入值转入相邻的联接权重,隐层和输出层的处理单元将它们的输入值求和并根据转移函数计算输出值。

②联接权重。它将神经网络中的处理单元联系起来,其值随各处理单元的联接程度而变化。

③层。神经网络一般具有输入层x、隐层y和输出层o。④阈值。其值可为恒值或可变值,它可使网络能更自由地获取所要描述的函数关系。⑤转移函数F。它是将输入的数据转化为输出的处理单元,通常为非线性函数。

BP神经网络结构。

1基本算法BP算法主要包含4步,分为向前传播和向后传播两个阶段:1)向前传播阶段从样本集中取一个样本,将Xp输入网络;计算相应的实际输出Op在此阶段,信息从输入层经过逐级的变换,传送到输出层。这个过程也是网络在完成练习后正常运行时的执行过程。2)向后传播阶段计算实际输出Op与相应的理想输出Yp的差;按极小化误差的方式调整权矩阵。这两个阶段的工作受到精度要求的控制,在这里取作为网络关于第p个样本的误差测度,而将网络关于整个样本集的误差测度定义为。

基本算法流程。2动态BP神经网络猜测算法在经典的BP算法以及其他的练习算法中都有很多变量,这些练习算法可以确定一个ANN结构,它们只练习固定结构的ANN权值。在自动设计ANN结构方面,也已有较多的尝试,比如构造性算法和剪枝算法。前一种是先随机化

网络,然后在练习过程中有必要地增加新的层和结点;而剪枝法则正好相反。文献[2]中提出了演化神经网络的理念,并把EP算法与BP进行了组合演化;也有很多学者把遗传算法和BP进行结合,但这些算法都以时间复杂度以及空间复杂度的增加为代价。根据Kolmogorov 定理,对于任意给定的L2型连续函数f:[0,1]n→Rm,f可以精确地用一个三层前向神经网络来实现,因而可以只考虑演化网络的权值和结点数而不影响演化结果。基于此,在BP原有算法的基础上,增加结点数演化因子,然后记录每层因子各异时演化出的结构,最后选取最优的因子及其网络结构,这样就可以避免由于增加或剪枝得到的局部最优。根据实验得知,不同的猜测精度也影响网络层神经元的结点数,所以可根据要求动态地建立猜测系统。具体步骤如下:将输入向量和目标向量进行归一化处理。读取输入向量、目标向量,记录输入维数m、输出层结点数n。当练习集确定之后,输入层结点数和输出层结点数随之而确定,首先碰到的一个十分重要而又困难的问题是如何优化隐层结点数和隐层数。实验表明,假如隐层结点数过少,网络不能具有必要的学习能力和信息处理能力。反之,若过多,不仅会大大增加网络结构的复杂性,网络在学习过程中更易陷入局部极小点,而且会使网络的学习速度变得很慢。隐层结点数的选择问题一直受到神经网络研究工作者的高度重视。Gorman指出隐层结点数s与模式数N的关系是:s=log2N;Kolmogorov定理表明,隐层结点数s=2n +1;而根据文献[7]:s=sqrt+0。51[7]。设置结点数演化因子a。为了快速建立网络,可以对其向量初始化,并从小到大排序[4,7]。建立BP神经网络。隐含层传递函数用tansig,输出层用logsig,练习函数采用动态自适应BP算法,并制订停止准则:目标误差精度以及练习代数。初始化网络。练习网络直到满足停止判定准则。用测试向量对网络进行猜测,并记录误差和逼近曲线,评估其网络的适应性。其适应度函数采取规则化均方误差函数。转到,选取下一个演化因子,动态增加隐含层结点数,直到最后得到最佳猜测网络。3基于神经网络的猜测原理[4]3。1正向建模正向建模是指练习一个神经网络表达系统正向动态的过程,这一过程建立的神经网络模型称为正向模型。其中,神经网络与待辨识的系统并联,两者的输出误差用做网络的练习信号。显然,这是一个典型的有导师学习问题,实际系统作为教师,向神经网络提供算法所需要的期望输出。当系统是被控对象或传统控制器时,神经网络多采用多层前向网络的形式,可直接选用BP网络或它的各种变形。而当系统为性能评价器时,则可选择再励学习算法,这时网络既可以采用具有全局逼近能力的网络,也可选用具有局部逼近能力的网络。

正向建模结构3。2逆向建模建立动态系统的逆模型,在神经网络中起着关键作用,并且得到了广泛的应用。其中,比较简单的是直接逆建模法,也称为广义逆学习。拟预告的系统输出作为网络的输入,网络输出与系统输入比较,相应的输入误差用于练习,因而网络将通过学习建立系统的逆模型。但是,假如所辨识的非线性系统是不可逆的,利用上述方法将得到一个不正确的逆模型。因此,在建立系统时,可逆性应该先有所保证。直接逆建模结构

4应用实例分析

以我国西南某地震常发地区的地震资料作为样本来源,实现基于动态神经网络的地震预告。根据资料,提取出7个预告因子和实际发生的震级M作为输入和目标向量。预告因子为半年内M>=3的地震累计频度、半年内能量释放积累值、b值、异常地震群个数、地震条带个数、是否处于活动期内以及相关地震区地震级。在练习前,对数据进行归一化处理。由于输入样本为7维的输入向量,一般情况下输入层设7个神经元。根据实际情况,输出层神经元个数为1。隐含层神经元的传递函数为S型正切函数,输出层也可以动态选择传递函数。实例数据来自文献[4],将数据集分为练习集、测试集和确定集。表1中的7×7数组表示归一化后的练习向量,第一个7表示预告因子数,第二个7表示样本数。表1归一化后的练习向量在不同神经元数情况下,对网络进行练习和仿真,得到一组猜测误差曲线图。其中,曲线A表示隐层结点数为6时的猜测误差曲线,曲线B表示隐含层结点数为3时的猜测误差曲线,

相关文档
最新文档