BP神经网络bp设计1

上传人:206****923 文档编号:54844347 上传时间:2018-09-20 格式:PPT 页数:107 大小:1.30MB
返回 下载 相关 举报
BP神经网络bp设计1_第1页
第1页 / 共107页
BP神经网络bp设计1_第2页
第2页 / 共107页
BP神经网络bp设计1_第3页
第3页 / 共107页
BP神经网络bp设计1_第4页
第4页 / 共107页
BP神经网络bp设计1_第5页
第5页 / 共107页
点击查看更多>>
资源描述

《BP神经网络bp设计1》由会员分享,可在线阅读,更多相关《BP神经网络bp设计1(107页珍藏版)》请在金锄头文库上搜索。

1、第三章 前馈人工神经网络,误差反传(BP)算法的改进与BP网络设计,3.4 基于BP算法的多层前馈网络模型,三层BP网络,输入层,隐层,输出层,数学表达,模型的数学表达 输入向量: X=(x1,x2,xi,xn)T 隐层输出向量: Y=(y1,y2,yj,ym)T 输出层输出向量: O=(o1,o2,ok,ol)T 期望输出向量:d=(d1, d2,dk,dl)T 输入层到隐层之间的权值矩阵:V=(V1,V2,Vj,Vm) 隐层到输出层之间的权值矩阵:W=(W1,W2,Wk,Wl) 各个变量之间如何建立联系,来描述整个网络?,神经网络的学习,学习的过程: 神经网络在外界输入样本的刺激下不断改变

2、网络的连接权值乃至拓扑结构,以使网络的输出不断地接近期望的输出。 学习的本质: 对可变权值的动态调整 学习规则: 权值调整规则,即在学习过程中网络中各神经元的连接权变化所依据的一定的调整规则。 BP算法是一种学习规则,BP算法的基本思想,学习的类型:有导师学习 核心思想: 将输出误差以某种形式通过隐层向输入层逐层反传学习的过程: 信号的正向传播 误差的反向传播,将误差分摊给各层的所有单元各层单元的误差信号,修正各单元权值,BP算法的学习过程,正向传播: 输入样本输入层各隐层输出层 判断是否转入反向传播阶段: 若输出层的实际输出与期望的输出(教师信号)不符 误差反传 误差以某种形式在各层表示修正

3、各层单元的权值网络输出的误差减少到可接受的程度 进行到预先设定的学习次数为止,建立权值变化量与误差之间的关系,输出层与隐层之间的连接权值调整隐层和输入层之间的连接权值调整,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算法属于学习规则类,这类算法常被称为误差的梯度下降(Gradient Descent)算法。,BP算法的程序实现,(1)初始化;,(4)计算各层误差信号;,(5)调整各层权值;,(6)检查是否对所有样本完成一次轮训;,(7)检查网络总误差

4、是否达到精度要求。,(2)输入训练样本对X Xp、d dp 计算各层输出;,(3)计算网络输出误差;,BP算法的程序实现,然后根据总误差计算各层的误差信号并调整权值。,另一种方法是在所有样本输入之后,计算网络的总误差:,多层前馈网的主要能力,(1)非线性映射能力,多层前馈网能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供BP网络进行学习训练,它便能完成由n维输入空间到m维输出空间的非线性映射。,多层前馈网的主要能力,(2)泛化能力,当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为多

5、层前馈网的泛化能力。,(3)容错能力,输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。,误差曲面与BP算法的局限性,误差函数的可调整参数的个数nw等于各层权值数加上阈值数,即:,误差E是nw+1维空间中一个形状极为复杂的曲面,该曲面上的每个点的“高度”对应于一个误差值,每个点的坐标向量对应着nw个权值,因此称这样的空间为误差的权空间。,误差曲面的分布BP算法的局限性,曲面的分布特点-算法的局限性 (1)存在平坦区域-误差下降缓慢,影响收敛速度 (2)存在多个极小点-易陷入局部最小点,曲面分布特点1:存在平坦区域,平坦误差的梯度变化小 接近于零,存在平坦区域的原因分析,接近于零

6、的情况分析造成平坦区的原因:各节点的净输入过大,对应着误差的某个谷点,平坦区,曲面分布特点2:存在多个极小点,误差梯度为零 多数极小点都是局部极小,即使是全局极小往往也不是唯一的。,单权值,双权值,曲面分布特点2:存在多个极小点,BP算法 以误差梯度下降为权值调整原则 误差曲面的这一特点 使之无法辨别极小点的性质 导致的结果: 因而训练经常陷入某个局部极小点而不能自拔,从而使训练无法收敛于给定误差。,标准BP算法的改进引言,误差曲面的形状固有的 算法的作用是什么? 调整权值,找到最优点 那么如何更好地调整权值? 利用算法使得权值在更新的过程中,走合适的路径,比如跳出平坦区来提高收敛速度,跳出局

7、部最小点等等 如何操作? 需要在进入平坦区或局部最小点时进行一些判断,通过改变某些参数来使得权值的调整更为合理。,标准的BP算法内在的缺陷:, 易形成局部极小而得不到全局最优; 训练次数多使得学习效率低,收敛速度慢; 隐节点的选取缺乏理论指导; 训练时学习新样本有遗忘旧样本的趋势。针对上述问题,国内外已提出不少有效的改进算法,下面仅介绍其中3种较常用的方法。,3.5 标准BP算法的改进,改进1 :增加动量项 改进2:自适应调节学习率 改进3: 引入陡度因子,改进1 :增加动量项,提出的原因: 标准BP算法只按t时刻误差的梯度降方向调整,而没有考虑t时刻以前的梯度方向 从而常使训练过程发生振荡,

8、收敛缓慢。方法:,为动量系数,一般有(0,1),实质: 从前一次权值调整量中取出一部分迭加到本次权值调整量中 作用: 动量项反映了以前积累的调整经验,对于t时刻的调整起阻尼作用。 当误差曲面出现骤然起伏时,可减小振荡趋势,提高训练速度。,改进1 :增加动量项,改进2:自适应调节学习率,提出的原因: 标准BP算法中,学习率也称为步长,确定一个从始至终都合适的最佳学习率很难。 平坦区域内,太小会使训练次数增加; 在误差变化剧烈的区域,太大会因调整量过大而跨过较窄的“坑凹”处,使训练出现振荡,反而使迭代次数增加。,改进2:自适应调节学习率,基本思想: 自适应改变学习率,使其根据环境变化增大或减小。

9、基本方法: 设一初始学习率,若经过一批次权值调整后使总误差,则本次调整无效,且=(1 )。,改进3: 引入陡度因子,提出的原因: 误差曲面上存在着平坦区域。 权值调整进入平坦区的原因是神经元输出进入了转移函数的饱和区。 基本思想: 如果在调整进入平坦区后,设法压缩神经元的净输入,使其输出退出转移函数的不饱和区,就可以改变误差函数的形状,从而使调整脱离平坦区。,改进3: 引入陡度因子,基本方法: 在原转移函数中引入一个陡度因子当发现E接近零而d-o仍较大时,可判断已进入平坦区,此时令1; 当退出平坦区后,再令=1。,改进3: 引入陡度因子,作用分析: 1 :net坐标压缩了倍,神经元的转移函数曲

10、线的敏感区段变长,从而可使绝对值较大的net退出饱和值。 =1:转移函数恢复原状,对绝对值较小的net具有较高的灵敏度。 应用结果表明该方法对于提高BP算法的收敛速度十分有效。,基于BP算法的多层前馈网络模型 BP算法的实现 基本思想 推导过程 程序实现 BP学习算法的功能 BP学习算法的局限性 BP学习算法的改进,总 结,3.6 BP网络设计基础,一 、训练样本集的准备 1.输入输出量的选择 2.输入量的提取与表示 3.输出量的表示 二、输入输出数据的归一化 三、网络训练与测试,1 输出量的选择,输出量:代表系统要实现的功能目标 系统的性能指标 分类问题的类别归属 非线性函数的函数值,一 、

11、训练样本集的准备,输入量的选择,输入量选择的两条基本原则 必须选择那些对输出影响大且能够检测或提取的变量 各输入变量之间互不相关或相关性很小,一 、训练样本集的准备,输入输出量的性质,从输入、输出量的性质来看,可分为两类:一类是数值变量,一类是语言变量。 数值变量的值是数值确定的连续量或离散量。 语言变量是用自然语言表示的概念,其“语言值”是用自然语言表示的事物的各种属性。 当选用语言变量作为网络的输入或输出变量时,需将其语言值转换为离散的数值量。,一 、训练样本集的准备,2. 输入量的提取与表示,XC=(111100111)T XI=(111100111)T XT=(111100111)T,

12、(1)文字符号输入,一 、训练样本集的准备,(2)曲线输入,p=1,2,P,一 、训练样本集的准备,(3)函数自变量输入 一般有几个输入量就设几个分量,1个输入分量对应1个输入层节点。 (4)图象输入 在这类应用中,一般先根据识别的具体目的从图象中提取一些有用的特征参数,再根据这些参数对输入的贡献进行筛选,这种特征提取属于图象处理的范畴。,一 、训练样本集的准备,3. 输出量的表示,(1)“n中取1”表示法,“n中取1”是令输出向量的分量数等于类别数,输入样本被判为哪一类,对应的输出分量取1,其余 n-1 个分量全取0。例如,用 0001、0010、0100 和 1000可分别表示优、良、中、

13、差4个类别。,(2)“n-1”表示法,如果用n-1个全为0的输出向量表示某个类别,则可以节省一个输出节点。例如,用000、001、010和100也可表示优、良、中、差4个类别。,(3)数值表示法,对于渐进式的分类,可以将语言值转化为二值之间的数值表示。数值的选择要注意保持由小到大的渐进关系,并要根据实际意义拉开距离。,一 、训练样本集的准备,二、输入输出数据的归一化,归一化也称为或标准化,是指通过变换处理将网络的输入、输出数据限制在0,1或-1,1区间内。,进行归一化的主要原因:归一化的方法:,进行归一化的主要原因:,网络的各个输入数据常常具有不同的物理意义和不同的量纲,归一化给各输入分量以同

14、等重要的地位; BP网的神经元均采用Sigmoid转移函数,变换后可防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区; Sigmoid转移函数的输出在01或-11之间。教师信号如不进行归一化处理,势必使数值大的输出分量绝对误差大,数值小的输出分量绝对误差小。,二、输入输出数据的归一化,归一化的方法:,二、输入输出数据的归一化,三、网络训练与测试,网络的性能好坏主要看其是否具有很好的泛化能力,对泛化能力的测试不能用训练集的数据进行,而要用训练集以外的测试数据来进行检验。,三、网络训练与测试,在隐节点数一定的情况下,为获得好的泛化能力,存在着一个最佳训练次数。,三、网

15、络训练与测试,三、网络训练与测试,MATLAB是一个功能十分强大的工程计算及数值分析软件 在20世纪70年代末期,线性代数领域颇有名望的Cleve Moler博士利用Fortran语言、基于特征值计算的软件包EISPACK和线性代数软件包LINPACK,开发了集命令、解释、科学计算于一身的交互式软件MATLAB. 1983年,工程师John Little接触到Matlab并深受其影响,于是与Cleve Moler、Stev Bangert合作用C开发了第二代Matlab专业版,增加了数据可视化功能。 1984年MathWorks公司成立,MATLAB被推向市场,经过多年发展,在数值性软件市场占

16、据了主导地位,已经发展成为多学科多种工作平台的功能强大的工程计算及数值分析软件软件,被誉为“巨人肩上的工具”,MATLAB基础,2.1 MATLAB概述,一、MATLAB的发展历程和影响力,MATLAB 即 Matrix Laboratory(矩阵实验室),主要用于矩阵运算,具有丰富的矩阵运算函数,使之在求解诸如信号处理、系统识别、自动控制、非线性系统、模糊控制、优化技术等、神经网络、小波分析等领域的问题时,显得简捷、高效、方便。 有大量事先定义的数学函数,并且有很强的用户自定义函数 的能力; 有强大的绘图功能,可方便地输出复杂的二维、三维图图形; 能与其它语言编写的程序结合,具有输入输出格式化数据的能力; 有在多个应用领域解决难题的工具箱; Simulink是一个基于图形界面的动态系统建模与仿真工具; 具有符号运算能力。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 其它小学文档

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