资源描述
单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿;如有不当之处,请联系网站或本人删除。,第5章 人工神经网络,前馈神经网络,2,人工神经网络基础知识,1,自组织神经网络,3,反馈神经网络,4,5.2 前馈神经网络,单层感知器,1,多层感知器,2,误差反传(,BP),算法,3,标准,BP,算法的改进,4,基于,BP,算法的多层前馈网络设计基础,5,5.2.1、,单层感知器,1958年,罗森布拉特(,Rosenblatt),提出一种具有单层计算单元的神经网络,称为“感知器”(,Perceptron)。,感知器是模拟人的视觉接受环境信息,并由神经冲动进行信息传递。感知器研究中首次提出了自组织、自学习的思想,而且对所能解决的问题存在着收敛算法,并能从数学上严格证明。,单层感知器的结构与功能非常简单,较易学习和理解,是研究其他网络的基础。,感知器模型:如图所示,单层感知器是指,只有一层处理单元的感知器。图中输入层,也称感知层,有,n,个神经元节点,这些节点,只负责引入外部信息,自身无信息处理能,力,每个节点接收一个输入信号,。,输出层,也称处理层,有,m,个神经元节点,每个节点,均有信息处理能力。,输入列向量:,X=(x,1,x,2,x,n,),T,输出列向量:,O=(o,1,o,2,o,m,),T,权值列向量:,W,j,=(w,1j,w,2j,w,nj,),T,离散型单层感知器的转移函数一般采用符号函数:,x,1,x,2,x,i,x,n,o,1,o,j,o,m,W,1,W,j,W,m,5.2.1、,单层感知器,感知器功能,考虑如图所示单计算节点感知器的情况。则,设输入向量,X=(x,1,x,2,),T,则两个输入分量在几何上构成一个,二维平面,输入样本可以用该平面上的一个点表示。则,由方程 确定的直线成为二维输入样本空间上的一条分界线。,设输入向量,X=(x,1,x,2,x,3,),T,则三个输入分量在几何上构成一个三维空间。节点,j,的输出为,由方程 确定的平面成为三维输入样本空间上的一个分界面。,推广到,n,维空间的一般情况,设输入,X=(x,1,x,2,x,n,),T,则,n,个输入分量在几何上构成一个,n,维空间。由方程 可定义一个,n,维空间上的超平面。此平面可以将输入样本分为两类。,o,j,x,1,x,2,x,i,x,n,W,j,5.2.1、,单层感知器,感知器的局限性,如果两类样本可以用直线、平面或超平面分开,称为线性可分,否则称为线性不可分。由感知器分量的几何意义可知,由于净输入为零确定的分类判决方程是线性方程,因而它只能解决线性可分问题而不能解决线性不可分问题。由此可知,单计算层感知器的局限性为:仅对线性可分问题具有分类能力。,感知器的学习算法,采用感知器学习规则进行训练。训练步骤为:,对各初始权值,w,0j,(0),w,1j,(0),w,2j,(0),w,nj,(0),j=1,2,m(m,为计算层的节点数)赋予较小的非零随机数;,输入样本对,X,p,d,p,,,其中,X,p,=(-1,),d,p,为期望的输出向量(教师信号),上标,p,代表样本对的模式序号,设样本集中的样本总数为,P,,则,p=1,2,P;,计算各节点的实际输出 ;,调整各节点对应的权值,其中,为学习率,用于控制调整速度,太大会影响训练的稳定性,太小则使训练的收敛速度变慢,一般取0,1;,返回步骤,输入下一对样本,周而复始直到对所有样本感知器的实际输出与期望输出相等。,5.2.1、,单层感知器,例 单计算节点感知器有3个输入,给定3对训练样本如下,X,1,=(-1,1,-2,0),T,d,1,=-1,X,2,=(-1,0,1.5,0.5),T,d,2,=-1,X,3,=(-1,-1,1,0.5),T,d,3,=1,设初始权向量,W(0)=(0.5,1,-1,0),T,=0.1,训练该感知器。,解:第一步 输入,X,1,,,得,第二步 输入,X,2,,,得,第三步 输入,X,3,,,得,第四步 返回到第一步,继续训练直到,d,p,-o,p,=0,p=1,2,3。,5.2 前馈神经网络,多层感知器,2,单层感知器,1,误差反传(,BP),算法,3,标准,BP,算法的改进,4,基于,BP,算法的多层前馈网络设计基础,5,5.2.2、,多层感知器,单计算层感知器只能解决线性可分问题,在输入层和输出层之间引入隐层作为输入模式的“内部表示”,将单计算层感知器变成多(计算)层感知器,可以实现线性不可分问题。,例:用两输入层感知器解决“异或”问题。,如图具有单隐层的感知器,其中隐层的两个节点相当于两个,独立的符号单元。这两个符号单元可分别在,x,1,和,x,2,构成的平,面上确定两条分界直线,S,1,和,S,2,,,构成如图所示的开放式凸域。,通过适当调整两条直线的位置,可使两类线性不可分样本分,别位于开放式凸域内部和外部。,输出层节点以隐层两节点的输出,y1、y2,作为输入,其结构也,相当于一个符号单元。经过训练,使其具有逻辑“与非”功能,,则“异或”问题即可得到解决。,x,1,x,2,w,11,O,T,1,w,12,w,21,w,22,y,1,y,2,T,3,T,2,-1,-1,x,1,x,2,S,1,S,2,x1,x2,y1,y2,o,0,0,1,1,0,0,1,0,1,1,1,0,1,0,1,1,1,1,1,0,5.2.2、,多层感知器,当输入样本为二维向量时,隐层中的每个节点确定了二维平面上的一条分界直线。多条直线经输出节点组后后构成下图所示的各种形状的凸域(所谓凸域是指其边界上任意两点之连线均在域内)。通过训练调整凸域的形状,可将两类线性不可分样本分为域内和域外。输出层节点负责将域内外的两类样本进行分类。,单隐层节点数量增加可以使多边形凸域边数增加,从而在输出层构建出任意形状的凸域。如果在此基础上增加第二个隐层,则该隐层的每个节点确定一个凸域,各种凸域经输出层节点组合后可称为下图所示的任意形状域。已经证明,双隐层感知器足以解决任何复杂的分类问题。,采用非线性连线函数作为神经元节点的转移函数将使区域边界线的基本线素由直线变成曲线,从而使整个边界线变成连线光滑的曲线。,开域,闭域,5.2.2、,多层感知器,从感知器学习规则看,其权值调整量取决于感知器期望输出与实际输出之差,即,。对于各隐层来说,不存在期望输出,因而该学习规则对隐层权值不适用。,5.2 前馈神经网络,3,误差反传(,BP),算法,单层感知器,1,2,多层感知器,标准,BP,算法的改进,4,基于,BP,算法的多层前馈网络设计基础,5,5.2.3、,误差反传(,BP),算法,20世纪80年代中期,帕克(,Parker),和鲁姆尔哈特(,Rumelhart),等人研究了非线性连线转移函数的多层前馈网络的误差反向传播算法(,Error Back Proragation,简称,BP)。BP,算法解决了多层感知器的学习问题,促进了神经网络的发展。,BP,学习过程描述为:,工作信号的正向传播:输入信号从输入层经隐层,传向输出层,在输出端产生输出信号,这是工作信号的正向传播。在信号的向前传递过程中网络的权值是固定不变的,每一层神经元的状态只影响下一层神经元的状态。如果输出层不能得到期望的输出,则转入误差信号反向传播。,误差信号的反向传播:网络的实际输出与期望输出之间的差值即为误差信号,误差信号由输出端开始逐层向前传播,这是误差信号的反向传播。在误差信号反向传播过程中,网络的权值由误差反馈进行调节。通过权值的不断修正使网络的实际输出更接近期望输出。,5.2.3、,误差反传(,BP),算法,基于,BP,算法的多层前馈网络模型,以单隐层网络为例,输入向量为,X=(x,1,x,2,x,i,x,n,),T,隐层的输出向量为,Y=(y,1,y,2,y,j,y,m,),T,输出层输出向量为,O=(o,1,o,2,o,k,o,l,),T,期望输出向量为,d=(d,1,d,2,d,k,d,l,),T,输入层到隐层之间的权值矩阵用,V,表示,,V=(V,1,V,2,V,j,V,m,),其中列向量,V,j,为隐层第,j,个神经元对应的权向量;隐层到输出层之间的权值矩阵用,W,表示,,W=(W,1,W,2,W,k,W,l,),其中列向量,W,k,为输出层第,k,个神经元对应的权向量。,x,1,x,2,x,i,x,n-1,o,1,o,k,o,l,W,1,W,K,W,l,x,n,y,1,y,2,y,j,y,m,V,1,V,m,对于输出层,有,对于隐层,有,5.2.3、,误差反传(,BP),算法,BP,学习算法(以三层前馈网络为例,然后推广到一般多层前馈网络),网络误差与权值调整,当网络输出与期望输出不等时,存在输出误差,E,,定义如下:,将以上误差定义展开到隐层,有,进一步展开至输入层,有,权值的调整原则是使误差不断减小,因此应使权值的调整量与误差的负梯度成正比,即,5.2.3、,误差反传(,BP),算法,BP,学习算法(续,),BP,算法推导,对于输出层,有,对于隐层,有,令 ,则,令 ,则,对于输出层,可展开为,对于隐层,可展开为,其中,5.2.3、,误差反传(,BP),算法,BP,学习算法(续,),取转移函数为单极性,Sigmoid,函数,f(x)=1/(1+e,-x,),则,f(x)=f(x)1-f(x),得到三层前馈网络的,BP,学习算法权值调整计算公式为,对于一般多层前馈网,设共有,h,个隐层,按前向顺序各隐层节点数分别记为,m,1,m,2,m,h,各隐层输出分别记为,y,1,y,2,y,h,各层权值矩阵分别记为,W,1,W,2,W,h,W,h+1,则各层取值调整 计算公式为:,输出层:,第,h,隐层:,5.2.3、,误差反传(,BP),算法,标准,BP,算法的程序实现(单样本训练),初始化。对权值矩阵,W、V,赋随机数,将样本模式计数器,p,和训练次数计数器,q,置为1,误差,E,置0,学习率,设为01间小数,网络训练后达到的精度,E,min,设为一正的小数;,输入训练样本对,计算各层输出;,计算网络误差,设公有,P,对训练样本,网络对应不同的样本具有不同的误差,E,p,可用其中最大者或均方根为网络总误差;,计算各层误差信号,计算 ;,调整各层权值,计算,W、V,中各分量;,检查是否对所有样本完成一次轮训,若,pP,计数器,p、q,增1,返回步骤,否则转步骤,;,检查网络总误差是否达到精度要求,若,EE,min,训练结束,否则,E,置0,,p,置1返回步骤,。,初始化,V、M,计数器,q=1,p=1,pP,结束,EE,min,输入样本,计算各层输出,计算误差,P,增1,q,增1,E=0,p=1,计算各层误差信号,调整各层权值,Y,Y,N,N,5.2.3、,误差反传(,BP),算法,标准,BP,算法的程序实现(批训练),采用单样本训练,每输入一个样本都要回传误差并调整权值,使整个训练的次数增加,收敛速度过慢。可以采用批处理方式,输入所有样本后,计算网络的总误差,E,总,,然后根据总误差计算各层的误差信号并调整权值。采用批训练方式,在样本数较多时,收敛速度快于单样本训练。,初始化,V、M,计数器,q=1,p=1,pP,结束,EE,min,输入第一对样本,计算误差,P,增1,E=0,p=1,用,E,计算各层误差信号,Y,Y,N,N,计算各层输出,调整各层权值,q,增1,5.2.3、,误差反传(,BP),算法,多层前馈神经网络的主要能力,非线性映射能力:只要能提供足够多的样本模式对供,BP,网络进行学习训练,便能误差由,n,维输入空间到,m,维输出空间的非线性映射。,泛化能力:多层前馈网络训练后将非线性映射关系存储在权值矩阵中,当网络输入训练时未曾见过的非样本数据时,网络也能误差由输入空间向输出空间的正确映射。,容错能力:允许输入样本中带有较大的误差甚至个别错误。,BP,算法的局限性,存在平坦区域:梯度变化很小,收
展开阅读全文