文档介绍:神经网络学****之BP神经网络http://blog./u013007900/article/details/ (Feed-Forward前向反馈) (Backpropagation) 10第五章BP网络运行的具体流程 : 11第六章BP网络的设计 15BP网络的局限性 15BP网络的改进 elland为首的科研小组提出,参见他们发表在Nature上的论文 Learningrepresentationsbyback-propagatingerrors 。BP神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一。BP网络能学****和存贮大量的输入-输出模式映射关系,而无需事前揭示描述这种映射关系的数学方程。它的学****规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。第二章BP算法的基本思想多层感知器在如何获取隐层的权值的问题上遇到了瓶颈。既然我们无法直接得到隐层的权值,能否先通过输出层得到输出结果和期望输出的误差来间接调整隐层的权值呢?BP算法就是采用这样的思想设计出来的算法,它的基本思想是,学****过程由信号的正向传播与误差的反向传播两个过程组成。正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的实际输出与期望的输出(教师信号)不符,则转入误差的反向传播阶段。反向传播时,将输出以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而获得各层单元的误差信号,此误差信号即作为修正各单元权值的依据。这两个过程的具体流程会在后文介绍。BP算法的信号流向图如下图所示 第三章BP网络特性分析我们分析一个ANN时,通常都是从它的三要素入手,即 1)网络拓扑结构; 2)传递函数; 3)学****算法。每一个要素的特性加起来就决定了这个ANN的功能特性。所以,我们也从这三要素入手对BP网络的研究。,BP网络实际上就是多层感知器,因此它的拓扑结构和多层感知器的拓扑结构相同。由于单隐层(三层)感知器已经能够解决简单的非线性问题,因此应用最为普遍。三层感知器的拓扑结构如下图所示。 一个最简单的三层BP:  ——Sigmoid函数(又称S函数)。其特点是函数本身及其导数都是连续的,因而在处理上十分方便。为什么要选择这个函数,等下在介绍BP网络的学****算法的时候会进行进一步的介绍。 单极性S型函数曲线如下图所示。  双极性S型函数曲线如下图所示。 ,又叫δ算法(在ANN的学****过程中我们会发现不少具有多个名称的术语),以三层感知器为例,当网络输出与期望输出不等时,存在输出误差E,定义如下: 将以上误差定义式展开至隐层,有 进一步展开至输入层,有 由上式可以看出,网络输入误差是各层权值ωjκ、υij的函数,因此调整权值可改变误差 E。显然,调整权值的原则是使误差不断减小,因此应使权值与误差的梯度下降成正比,即 :对于一般多层感知器,设共有 h 个隐层,按前向顺序各隐层节点数分别记为 m1,m2,…,mh,各隐层输出分别记为 y1,y2,…,yh,各层权值矩阵分别记为 W1,W2,…,Wh,Wh+1,则各层权值调整公式为输出层第 h 隐层按以上规律逐层类推,则第一隐层权值调整公式容易看出,BP学****算法中,各层权值调整公式形式上都是一样的,均由3个因素决定,即:学****率 η本层输出的误差信号δ本层输入信号 Y(或X)其中输入层误差信号与网络的期望输出与实际输出之差有关,直接反应了输出误差,而各隐层的误差信号与前面各层的误差信号有关,是从输出层开始逐层反传过来的。可以看出BP算法属于δ学****规则类,这类算法常被称为误差的梯度下降算法。δ学****规则可以看成是Widrow-Hoff(LMS)学****规则的一般化(generalize)情况。LMS学****规则与神经元采用的变换函数无关,因而不需要对变换函数求导,δ学****规则则没有这个性质,要求变换函数可导。这就是为什么我们前面采用Sigmoid函数的原因。综上所述,BP三要素如下图所示。第四章BP网络的训练分解训练一个BP神经网络,实际上就是调整网络的权重和偏置这两个参数,BP神经网络的训练过程分两部分:前向传输,逐层