神经网络在数学建模竞赛中的应用 下载本文

源节点输入层神经元隐含层神经元输出层图1-8 多层前向网络

通过加入一个或更多的隐层,使网络能提取出更高的统计,尤其当输入层规模庞大时,隐神经元提取高序统计数据的能力便显得格外重要.

后面我们介绍的多层感知器属于多层前向网络. 3. 反馈网络

所谓反馈网络是指在网络中至少含有一个反馈回路的神经网络.反馈网络可以包含一个单层神经元,其中每个神经元将自身的输出信号反馈给其他所以神经元的输入,如图1-9所示,图中所示的网络即为著名的Hopfied网络.图1-10所示的是另一类型的含有隐层的反馈网络,图中的反馈联结起始于隐神经元和输出神经元.图1-9和图1-10所示的网络结构中没有自反馈回路.自反馈是指一个神经元的输出反馈至其输入,含有自反馈的网络也属于反馈网络.

Z-1Z-1Z-1Z-1 图1-9 无自反馈和隐含层的反馈网络

9

Z-1Z-1Z-1Z-1

图1-10 含有隐含层的反馈网络

此外,常见的人工神经网络该有竞争神经网络和随机神经网络,在这里就不详加探讨.

1.4.2 神经网络的学习

神经网络的学习也称为训练,它是通过向环境学习而获取知识并改进自身性能,是NN的一个重要特点.一般情况下,性能的改善是按某种预定的度量通过调节自身参数(如权值)逐步达到的,学习方式(按环境所提供信息的多少分)有三种.

(1) 监督学习(有教师学习)

这种学习方式需要外界存在一个“教师”,他可对一组给定输入提供应有的输出结果(正确答案).这组已知的输入—输出数据称为训练样本集.学习系统(NN)可根据已知的输出与实际输出之间的差值(误差信号)来调节系统参数.(如图1-11)所示.

描述环境状态的信号环境教师应有响应学习系统实际响应+-?误差信号

图1-11 监督学习框图

10

(2) 非监督学习(无教师学习) 非监督学习时不存在外部教师,学习系统完全按照环境所提供数据的某些统计规律来调节自身参数或结构(这是一种自组织过程),一表示外部输入的某种固有特征(如聚类,或某种统计上的分布特征).如图1-12所示.

环境状态环境学习系统 图1-12 非监督学习框图

(3) 再励学习(或强化学习)

这种学习介于上述两种情况之间,外部环境对系统输出结果只给出评价(奖或罚)而不给出正确答案,学习系统通过强化那些受奖励的动作来改善自身特性.

动作环境状态评价学习系统输出输入

图1-13 再励学习框图

下面介绍基本的神经网络学习算法. 1. 纠错学习

首先我们考虑一个简单的情况在:设某神经网络的输出层只有一个神经元i,给该神经网格上输入,这样就产生输出yi(n),称该输出为实际输出.对于所加上的输入,我们期望该神经网络的输出d(n),称为期望输出或目标输出.实际输出与期望输出之间存在着误差,用e(n)表示.

e(n)?d(n)?yi(n) (1-9) 现在要调整突触权值,使误差信号e(n)减少.为此,可设定代价函数或性能指数E(n):

1 E(n)?e2(n) (1-10)

2反复调整突触权值使代价函数达到最小或使系统达到一个稳定状态(即突触权值稳定),就完成了学习过程.

该学习过程称为纠错学习,也称为Delta规则或者Windrow—Hoff规则. wij表示神经元xj到xi的突触权值,在学习步骤为n时对突触权值的调整为 ?wij(n)??e(n)xj(n) (1-11)

?为学习速率参数.式(1-11)表明:对神经元突触权值的调整与突触信号和输入信号成

11

正比例.纠错学习实际上是局部的,Delta规则所规定的突触调整局限于神经元i的周围.

得到?wij(n)之后,定义突触权值wij的校正值为

wij(n?1)?wij(n)??wij(n) (1-12)

wij(n)和wij(n?1)可以分别看做突触权值wij的旧值和新值.

2. Hebb学习

神经心里学家Hebb提出学习规则可归结为“当某一突触(连接)两端的神经元的激活同步(同为激活或同为抑制)时,该连接的强度应增强,反之应减弱”.用数学方式可描述为

?wij(n)?F(yi(n),xj(n)) (1-13) 式中yi(n),xj(n)分别为wij(n)两端的神经元的状态,其中最常用的一种情况为

?wij(n)??yi(n)xj(n) (1-14) 由于?w与yi(n),xj(n)的相关成比例,有时称之为相关学习规则.

3. 竞争学习

顾名思义,在竞争中学习时网络各输出单元相互竞争,最后达到只有一个最强者激活.最常见的一种情况是输出神经元之间有侧向抑制性连接,这样众多输出单元中如有某一单元较强,则它将获胜并抑制其他单元,最后只有比较强者处于激活状态.最常用的竞争学习规则可写为

j竞争获胜??(xj?wji),若神经元 ?wij(n)?? (1-15)

若神经元j竞争失败?0,此外,还有两个基本的神经网络学习规则,即基于记忆的学习和随机学习算法.在此不详加讨论.

第二章 三种神经网络模型及其MATLB仿真算法

2.1 单层前向网络模型及其仿真算法

2.1.1 感知器的概念

感知器(Perceptron)是美国心理学家Rosenblatt于1957年提出来的,它是最基本的但具有学习功能的层状网络(Layed Network).最初的感知器由三层组成,即S(Sensory)层、A(Association)层和R(Response)层,如图3-1所示.S层和A层之间的耦合是固定的,只有A层和R层之间的耦合程度(即权值)可通过学习改变.若在感知器的A层和R层加上一层或多层隐单元,则构成的多层感知器具有很强的处理功能,假如感知器隐层的节点可根据需要自由设置,那么用三层(不包括S层)的阈值网络可以实现任意的二值逻辑函数.

应注意,感知器学习方法在函数不是线性可分时得不出任何结果,另外也不能推广到一般前向网络中去.其主要原因是转移函数为阈值函数,为此,人们用可微函数如Sigmoid函数来代替阈值函数,然后采用梯度算法来修正权值.BP网络就是采用这种算法的典型网络.

12