资源描述
,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,Click to edit the title text format,Click to edit the outline text format,Second Outline Level,Third Outline Level,Fourth Outline Level,Fifth Outline Level,Sixth Outline Level,Seventh Outline Level,Eighth Outline Level,Ninth Outline Level,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,6,章,BP,神经网络,编 者,第6章 BP神经网络编 者,Outline,1.BP,神经网络的结构,2.BP,网络的学习算法,3.,设计,BP,网络的方法,4.BP,神经网络的局限性,5.BP,网络相关函数详解,6.BP,神经网络应用实例,Outline1.BP神经网络的结构,1.BP,神经网络的结构,BP,神经网络是包含多个隐含层的网络,具备处理线性不可分问题的能力。,误差反向传播算法(,Error Back Propagtion,,,BP,),解决了多层神经网络的学习问题。,是一种多层前向网络,又叫多层感知器。,BP,网络是前向神经网络的核心部分,也是整个人工神经网络体系中的精华,广泛应用于分类识别、逼近、回归、压缩等领域。在实际应用中,大约,80%,的神经网络模型采取了,BP,网络或,BP,网络的变化形式。,1.BP神经网络的结构 BP神经网络是包含多个隐含层的,1.BP,神经网络的结构,网络由多层构成,层与层之间全连接,同一层之间的神经元无连接。,包含一个多多个隐层,可以实现复杂的映射关系。,1.BP神经网络的结构 网络由多层构成,层与层之间全连,1.BP,神经网络的结构,BP,网络的传递函数必须可微。,BP,网络一般使用,Sigmoid,函数或线性函数作为传递函数。,Sigmoid,函数是光滑、可微的函数,在分类时它比线性函数更精确,容错性较好。,将输入从负无穷到正无穷的范围映射到,01,或,-11,区间内,具有非线性的放大功能。,Log-Sigmoid Tan-Sigmoid,1.BP神经网络的结构 BP网络的传递函数必须可微。B,1.BP,神经网络的结构,“误差反向传播”:误差信号反向传播。修正权值时,网络根据误差从后向前逐层进行修正。,“反馈神经网络”:输出层的输出值又连接到输入神经元作为下一次计算的输入,如此循环迭代,直到网络的输出值进入稳定状态为止。在本书后面的章节中会专门介绍反馈神经网络,包括,Hopfield,网络、,Elman,网络等。,BP,神经网络属于多层前向网络,工作信号始终正向流动,没有反馈结构。,BP,网络采用,误差反向传播算法,(,Back-Propagation Algorithm,)进行学习。在,BP,网络中,数据从输入层经隐含层逐层向后传播,训练网络权值时,则沿着减少误差的方向,从输出层经过中间各层逐层向前修正网络的连接权值。,1.BP神经网络的结构 “误差反向传播”:误差信号,2.BP网络的学习算法,BP,学习算法的原理与,LMS,算法比较类似,属于最速下降法。,最速下降法,最速下降法可以求某指标(目标函数)的极小值,若将目标函数取为均方误差,就得到了,LMS,算法。,对于实值函数 ,如果在某点 处有定义且可微,则函数在该点处沿着梯度相反的方向 下降最快。因此,使用梯度下降法时,应首先计算函数在某点处的梯度,再沿着梯度的反方向以一定的步长调整自变量的值。,当步长足够小时,反复迭代,求得函数最小值,2.BP网络的学习算法 BP学习算法的原理与LMS算,2.BP,网络的学习算法,最速下降法 实例:求函数的最小值,根据梯度值可以再函数中画出一系列的等值线或等值面,在等值线或等值面上函数值相等。梯度下降法相当于沿着垂直于等值线方向向最小值所在位置移动。,2.BP网络的学习算法最速下降法 实例:求函数的最小值,2.BP,网络的学习算法,(,1,)目标函数必须可微。,(,2,),如果最小值附近比较平坦,算法会在最小值附近停留很久,收敛缓慢。,“,之”字形下降,(,3,),对于包含多个极小值的函数,所获得的结果依赖初始值。算法有可能陷入局部极小值点,而没有达到全局最小值点。,BP,神经网络来说,由于传递函数都是可微的,因此能满足最速下降法的使用条件。,2.BP网络的学习算法(1)目标函数必须可微。,9,2.BP,网络的学习算法,最速下降,BP,法,隐含层传递函数为Sigmoid函数,输出层传递函数为线性函数,1.,工作信号正向传播,2.,误差信号反向传播,权值调整量,=,学习率 *局部梯度 *上一层输出信号,2.BP网络的学习算法最速下降BP法 隐含层传递函数为Sig,10,2.BP,网络的学习算法,当输出层传递函数为线性函数时,输出层与隐含层之间权值调整的规则类似于线性神经网络的权值调整规则。,BP,网络的复杂之处在于,隐含层与隐含层之间、隐含层与输入层之间调整权值时,局部梯度的计算需要用到上一步计算的结果。前一层的局部梯度是后一层局部梯度的加权和。,因此,,BP,网络学习权值时只能从后向前依次计算。,串行方式。在线方式,网络每获得一个新样本,就计算一次误差并更新权值,直到样本输入完毕。随机输入样本,不容易陷入局部最优陷阱。,批量方式:离线方式。网络获得所有的训练样本,计算所有样本均方误差的和作为总误差。容易并行化,速度快。,2.BP网络的学习算法 当输出层传递函数为线性函数,11,2.BP,网络的学习算法,动量,BP,法,在标准,BP,算法的权值更新阶段引入动量因子,使权值修正值具有一定惯性:,本次权值的更新方向和幅度不但与本次计算所得的梯度有关,还与上一次更新的方向和幅度有关,(,1,)如果前后两次计算所得的梯度方向相同,得到的权值较大,可以加速收敛过程。,(,2,)如果前后两次计算所得梯度方向相反,则说明两个位置之间可能存在一个极小值,可以得到一个较小的步长,更容易找到最小值点,而不会陷入来回振荡,2.BP网络的学习算法 动量BP法 在标准B,12,2.BP,网络的学习算法,学习率可变的,BP,算法:,当误差以减小的方式趋于目标时,说明修正方向是正确的,可以增加学习率;,当误差增加超过一定范围时,说明前一步修正进行地不正确,应减小步长,并撤销前一步修正过程。,拟牛顿法。,牛顿法具有收敛快的优点,但需要计算误差性能函数的二阶导数,计算较为复杂。拟牛顿法只需要知道目标函数的梯度,通过测量梯度的变化进行迭代,收敛速度大大优于最速下降法。拟牛顿法有,DFP,方法、,BFGS,方法、,SR1,方法和,Broyden,族方法。,2.BP网络的学习算法 学习率可变的BP算法:,13,3.,设计,BP,网络的方法,1.,网络层数。对于大部分应用场合,单个隐含层即可满足需要,2.,输入层节点数。输入层节点数取决于输入向量的维数。,如果输入的是的图像,则输入向量应为图像中所有的像素形成的,4096,维向量。,如果待解决的问题是二元函数拟合,则输入向量应为二维向量。,3.,隐含层节点数。较多的隐含层节点数可以带来更好的性能,但可能导致训练时间过长。经验公式:,BP,网络的设计主要包括网络层数、输入层节点数、隐含层节点数、输出层节点数及传输函数、训练方法、训练参数的设置等几个方面。,样本数,输入层结点数,3.设计BP网络的方法1.网络层数。对于大部分应用场合,单个,14,3.,设计,BP,网络的方法,输出层神经元的个数同样需要根据从实际问题中得到的抽象模型来确定。在模式分类问题中,如果共有,n,种类别,则输出可以采用,n,个神经元。,也可以将节点个数设计为 个,表示最小的不小于 的整数。由于输出共有,4,种情况,因此采用二维输出即可覆盖整个输出空间,,00,、,01,、,10,和,11,分别表示一种类别。,输出层神经元个数,传递函数的选择,一般隐含层使用,Sigmoid,函数,而输出层使用线性函数。如果输出层也采用,Sigmoid,函数,输出值将会被限制在,01,或,-11,之间。,3.设计BP网络的方法 输出层神经元的个数同样需要,15,3.,设计,BP,网络的方法,训练方法的选择,使用,LM,算法收敛速度最快,均方误差也较小。,LM,算法对于模式识别相关问题的处理能力较弱,且需要较大的存储空间,模式识别问题,使用,RPROP,算法能收到较好的效果,SCG,算法对于模式识别和函数逼近问题都有较好的性能表现。,初始权值的确定,通常将初始权值定义为较小的非零随机值,经验值为,:权值输入端连接的神经元个数,3.设计BP网络的方法训练方法的选择 使用LM算法收敛速度最,16,3.,设计,BP,网络的方法,确定以上参数后,将训练数据进行归一化处理,并输入网络中进行学习,若网络成功收敛,即可得到所需的神经网络。,3.设计BP网络的方法 确定以上参数后,将训练数据进,17,4.BP,神经网络的局限性,BP,网络具有实现任何复杂非线性映射的能力,特别适合求解内部机制复杂的问题,但,BP,网络也具有一些难以克服的局限性,(,1,)需要的参数较多,,且参数的选择没有有效的方法。隐含层结点个数。,(,2,)容易陷入局部最优,。,(,3,)样本依赖性,。如果样本集合代表性差、矛盾样本多、存在冗余样本,网络就很难达到预期的性能,(,4,)初始权重敏感性,。训练的第一步是给定一个较小的随机初始权重,由于权重是随机给定的,,BP,网络往往具有不可重现性。,4.BP神经网络的局限性BP网络具有实现任何复杂非线性映射的,18,5.BP,网络相关函数详解,函数名称,功能,logsig,Log-Sigmoid,函数,tansig,Tan-Sigmoid,函数,newff,创建一个,BP,网络,feedforwardnet,创建一个,BP,网络(推荐使用),newcf,创建级联的前向神经网络,cascadeforwardnet,创建级联的前向神经网络(推荐使用),newfftd,创建前馈输入延迟的,BP,网络,5.BP网络相关函数详解函数名称功能logsigLog-Si,19,5.BP,网络相关函数详解,logsigLog-Sigmoid,传输函数,Lo
展开阅读全文