单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,3.4.3 BP算法的程序实现,(1)初始化;,(4)计算各层误差信号;,(5)调整各层权值;,(6)检查是否对所有样本完成一次,轮训;,(7)检查网络总误差是否达到精,度要求。,(2)输入训练样本对,X,X,p,、,d,d,p,计算各层输出;,(3)计算网络输出误差;,1,3.4.3 BP算法的程序实现(1)初始化;(4)计算各,3.4.3 BP算法的程序实现,然后根据总误差计算各层的误差信号并调整权值。,另一种方法是在所有样本输入之后,计算网络的总误差:,2,3.4.3 BP算法的程序实现然后根据总误差计算各层的误差信,3.4.4 多层前馈网(感知器)的主要能力,(1)非线性映射能力,多层前馈网能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述这种映射关系的数学方程。只要能提供足够多的样本模式对供BP网络进行学习训练,它便能完成由,n,维输入空间到,m,维输出空间的非线性映射。,3,3.4.4 多层前馈网(感知器)的主要能力(1)非线性映射能,3.4.4 多层前馈网(感知器)的主要能力,(2)泛化能力,当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为多层前馈网的泛化能力。,(3)容错能力,输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。,4,3.4.4 多层前馈网(感知器)的主要能力(2)泛化能力,3.4.5误差曲面与BP算法的局限性,误差函数的可调整参数的个数,n,w,等于各层权值数加上阈值数,即:,误差,E,是,n,w,+1,维空间中一个形状极为复杂的曲面,该曲面上的每个点的“高度”对应于一个误差值,每个点的坐标向量对应着,n,w,个权值,因此称这样的空间为误差的权空间。,5,3.4.5误差曲面与BP算法的局限性 误差函数,3.4.5误差曲面与BP算法的局限性,误差曲面的分布有两个特点:,特点之一:存在平坦区域,6,3.4.5误差曲面与BP算法的局限性误差曲面的分布有两个特点,3.4.5误差曲面与BP算法的局限性,特点之二:存在多个极小点,多数极小点都是,局部极小,,即使是全局极小往往也不是唯一的,但其特点都是误差梯度为零。,误差曲面的平坦区域,会使训练次数大大增加,从而影响了收敛速度;而,误差曲面的多极小点,会使训练陷入局部极小,从而使训练无法收敛于给定误差。,7,3.4.5误差曲面与BP算法的局限性特点之二:存在多个极小点,3.5标准BP算法的改进,标准的BP算法在应用中暴露出不少内在的缺陷:,易形成局部极小而得不到全局最优;,训练次数多使得学习效率低,收敛速度慢;,隐节点的选取缺乏理论指导;,训练时学习新样本有遗忘旧样本的趋势。,针对上述问题,国内外已提出不少有效的改进算法,下面仅介绍其中3种较常用的方法。,8,3.5标准BP算法的改进标准的BP算法在应用中暴露出不少内在,3.5标准BP算法的改进,1 增加动量项,为动量系数,一般有,(,0,1,),2 自适应调节学习率,设一初始学习率,若经过一批次权值调整后使总误差,,则本次调整无效,且,=,(,1,)。,9,3.5标准BP算法的改进1 增加动量项为动量系数,一般有,3.5标准BP算法的改进,3 引入陡度因子,实现这一思路的具体作法是,在原转移函数中引入一个陡度因子,10,3.5标准BP算法的改进3 引入陡度因子 实现,3.6 BP网络设计基础,一、训练样本集的准备,1.输入输出量的选择,输出量,代表系统要实现的功能目标,例如系统的性能指标,分类问题的类别归属,或非线性函数的函数值等等。,输入量,必须选择那些对输出影响大且能够检测或提取的变量,此外还要求各输入变量之间互不相关或相关性很小,这是输入量选择的两条基本原则。,11,3.6 BP网络设计基础一、训练样本集的准备1.输入输出量,3.6 BP网络设计基础,一、训练样本集的准备,1.输入输出量的选择,从输入、输出量的性质来看,可分为两类:一类是数值变量,一类是语言变量。,数值变量,的值是数值确定的连续量或离散量。,语言变量,是用自然语言表示的概念,其“语言值”是用自然语言表示的事物的各种属性。当选用语言变量作为网络的输入或输出变量时,需将其语言值转换为离散的数值量。,12,3.6 BP网络设计基础一、训练样本集的准备1.输入输出量,3.6 BP网络设计基础,一、训练样本集的准备,2.输入量的提取与表示,(1)文字符号输入,X,C,=(,111100111,),T,X,I,=(,111100111,),T,X,T,=(,111100111,),T,13,3.6 BP网络设计基础一、训练样本集的准备2.输入量的,3.6 BP网络设计基础,一、训练样本集的准备,2.输入量的提取与表示,(2)曲线输入,p=1,2,P,14,3.6 BP网络设计基础一、训练样本集的准备2.输入量的,3.6 BP网络设计基础,一、训练样本集的准备,2.输入量的提取与表示,(3)函数自变量输入,一般有几个输入量就设几个分量,1个输入分量对应1个输入层节点。,(4)图象输入,在这类应用中,一般先根据识别的具体目的从图象中提取一些有用的特征参数,再根据这些参数对输入的贡献进行筛选,这种特征提取属于图象处理的范畴。,15,3.6 BP网络设计基础一、训练样本集的准备2.输入量的,(1)“,n,中取,1,”表示法,“,n,中取,1,”是令输出向量的分量数等于类别数,输入样本被判为哪一类,对应的输出分量取1,其余 n-1 个分量全取0。例如,用,0001、0010、0100,和,1000,可分别表示优、良、中、差4个类别。,(2)“,n-1,”表示法,如果用,n-1,个全为0的输出向量表示某个类别,则可以节省一个输出节点。例如,用,000、001、010,和,100,也可表示优、良、中、差4个类别。,3.6 BP网络设计基础,一、训练样本集的准备,3.输出量的表示,(3)数值表示法,对于渐进式的分类,可以将语言值转化为二值之间的数值表示。数值的选择要注意保持由小到大的渐进关系,并要根据实际意义拉开距离。,16,(1)“n中取1”表示法 “n中取1”是令输,3.6 BP网络设计基础,二、输入输出数据的归一化,归一化也称为或标准化,是指通过变换处理将网络的输入、输出数据限制在0,1或-1,1区间内。,进行归一化的主要原因:,网络的各个输入数据常常具有不同的物理意义和不同的量纲,归一化给各输入分量以同等重要的地位;,BP网的神经元均采用Sigmoid转移函数,变换后可防止因净输入的绝对值过大而使神经元输出饱和,继而使权值调整进入误差曲面的平坦区;,Sigmoid转移函数的输出在,01或-11之间。教师信号如不进行归一化,处理,势必使数值大的输出分量绝对误差大,数值小的输出分量绝对误差小。,17,3.6 BP网络设计基础二、输入输出数据的归一化,3.6 BP网络设计基础,二、输入输出数据的归一化,将输入输出数据变换为0,1区间的值常用以下变换式,其中,,x,I,代表输入或输出数据,,x,min,代表数据变化的最小值,,x,man,代表数据的最大值。,将输入输出数据变换为-1,1区间的值常用以下变换式,其中,,x,mid,代表数据变化范围的中间值。,18,3.6 BP网络设计基础二、输入输出数据的归一化将输入输出数,3.6 BP网络设计基础,三、,网络训练与测试,网络的性能好坏主要看其是否具有很好的泛化能力,对泛化能力的测试不能用训练集的数据进行,而要用训练集以外的测试数据来进行检验。,19,3.6 BP网络设计基础三、网络训练与测试,3.6 BP网络设计基础,三、,网络训练与测试,在隐节点数一定的情况下,为获得好的泛化能力,存在着一个最佳训练次数。,20,3.6 BP网络设计基础三、网络训练与测试,