BP算法及其优缺点复习课程

上传人:鲁** 文档编号:576468198 上传时间:2024-08-20 格式:PPT 页数:42 大小:1.28MB
返回 下载 相关 举报
BP算法及其优缺点复习课程_第1页
第1页 / 共42页
BP算法及其优缺点复习课程_第2页
第2页 / 共42页
BP算法及其优缺点复习课程_第3页
第3页 / 共42页
BP算法及其优缺点复习课程_第4页
第4页 / 共42页
BP算法及其优缺点复习课程_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《BP算法及其优缺点复习课程》由会员分享,可在线阅读,更多相关《BP算法及其优缺点复习课程(42页珍藏版)》请在金锄头文库上搜索。

1、BP算法及其优缺点基于基于BP算法的多层感知器的模型算法的多层感知器的模型三层三层BPBP网络网络输入层输入层隐层隐层输出层输出层BP算法的学习过程算法的学习过程 正向传播:正向传播: 输入样本输入层各隐层输出层输入样本输入层各隐层输出层 判断是否转入反向传播阶段:判断是否转入反向传播阶段: 若输出层的实际输出与期望的输出(教师信号)不符若输出层的实际输出与期望的输出(教师信号)不符 误差反传误差反传 误差以某种形式在各层表示修正各层单元的权误差以某种形式在各层表示修正各层单元的权值值 网络输出的误差减少到可接受的程度网络输出的误差减少到可接受的程度进行到预先设定的学习次数为止进行到预先设定的

2、学习次数为止建立权值变化量与误差之间的关系建立权值变化量与误差之间的关系输出层与隐层之间的连接权值调整隐层和输入层之间的连接权值调整j=0,1,2,m; k=1,2,l (3.4.9a)i=0,1,2,n; j=1,2,m (3.4.9b)式中负号表示梯度下降,常数式中负号表示梯度下降,常数 (0,1)表示比例系数,反映了训练表示比例系数,反映了训练速率。可以看出速率。可以看出BP算法属于算法属于学习规则类,这类算法常被称为误学习规则类,这类算法常被称为误差的梯度下降差的梯度下降(GradientDescent)算法。算法。BP算法的程序实现算法的程序实现(1)初始化;初始化; (4)计算各层

3、误差信号;计算各层误差信号; (5)调整各层权值;调整各层权值; (6)检查是否对所有样本完成一次检查是否对所有样本完成一次 轮训;轮训; (7)检查网络总误差是否达到精检查网络总误差是否达到精 度要求。度要求。 (2)输入训练样本对输入训练样本对X Xp、d dp计算各层输出;计算各层输出;(3)计算网络输出误差;计算网络输出误差;BP算法的程序实现算法的程序实现然后根据总误差计算各层的误差然后根据总误差计算各层的误差信号并调整权值。信号并调整权值。 另另一一种种方方法法是是在在所所有有样样本本输输入之后,计算网络的总误差:入之后,计算网络的总误差:BP网络的主要功能网络的主要功能(1)非线

4、性映射能力非线性映射能力 多层前馈网能学习和存贮大量输入多层前馈网能学习和存贮大量输入-输出模输出模式映射关系,而无需事先了解描述这种映射关式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式系的数学方程。只要能提供足够多的样本模式对供对供BP网络进行学习训练,它便能完成由网络进行学习训练,它便能完成由n维输维输入空间到入空间到m维输出空间的非线性映射。维输出空间的非线性映射。多层前馈网的主要能力多层前馈网的主要能力(2)泛化能力泛化能力 当向网络输入训练时未曾见过的非样本数据当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确时,网络也

5、能完成由输入空间向输出空间的正确映射。这种能力称为多层前馈网的泛化能力。映射。这种能力称为多层前馈网的泛化能力。(3)容错能力容错能力 输入样本中带有较大的误差甚至个别错误对网输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。络的输入输出规律影响很小。误差曲面与误差曲面与BP算法的局限性算法的局限性 误差函数的可调整参误差函数的可调整参数的个数数的个数nw等于各层权值等于各层权值数加上阈值数,即:数加上阈值数,即: 误差误差E是是nw+1维空间中维空间中一个形状极为复杂的曲面,一个形状极为复杂的曲面,该曲面上的每个点的该曲面上的每个点的“高度高度”对应于一个误差值,每个点对应于

6、一个误差值,每个点的坐标向量对应着的坐标向量对应着nw个权值,个权值,因此称这样的空间为误差的因此称这样的空间为误差的权空间。权空间。误差曲面的分布误差曲面的分布BP算法的局限性算法的局限性 曲面的分布特点曲面的分布特点-算法的局限性算法的局限性 (1)(1)存在平坦区域存在平坦区域-误差下降缓慢,影响收敛速度误差下降缓慢,影响收敛速度 (2)(2)存在多个极小点存在多个极小点-易陷入局部最小点易陷入局部最小点 曲面分布特点曲面分布特点1:存在平坦区域:存在平坦区域平坦误差的梯度变化小平坦误差的梯度变化小平坦误差的梯度变化小平坦误差的梯度变化小接近于零接近于零接近于零接近于零存在平坦区域的原因

7、分析存在平坦区域的原因分析 接近于零的情况分析接近于零的情况分析造成平坦区的原因:造成平坦区的原因: 各节点的净输入过大各节点的净输入过大对应着误差的某个谷点对应着误差的某个谷点平坦区平坦区曲面分布特点曲面分布特点2:存在多个极小点:存在多个极小点 误差梯度为零误差梯度为零多数极小点都是局部极小,即使是全局极小多数极小点都是局部极小,即使是全局极小往往也不是唯一的。往往也不是唯一的。单权值单权值双权值双权值曲面分布特点曲面分布特点2:存在多个极小点:存在多个极小点BPBP算法算法 以误差梯度下降为权值调整原则以误差梯度下降为权值调整原则误差曲面的这一特点误差曲面的这一特点 使之无法辨别极小点的

8、性质使之无法辨别极小点的性质导致的结果:导致的结果: 因而训练经常陷入某个局部极小点而不能自拔,因而训练经常陷入某个局部极小点而不能自拔,从从而使训练无法收敛于给定误差。而使训练无法收敛于给定误差。标准标准BP算法的改进引言算法的改进引言 误差曲面的形状固有的误差曲面的形状固有的 算法的作用是什么?算法的作用是什么? 调整权值,找到最优点调整权值,找到最优点 那么如何更好地调整权值?那么如何更好地调整权值? 利用算法使得权值在更新的过程中,利用算法使得权值在更新的过程中, 走走 合适的路径,比如跳出合适的路径,比如跳出平坦区来提高收敛速度,跳出局部最小点等等平坦区来提高收敛速度,跳出局部最小点

9、等等 如何操作?如何操作? 需要在进入平坦区或局部最小点时进行一些判断,通过改变某些需要在进入平坦区或局部最小点时进行一些判断,通过改变某些参数来使得权值的调整更为合理。参数来使得权值的调整更为合理。标准的标准的BP算法内在的缺陷:算法内在的缺陷: 易形成局部极小而得不到全局最优;易形成局部极小而得不到全局最优; 训练次数多使得学习效率低,收敛速度慢;训练次数多使得学习效率低,收敛速度慢; 隐节点的选取缺乏理论指导;隐节点的选取缺乏理论指导; 训练时学习新样本有遗忘旧样本的趋势。训练时学习新样本有遗忘旧样本的趋势。针对上述问题,国内外已提出不少有效的改进算法,针对上述问题,国内外已提出不少有效

10、的改进算法,下面仅介绍其中下面仅介绍其中3 3种较常用的方法。种较常用的方法。3.5标准标准BP算法的改进算法的改进改进1 :增加动量项改进2:自适应调节学习率改进3: 引入陡度因子改进改进1 :增加动量项:增加动量项提出的原因:标准BP算法只按t时刻误差的梯度降方向调整,而没有考虑t时刻以前的梯度方向从而常使训练过程发生振荡,收敛缓慢。方法:为动量系数,一般有为动量系数,一般有( (0 0,1 1) )改进改进1 :增加动量项:增加动量项实质: 从前一次权值调整量中取出一部分迭加到本次权值调从前一次权值调整量中取出一部分迭加到本次权值调整量中整量中作用: 动量项反映了以前积累的调整经验,对于

11、动量项反映了以前积累的调整经验,对于t t时刻的调整时刻的调整起阻尼作用。起阻尼作用。 当误差曲面出现骤然起伏时,可减小振荡趋势,提高当误差曲面出现骤然起伏时,可减小振荡趋势,提高训练速度。训练速度。改进改进2:自适应调节学习率:自适应调节学习率提出的原因: 标准标准BPBP算法中,学习率算法中,学习率 也称为步长,确定一个从始也称为步长,确定一个从始至终都合适的最佳学习率很难。至终都合适的最佳学习率很难。 平坦区域内,平坦区域内, 太小会使训练次数增加;太小会使训练次数增加; 在误差变化剧烈的区域,在误差变化剧烈的区域, 太大会因调整量过大而跨太大会因调整量过大而跨过较窄的过较窄的“ “坑凹

12、坑凹” ”处,使训练出现振荡,反而使迭代次处,使训练出现振荡,反而使迭代次数增加。数增加。改进改进2:自适应调节学习率:自适应调节学习率基本思想:基本思想: 自适应改变学习率,使其根据环境变化增大或减小。自适应改变学习率,使其根据环境变化增大或减小。基本方法:基本方法: 设一初始学习率,若经过一批次权值调整后使总误差设一初始学习率,若经过一批次权值调整后使总误差 ,则本次调整无效,且,则本次调整无效,且 = = ( (1 1 1 ) )。改进改进3: 引入陡度因子引入陡度因子提出的原因:提出的原因: 误差曲面上存在着平坦区域。误差曲面上存在着平坦区域。 权值调整进入平坦区的原因是神经元输出进入

13、了转移权值调整进入平坦区的原因是神经元输出进入了转移函数的饱和区。函数的饱和区。基本思想:基本思想: 如果在调整进入平坦区后,设法压缩神经元的净输入,如果在调整进入平坦区后,设法压缩神经元的净输入,使其输出退出转移函数的不饱和区,就可以改变误差使其输出退出转移函数的不饱和区,就可以改变误差函数的形状,从而使调整脱离平坦区。函数的形状,从而使调整脱离平坦区。改进改进3: 引入陡度因子引入陡度因子 基本方法:基本方法: 在原转移函数中引入一个陡度因子在原转移函数中引入一个陡度因子 当发现当发现EE接近零而接近零而d-od-o仍较大时,可判断已进入平坦区,仍较大时,可判断已进入平坦区,此时令此时令1

14、1; 当退出平坦区后,再令当退出平坦区后,再令=1=1。改进改进3: 引入陡度因子引入陡度因子 作用分析:作用分析: 1 1 :netnet坐标压缩了坐标压缩了 倍,神经元的倍,神经元的转移函数曲线的敏感区段变长,从而转移函数曲线的敏感区段变长,从而可使绝对值较大的可使绝对值较大的netnet退出饱和值。退出饱和值。 =1=1:转移函数恢复原状,对绝对值较转移函数恢复原状,对绝对值较小的小的netnet具有较高的灵敏度。具有较高的灵敏度。 应用结果表明该方法对于提高应用结果表明该方法对于提高BPBP算法算法的收敛速度十分有效。的收敛速度十分有效。总结总结 基于基于BPBP算法的多层前馈网络模型

15、算法的多层前馈网络模型 BPBP算法的实现算法的实现 基本思想基本思想 推导过程推导过程 程序实现程序实现 BPBP学习算法的功能学习算法的功能 BPBP学习算法的局限性学习算法的局限性 BPBP学习算法的改进学习算法的改进3.6 BP网络设计基础一 、训练样本集的准备1.1.输入输出量的选择输入输出量的选择2.2.输入量的提取与表示输入量的提取与表示3.3.输出量的表示输出量的表示二、输入输出数据的归一化三、网络训练与测试1 输出量的选择 输出量:代表系统要实现的功能目标 系统的性能指标系统的性能指标 分类问题的类别归属分类问题的类别归属 非线性函数的函数值非线性函数的函数值一一 、训训练练

16、样样本本集集的的准准备备输入量的选择输入量选择的两条基本原则输入量选择的两条基本原则输入量选择的两条基本原则输入量选择的两条基本原则 必须选择那些对输出影响大且能够检测或提取的必须选择那些对输出影响大且能够检测或提取的变量变量 各输入变量之间互不相关或相关性很小各输入变量之间互不相关或相关性很小一一 、训训练练样样本本集集的的准准备备输入输出量的性质输入输出量的性质从输入、输出量的性质来看,可分为两类:一类从输入、输出量的性质来看,可分为两类:一类是数值变量,一类是语言变量。是数值变量,一类是语言变量。 数值变量数值变量的值是数值确定的连续量或离散量。的值是数值确定的连续量或离散量。 语言变量

17、语言变量是用自然语言表示的概念,其是用自然语言表示的概念,其“ “语言值语言值” ”是用是用自然语言表示的事物的各种属性。自然语言表示的事物的各种属性。 当选用语言变量作为网络的输入或输出变量时,当选用语言变量作为网络的输入或输出变量时,需将其语言值转换为离散的数值量。需将其语言值转换为离散的数值量。一一 、训训练练样样本本集集的的准准备备2. 输入量的提取与表示XC=(111100111)T XI=(111100111)T XT=(111100111)T(1)文字符号输入文字符号输入一一 、训训练练样样本本集集的的准准备备(2)曲线输入)曲线输入p=1,2,P一一 、训训练练样样本本集集的的

18、准准备备(3)(3)函数自变量输入函数自变量输入 一般有几个输入量就设几个分量,一般有几个输入量就设几个分量,1 1个输入分量对应个输入分量对应1 1个输入层节点。个输入层节点。(4)(4)图象输入图象输入 在这类应用中,一般先根据识别的具体目的从图象中在这类应用中,一般先根据识别的具体目的从图象中提取一些有用的特征参数,再根据这些参数对输入的提取一些有用的特征参数,再根据这些参数对输入的贡献进行筛选,这种特征提取属于图象处理的范畴。贡献进行筛选,这种特征提取属于图象处理的范畴。一一 、训训练练样样本本集集的的准准备备3. 输出量的表示(1)“n中取中取1”表示法表示法 “n中取中取1”是令输

19、出向量的分量数等于类别数,输入样本被判是令输出向量的分量数等于类别数,输入样本被判为哪一类,对应的输出分量取为哪一类,对应的输出分量取1,其余,其余 n-1 个分量全取个分量全取0。例如,。例如,用用0001、0010、0100和和1000可分别表示优、良、中、差可分别表示优、良、中、差4个类别。个类别。(2)“n-1”表示法表示法 如果用如果用n-1个全为个全为0的输出向量表示某个类别,则可以节省一个的输出向量表示某个类别,则可以节省一个输出节点。例如,用输出节点。例如,用000、001、010和和100也可表示优、良、中、差也可表示优、良、中、差4个类别。个类别。(3)数值表示法数值表示法

20、 对于渐进式的分类,可以将语言值转化为二值之间的数值表示。对于渐进式的分类,可以将语言值转化为二值之间的数值表示。数值的选择要注意保持由小到大的渐进关系,并要根据实际意义拉数值的选择要注意保持由小到大的渐进关系,并要根据实际意义拉开距离。开距离。一一 、训训练练样样本本集集的的准准备备二、输入输出数据的归一化二、输入输出数据的归一化 归一化也称为或标准化,是指通过变换处理将网归一化也称为或标准化,是指通过变换处理将网络的输入、输出数据限制在络的输入、输出数据限制在0,1或或-1,1区间内。区间内。 进行归一化的主要原因:进行归一化的主要原因: 归一化的方法:归一化的方法:进行归一化的主要原因:

21、 网络的各个输入数据常常具有不同的网络的各个输入数据常常具有不同的物理意义和不同的物理意义和不同的量纲量纲,归一化给各输入分量以同等重要的地位;,归一化给各输入分量以同等重要的地位; BPBP网的神经元均采用网的神经元均采用SigmoidSigmoid转移函数,变换后可防止转移函数,变换后可防止因净输入的绝对值过大而使神经元输出因净输入的绝对值过大而使神经元输出饱和饱和,继而使权值,继而使权值调整进入误差曲面的平坦区;调整进入误差曲面的平坦区; SigmoidSigmoid转移函数的输出在转移函数的输出在0101或或-11-11之间。之间。教师信号教师信号如如不进行归一化处理,势必使数值大的输

22、出分量不进行归一化处理,势必使数值大的输出分量绝对误差绝对误差大,大,数值小的输出分量绝对误差小。数值小的输出分量绝对误差小。二二、输输入入输输出出数数据据的的归归一一化化归一化的方法:将输入输出数据变换为将输入输出数据变换为0,1区间的值常用以下变换式区间的值常用以下变换式其中,xI代表输入或输出数据,xmin代表数据变化的最小值,xman代表数据的最大值。将输入输出数据变换为将输入输出数据变换为-1,1区间的值常用以下变换式区间的值常用以下变换式其中,xmid代表数据变化范围的中间值。二二、输输入入输输出出数数据据的的归归一一化化三、网络训练与测试 网络的性能好坏主要看其是否具有很好的泛化能网络的性能好坏主要看其是否具有很好的泛化能力,对泛化能力的测试不能用训练集的数据进行,而要力,对泛化能力的测试不能用训练集的数据进行,而要用训练集以外的测试数据来进行检验。用训练集以外的测试数据来进行检验。三三、网网络络训训练练与与测测试试 在隐节点数一定的情况下,为获得好的泛化能力,在隐节点数一定的情况下,为获得好的泛化能力,存在着一个最佳训练次数。存在着一个最佳训练次数。三三、网网络络训训练练与与测测试试结束语结束语谢谢大家聆听!谢谢大家聆听!42

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号