资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,数学建模经典算法,陈旺虎,神经网络与,神经网络算法,学习目标,拓宽视野,感受神经网络算法的应用背景,能够用神经网络算法解决一些简单问题,不探究详细的理论基础,内容安排,人工神经网络简介,人工神经网络的基本功能,人工神经网络的发展历史,人工神经网络的生物学基础,M-P模型,前馈神经网络,单层感知器,多层感知器,BP算法,BP网络,应用案例(MATLAB计算),1. 人工神经网络简介,生物神经网络,人类的大脑大约有1.410,11,个神经细胞,亦称为神经元。,每个神经元有数以千计的通道同其它神经元广泛相互连接,形成复杂的生物神经网络。,人工神经网络,以数学和物理方法以及信息处理的角度对人脑神经网络进行抽象,并建立某种简化模型,就称为人工神经网络(Artificial Neural Network,缩写 ANN)。,对人类大脑系统的一阶特性的一种描述。,(生理角度的模拟),基本原理,存在一些输入和相应的输出,而对如何由输入得到输出的机理并不清楚,把输入与输出之间的未知过程看成是一个“网络”,通过不断地给这个网络输入和相应的输出来“训练”这个网络,网络根据输入和输出不断地调节自己的各节点之间的权值来满足输入和输出。,当训练结束后,给定一个输入,网络便会根据已调节好的权值计算出相应的输出。,严格定义ANN,最典型的定义由Simpson在1987年提出,人工神经网络是一个非线性的有向图,图中含有可以通过改变权大小来存放模式的加权边,并且可以从不完整的或未知的输入找到模式。,ANN算法,根据人的认识过程而开发出的一种算法,2. 人工神经网络的基本功能,(1)联想记忆功能,由于神经网络具有分布存储信息和并行计算的性能,因此它具有对外界刺激信息和输入模式进行联想记忆的能力。,联想记忆有两种基本形式,自联想记忆,异联想记忆,自联想记忆,网络中预先存储(记忆)多种模式信息,当输入某个已存储模式的部分信息或带有噪声干扰的信息时,网络能通过动态联想过程回忆起该模式的全部信息,异联想记忆,网络中预先存储了多个模式对,每一对模式均由两部分组成,当输入某个模式对的一部分时,即使输入信息是残缺的或迭加了噪声的,网络也能回忆起与其对应的另一部分,不完整模式的自联想,神经网络通过预先存储信息和学习机制进行自适应训练,可以从不完整的信息和噪声干扰中恢复原始的完整信息,这一能力使其在图象复原、图像和语音处理、模式识别、分类等方面具有巨大的潜在应用价值,2. 人工神经网络的基本功能(续),(,2,)非线性映射功能,非线性映射功能,在客观世界中,许多系统的输入与输出之间存在复杂的非线性关系,对于这类系统,往往很难用传统的数理方法建立其数学模型。,设计合理的神经网络,通过对系统输入输出样本对进行自动学习,能够以任意精度逼近任意复杂的非线性映射。,神经网络的这一优良性能使其可以作为多维非线性函数的通用数学模型。该模型的表达是非解析的,输入输出数据之间的映射规则由神经网络在学习阶段自动抽取并分布式存储在网络的所有连接中。,具有非线性映射功能的神经网络应用十分广阔,几乎涉及所有领域。,2. 人工神经网络的基本功能(续),(3)分类与识别功能,分类与识别功能,神经网络对外界输入样本具有很强的识别与分类能力。,对输入样本的分类实际上是在样本空间找出符合分类要求的分割区域,每个区域内的样本属于一类。,传统分类方法只适合解决同类相聚,异类分离的的识别与分类问题。,但客观世界中许多事物(例如,不同的图象、声音、文字等等)在样本空间上的区域分割曲面是十分复杂的,相近的样本可能属于不同的类,而远离的样本可能同属一类。,神经网络可以很好地解决对非线性曲面的逼近,因此比传统的分类器具有更好的分类与识别能力。,2. 人工神经网络的基本功能(续),(4)优化计算功能,优化计算功能,优化计算是指在已知的约束条件下,寻找一组参数组合,使由该组合确定的目标函数达到最小值。,某些类型的神经网络可以把待求解问题的可变参数设计为网络的状态,将目标函数设计为网络的能量函数。,神经网络经过动态演变过程达到稳定状态时对应的能量函数最小,从而其稳定状态就是问题的最优解。,这种优化计算不需要对目标函数求导,其结果是网络自动给出的。,2. 人工神经网络的基本功能(续),(5)知识处理功能,知识处理功能,知识是人们从客观世界的大量信息以及自身的实践中总结归纳出来的经验、规则和判据。,神经网络获得知识的途径与人类似,也是从对象的输入输出信息中抽取规律而获得关于对象的知识,并将知识分布在网络的连接中予以存储。,神经网络的知识抽取能力使其能够在没有任何先验知识的情况下自动从输入数据中提取特征,发现规律,并通过自组织过程将自身构建成适合于表达所发现的规律。,另一方面,人的先验知识可以大大提高神经网络的知识处理能力,两者相结合会使神经网络智能得到进一步提升。,神经网络的发展历程经过了,4,个阶段。,(,1,) 启蒙期(,1890-1969,年),1890,年,,W.James,发表专著,心理学,,讨论了脑的结构和功能。,1943,年,心理学家,和数学家,W.Pitts,提出了描述脑神经细胞动作的数学模型,即,M-P,模型(第一个神经网络模型)。,1949,年,心理学家,Hebb,实现了对脑细胞之间相互影响的数学描述,从心理学的角度提出了至今仍对神经网络理论有着重要影响的,Hebb,学习法则。,1958,年,,E.Rosenblatt,提出了描述信息在人脑中贮存和记忆的数学模型,即著名的感知机模型(,Perceptron,)。,1962,年,,Widrow,和,Hoff,提出了自适应线性神经网络,即,Adaline,网络,并提出了网络学习新知识的方法,即,Widrow,和,Hoff,学习规则(即,学习规则),并用电路进行了硬件设计。,3. 神经网络的发展历史,3. 神经网络的发展历史(续),(2) 低潮期(1969-1982),受当时神经网络理论研究水平的限制,以及冯诺依曼式计算机发展的冲击等因素的影响,神经网络的研究陷入低谷。,在美、日等国有少数学者继续着神经网络模型和学习算法的研究,提出了许多有意义的理论和方法。,例如,1969年,S.Groisberg和A.Carpentet提出了至今为止最复杂的ART网络,该网络可以对任意复杂的二维模式进行自组织、自稳定和大规模并行处理。1972年,Kohonen提出了自组织映射的SOM模型,。,3. 神经网络的发展历史(续),(3) 复兴期(1982-1986),1982年,物理学家Hoppield提出了Hoppield神经网络模型,该模型通过引入能量函数,实现了问题优化求解,1984年他用此模型成功地解决了旅行商路径优化问题(TSP)。,在1986年,在Rumelhart和McCelland等出版Parallel Distributed Processing一书,提出了一种著名的多层神经网络模型,即BP网络。该网络是迄今为止应用最普遍的神经网络。,3. 神经网络的发展历史(续),(4) 新连接机制时期(1986-现在),神经网络从理论走向应用领域,出现了神经网络芯片和神经计算机。,神经网络主要应用领域有,模式识别与图象处理(语音、指纹、故障检测和图象压缩等),控制与优化,预测与管理(市场预测、风险分析),等,神经生理学和神经解剖学的研究结果表明,神经元(Neuron)是脑组织的基本单元,是人脑信息处理系统的最小单元,。,4. 人工神经网络的生物学基础,神经元及其联接;,神经元之间的联接强度决定信号传递的强弱;,神经元之间的联接强度是可以随训练改变的;,信号可以是起刺激作用的,也可以是起抑制作用的;,一个神经元接受的信号的累积效果决定该神经元的状态;,每个神经元可以有一个“阈值”,4.1 生物神经元的信息处理机理,(1)信息的产生,神经元间信息的产生、传递和处理是一种电化学活动。,神经元状态,静息,兴奋,抑制,膜电位,极 化,去极化,超极化,4.1 生物神经元的信息处理机理(续),(2)信息的传递与接收,4.1 生物神经元的信息处理机理(续),(3)信息的整合,空间整合,同一时刻产生的刺激所引起的膜电位变化,大致等于各单独刺激引起的膜电位变化的代数和,时间整合,各输入脉冲抵达神经元的时间先后不一样。总的突触后膜电位为一段时间内的累积,4.2 神经元的人工模型,神经元及其突触是神经网络的基本器件。,因此,模拟生物神经网络应首先模拟生物神经元,人工神经元(节点),从三个方面进行模拟:,节点本身的信息处理能力(数学模型),节点与节点之间连接(拓扑结构),相互连接的强度(通过学习来调整),决定人工神经网络整体性能的三大要素,神经元的建模,(1) 每个神经元都是一个多输入单输出的信息处理单元;,(2) 神经元输入分兴奋性输入和抑制性输入两种类型;,(6) 神经元本身,是非时变的,,即其突触时延和突触强度,均为常数。,(3) 神经元具有空间整合特性和阈值特性;,(4)神经元输入与输出间有,固定的时滞, 主要取决于突触延搁;,(5),忽略,时间整合作用;,模型的六点假设:,假设1:多输入单输出,正如生物神经元有许多激励输入一样,人工神经元也应该有许多的输入信号,图中,每个输入的大小用确定数值x,i,表示,它们同时输入神经元j,神经元的单输出用o,j,表示。,假设2:输入类型兴奋性和抑制性,生物神经元具有不同的突触性质和突触强度,其对输入的影响是使有些输入在神经元产生脉冲输出过程中所起的作用比另外一些输入更为重要。,图中,对神经元的每一个输入都有一个加权系数w,ij,,称为权重值,其正负模拟了生物神经元中突触的兴奋和抑制,,其,大小,则代表了突触的不同连接强度。,假设3:,空间整合特性和阈值特性,作为ANN的基本处理单元,必须对全部输入信号进行整合,以确定各类输入的作用总效果,图中,表示组合输入信号的“总和值”,相应于生物神经元的膜电位。,神经元激活与否取决于某一阈值电平,即只有当其输入总和超过阈值时, 神经元才被激活而发放脉冲, 否则神经元不会产生输出信号。,神经元的输出,图中,人工神经元的输出也同生物神经元一样仅有一个,如,用o,j,表示神经元输出,则输出与输入之间的对应关系可用图中的某种非线性函数来表示。,神经元模型示意图,4.2.1 人工神经元的数学模型,人工神经元模拟生物神经元的一阶特性,具有生物神经元的六大特征,一个人工神经元一般有多个输入和一个输出,一个人工神经元有一个转移函数(激发函数),不同的转移函数对应了不同的网络,也决定了网络的用途,4.2.1 人工神经元的数学模型,ij,输入输出间的突触时延;,T,j,神经元j的阈值;,w,ij,神经元i到 j 的突触连接系数或称权重值;,f,( ),神经元转移函数。,(4. 1),为简单起见,将4.1上式中的突触时延取为单位时间,则式(4.1)可写为4.2式。,上式描述的神经元数学模型全面表达了神经元模型的6点假定。其中,输入x,i,的下标i=1,2,n,输出o,j,的下标j体现了神经元模型假定(1)中的“多输入单输出”。,权重值w,ij,的正负体现了假定(2)中“突触的兴奋与抑制”。,T,j,代表假定(3)中神经元的“阈值”;,“输入总和”常称为神经元在t时刻的净输入,用下面的式子表示:,(4. 2),(4.3),net,j,=,W,j,T,X,W,j,=(,w,1,w,2, w,n,),T,X=,(,x,1,x,2, x,n,),T,令,x,0,=,-1,,,w,0,=,T,j,则有,-,T,j,=,x,0,w,0,(4.4),4.2.1,人工神经元的数学模型(续),人工神经元的数学模型(续),net,j,(t) 体现了神经元j的空间整合特性而未考虑时间整合,当net,j,-T,j,0时,神经元才能被激活。o,j,(t+1)与x,I,(t之间的单位时差代表所有神经元具有相同的、恒定的工作节律,对应于假定(4)中的“突触延搁”;w,ij,与时间无关体现了假定(6)中神经元的“非时变”。,为简便起见,在后面用到式(2.3)时,常将其中的(t)省略。式(2.3)还可表示为权重向量W,j,和输入向量X的点积W,T,X。其中W,j,和X均为列向量,定义为,W,j,=(w1 w2 wn),T,,X=(x1 x2 xn),T,如果令,x,0,=,-1,,,w,0,=,T,j,,则有-,T,j,=,x,0,w,0,,因此净输入与阈值之差可表达为:,(,4.5,),o,j,=,f,(,net,j,)=,f,(,W,j,T,X,),(,4.6,),4.2.1,人工神经元的数学模型(续),综合以上各式,神经元模型可简化为:,人工神经元的转移函数,神经元各种不同数学模型的主要区别在于采用了不同的转移函数,从而使神经元具有不同的信息处理特性。,神经元的信息处理特性是决定人工神经网络整体性能的三大要素之一,反映了神经元输出与其激活状态之间的关系,最常用的转移函数有,4,种形式。,(1)阈值型转移函数,1 x,0,f,(,x,),=,(4.7),0 x0,人工神经元的转移函数,单位阶跃函数,也称为硬限幅函数,(2)非线性转移函数,人工神经元的转移函数,非线性转移函数为实数域R到0.1闭集的非减连续函数,代表了状态连续型神经元模型。,非线性转移函数称为sigmoid ,简称 S型函数 。,特点是函数本身及其导数都是连续的,因而在处理上十分方便。,S型函数函数又分为单极性和双极性两种。,(3)分段线性转移函数,0 x,0,f(x)= cx,0,x,x,c,(4.9),1 x,c,x,人工神经元的转移函数,神经元的输入与输出在一定区间内满足线性关系,模拟了实际系统中的饱和特性,也称为伪线性函数,(4)概率型转移函数,温度参数,人工神经元的转移函数,采用概率型转移函数的神经元模型其输入与输出之间的关系是不确定的,需用一个随机函数来描述输出状态为1或为0的概率。,上式中,T称为温度参数。由于采用该转移函数的神经元输出状态分布与热力学中的玻尔兹曼(Boltzmann)分布类似,因此这种神经元模型也称为热力学模型。,4.2.2 神经网络模型,分多层,层数根据实际需求设定:输入层、隐含层、输出层,层数越多越准确,计算时间越长,人工神经元图中的每个节点,人工神经网络模型分类,按网络连接的拓扑结构分类,层次型结构,互连型网络结构,按网络内部的信息流向分类,前馈型网络,反馈型网络,(一)网络拓扑结构类型,层次型结构,将神经元按功能分成若干层,如输入层、中间层(隐层)和输出层,各层顺序相连。,互连型网络结构,网络中任意两个节点之间都可能存在连接路径.,层次型网络模型,层次型结构的神经网络将神经元按功能分成若干层,如输入层、中间层(也称为隐层)和输出层,各层顺序相连。,输入层,各神经元负责接收来自外界的输入信息,并传递给中间各隐层神经元;,隐层,是神经网络的内部信息处理层,负责信息变换,根据信息变换能力的需要,隐层可为设计一层或多层;,最后一个隐层传递到输出层各神经元的信息经进一步处理后即完成一次信息处理,由,输出层,向外界输出信息处理结果。,层次型网络结构有3种典型的结合方式。,层次型模型,(1)单纯型层次网络结构,神经元分层排列,各层神经元接收前一层输入并输出到下一层;,层内神经元自身以及神经元之间不存在连接通路。,层次型模型,(2)输出层到输入层有连接,输入层神经元既可接收输入,也具有信息处理功能,层次型模型,(3)层内有连接层次型结构,同一层内神经元有互连;,特点是在同一层内引入神经元间的侧向作用,使得能同时激活的神经元个数可控,以实现各层神经元的自组织。,互联型网络结构,网络中任意两个节点之间都可能存在连接路径,因此可以根据网络中节点的互连程度将互连型网络结构细分为三种情况,:,(1)全互连型,:,网络中的每个节点均与所有其它节点连接,互联型网络结构,(2)局部互连型网络结构,网络中的每个节点只与其邻近的节点有 连接,(3),稀疏连接型:,网络中的节点只与少数相距较远的节点相连,说明:神经网络的分层结构,与激发函数一起决定了神经网络的不同,还可分为,单级网,多级网,反馈网,循环网,等,简单单级网,x,1,x,2,x,n,o,1,o,2,o,m,w,nm,w,11,w,1m,w,2m,w,n1,输出层,输入层,简单单级网,W=(w,ij,),输出层的第j个神经元的网络输入记为net,j,:,net,j,=x,1,w,1j,+x,2,w,2j,+x,n,w,nj,其中, 1 j m。取,NET=(net,1,,net,2,,net,m,),NET=XW,O=F(NET),单级横向反馈网,输出层,x,1,o,1,w,11,w,1m,x,2,o,2,w,2m,x,n,o,m,w,n1,输入层,V,单级横向反馈网,反馈权值矩阵 :V=(v,ij,),神经元的网络输入:NET=XW+OV,网络输出:O=F(NET),反馈网中可以引入时间参数,神经元的状态在主时钟的控制下同步变化,NET(t+1)=X(t)W+O(t)V,O(t+1)=F(NET(t+1),O(0)=0,多级网,输出层,隐藏层,输入层,o,1,o,2,o,m,x,1,x,2,x,n,层次划分,信号只被允许从较低层流向较高层。,层号确定层的高低:层号较小者,层次较低,层号较大者,层次较高。,输入层:被记作第0层。该层负责接收来自网络外部的信息,输出层,隐藏层,输入层,o,1,o,2,o,m,x,1,x,2,x,n,多级网,第j层:第j-1层的直接后继层(j0),它直接接受第j-1层的输出。,输出层:它是网络的最后一层,具有该网络的最大层号,负责输出网络的计算结果。,隐藏层:除输入层和输出层以外的其它各层叫隐藏层。隐藏层不直接接受外界的信号,也不直接向外界发送信号,输出层,隐藏层,输入层,o,1,o,2,o,m,x,1,x,2,x,n,多级网,约定 :,输出层的层号为该网络的层数:n层网络,或n级网络。,第j-1层到第j层的联接矩阵为第j层联接矩阵,输出层对应的矩阵叫输出层联接矩阵。今后,在需要的时候,一般我们用W,(j),表示第j层矩阵,。,输出层,隐藏层,输入层,o,1,o,2,o,m,x,1,x,2,x,n,W,(1),W,(2),W,(3),W,(h),多级网,多级网h层网络,输出层,隐藏层,输入层,o,1,o,2,o,m,x,1,x,2,x,n,W,(1),W,(2),W,(3),W,(h),多级网,非线性激活函数,F(X)=kX+C,每层的网络输出举例,F,1,(XW,(1),),F,3,(F,2,(F,1,(XW,(1),)W,(2),)W,(3),),循环网,x,1,o,1,输出层,隐藏层,输入层,x,2,o,2,o,m,x,n,循环网,将输出信号反馈到输入端,输入的原始信号被逐步地“加强”、被“修复”,符合大脑的,短期记忆特征,看到的东西不是一下子就从脑海里消失的,网络的稳定性,反馈信号会引起网络输出的不断变化,我们希望这种变化逐渐减小,并且最后能消失,当变化最后消失时,网络达到了平衡状态。如果这种变化不能消失,则称该网络是不稳定的。,(二)网络信息流向类型,前馈型网络,前馈:网络信息处理的方向是从输入层到各隐层再到输出层逐层进行,反馈型网络,在反馈网络中所有节点都具有信息处理功能,而且每个节点既可以从外界接收输入,同时又可以向外界输出。,(二)网络信息流向类型,(1)前馈型网络,前馈是因网络信息处理的方向是从输入层到各隐层再到输出层逐层进行而得名,单纯前馈型(上图),从信息处理能力看,网络中的节点可分为两种,一种是输入节点,只负责从外界引入信息后向前传递给第一隐层;,另一种是具有处理能力的节点,包括各隐层和输出层节点。,前馈网络中一层的输出是下一层的输入,信息的处理具有逐层传递进行的方向性,一般不存在反馈环路。因此这类网络很容易串联起来建立多层前馈网络。,多层前馈网络可用一个,有向无环路,的图表示,输入层常记为网络的第一层,第一个隐层记为网络的第二层,其余类推。,所以,当提到具有单层计算神经元的网络时,指的应是一个两层前馈网络(输入层和输出层),当提到具有单隐层的网络时,指的应是一个三层前馈网络,(二)网络信息流向类型,(2)反馈型网络,在反馈网络中所有节点都具有信息处理功能,而且每个节点既可以从外界接收输入,同时又可以向外界输出。,单纯反馈型网络,单层全互连结构网络:,是一种典型的反馈型网络,可以用上图所示的完全的无向图表示。,注意,上面介绍的分类方法、结构形式和信息流向只是对目前常见的网络结构的概括和抽象。,实际应用的神经网络可能同时兼有其中一种或几种形式。例如,从连接形式看,层次网络中可能出现局部的互连;从信息流向看,前馈网络中可能出现局部反馈。,神经网络学习,神经网络能够通过对样本的学习训练,不断改变网络的连接权值以及拓扑结构,以使网络的输出不断地接近期望的输出。,这一过程称为,神经网络的学习或训练,其本质是可变权值的动态调整,。,神经网络的学习方式是决定神经网络信息处理性能的第三大要素(神经网络研究的重点)。,改变权值的规则称为,学习规则或学习算法,(亦称训练规则或训练算法)。,在单个处理单元层次,无论采用哪种学习规则进行调整,其算法都十分简单。但当大量处理单元集体进行权值调整时,网络就呈现出“智能”特性,其中有意义的信息就分布地存储在调节后的权值矩阵中。,4.2.3,神经网络学习:分类,有导师学习(有监督学习),这种学习模式采用的是纠错规则。,在学习训练过程中需要不断给网络成对提供一个输入模式和一个期望网络正确输出的模式,称为“教师信号”。,将神经网络的实际输出同期望输出进行比较,当网络的输出与期望的教师信号不符时,根据差错的方向和大小按一定的规则调整权值。,当网络对于各种给定的输入均能产生所期望的输出时,即认为网络已经在导师的训练下“学会”了训练数据集中包含的知识和规则,可以用来进行工作了。,无导师学习(无监督学习),学习过程中,需要不断给网络提供动态输入信息,网络能根据特有的内部结构和学习规则,在输入信息流中发现任何可能存在的模式和规律,同时能根据网络的功能和输入信息调整权值,这个过程称为网络的自组织,其结果是使网络能对属于同一类的模式进行自动分类。,在这种学习模式中,网络的权值调整不取决于外来教师信号的影响,可以认为网络的学习评价标准隐含于网络的内部。,死记式学习,是指网络事先设计成能记忆特别的例子,以后当给定有关该例子的输入信息时,例子便被回忆起来。,死记式学习中网络的权值一旦设计好了就不再变动,因此其学习是一次性的,而不是一个训练过程。,学习的过程(权值调整的一般情况 ),4.2.3,神经网络学习,5. M-P模型,M-P(McCullochPitts)模型,也称为处理单元(PE,),x,2,w,2,f,o=f(net),x,n,w,n,net=XW,x,1,w,1,输入: X=(x,1,,x,2,,x,n,),联接权: W=(w,1,,w,2,,w,n,)T,网络输入: net=x,i,w,i,=,XW,输出: o=f(net),6. 前馈神经网络,1958年,美国心理学家Frank Rosenblatt提出一种具有单层计算单元的神经网络,称为Perceptron,即感知器。,感知器是模拟人的视觉接受环境信息,并由神经冲动进行信息传递的层次型神经网络。,感知器研究中首次提出了自组织、自学习的思想,而且对所能解决的问题存在着收敛算法,并能从数学上严格证明,因而对神经网络研究起了重要推动作用。,6.1 单层感知器,单层感知器的结构与功能都非常简单,以至于在解决实际问题时很少采用,但由于它在神经网络研究中具有重要意义,是研究其它网络的基础,而且较易学习和理解,适合于作为学习神经网络的起点。,单层感知器是指只有一层处理单元的感知器,如果包括输入层在内,应为两层。,图中输入层也称为感知层,有n个神经元节点,这些节点只负责引入外部信息,自身无信息处理能力,每个节点接收一个输入信号,n个输入信号构成输入列向量X。,输出层也称为处理层,有m个神经元节点,每个节点均具有信息处理能力,m个节点向外部输出处理信息,构成输出列向量O。,两层之间的连接权值用权值列向量W,j,表示,m个权向量构成单层感知器的权值矩阵W。,感知器模型,单层感知器,最早也是最简单的一种神经网络,它的神经元激发函数为阶跃函数,,主要用于分类,感知器神经元,j=1,2,m,感知器模型,净输入,:,输出,:,感知器模型,令,x,0,=,-1,,,w,0,=,T,j,则有,-,T,j,=,x,0,w,0,(1)设输入向量,X,=(,x,1,x,2,),T,输出,:,则由方程,w,ij,x,1,+w,2j,x,2,-T,j,=0,确定了二维平面上的一条分界线,o,j,x,1,-1,x,2,感知器的功能,(1)输入是二维,w,1j,x,1,+w,2j,x,2, T,j,= 0,w,1j,x,1,=,T,j,- w,2j,x,2,x,1,= (,T,j,-w,2j,x,2,) /,w,1j,=,-,(,w,2j,/,w,1j,),x,2,+,T,j,/,w,1j,=,a,x,2,+,c,感知器的功能(二维,),感知器的功能,线上方的样本用*表示,它们使,net,j,0,,从而使输出为,1,;线下方的样本用,o,表示,它们使,net,j,0,,从而使输出为,1,;线下方的样本用,o,表示,它们使,netj,0,,从而使输出为,-1,。,显然,由感知器权值和阈值确定的直线方程规定了分界平面在样本空间的位置,从而也确定了如何将输入样本分为两类。,假如分界平面的初始位置不能将*类样本同,o,类样本正确分开,改变权值和阈值,分界平面也会随之改变,因此总可以将其调整到正确分类的位置。,(3) 设输入向量,X,=(,x,1,,x,2,,x,n,),T,则由方程,w,ij,x,1,+w,2j,x,2,+w,nj,T,j,=0,确定了n维空间上的一个分界平面(超平面),该平面可以将输入样本分为两类,输出,:,w,ij,x,1,+w,2j,x,2,+w,nj,T,j,=0,感知器的功能,一个最简单的单计算节点感知器具有分类功能。,其分类原理是将分类知识存储于感知器的权向量(包含了阈值)中,由权向量确定的分类判决界面将输入模式分为两类。,感知器的功能,例一 用感知器实现逻辑“与”功能,x,1,x,2,y,000,010,100,11,1,逻辑“与”真值表,从真值表中可以看出,4个样本的输出有两种情况,一种使输出为0,另一种使输出为1,因此属于分类问题。,例一 用感知器实现逻辑“与”功能,感知器结构和训练结果,w,i,x,1,+w,2,x,2,-T,=0,0.5x,1,+0.5x,2,-0.75=0,用单计算节点感知器实现,,用感知器学习规则进行训练,,得到的连接权值如右图,例二 用感知器实现逻辑“或”功能,x,1,x,2,y,000,011,101,111,逻辑“或”真值表,例二 用感知器实现逻辑“或”功能,感知器结构,w,i,x,1,+w,2,x,2,-T,=0,x,1,+x,2,-0.5,=0,思考并回答,分界线的方程是什么?,感知器的模型如何表示?,图示?,数学表达式?,问题:,能否用感知器实现“异或”功能,?,“异或”的真值表,x,1,x,2,y,000,011,101,110,感知器的局限性,4个样本也分为两类,但任何直线也不可能把两类样本分开;,如果两类样本可以用直线、平面或超平面分开,,称为线性可分,,否则为,线性不可分,;,由感知器分类的几何意义可知,由于净输入为零确定的分类判决方程是线性方程,因而它只能解决线性可分问题而不可能解决线性不可分问题。由此可知,,单计算层感知器的局限性是仅对线性可分问题具有分类能力,。,感知器的学习,关键问题就是求,感知器的学习算法,Perceptron(感知器)学习规则,式中,当实际输出与期望值相同时,权值不需要调整。感知器学习规则代表一种,有导师学习,。,感知器学习规则的训练步骤:,(1),对各权值,w,0j,(,0,),w,1j,(,0,),w,nj,(,0,),,j=1, 2,m,(,m,为计算层的节点数,),赋予较小的非零随机数,;,(2),输入样本对,X,p,d,p,,,其中,X,p,=,(,-1,x,1,p,x,2,p,x,n,p,),,d,p,为期望的输出向量(教师信号),上标,p,代表,样本对的模式序号,设样本集中的样本总数为,P,,,则,p=1,2,P,;,感知器的学习算法,感知器学习规则的训练步骤:,(3),计算各节点的实际输出,o,j,p,(,t,)=,sgn,W,j,T,(,t,),X,p,j,=1,2,.,m,;,(4),调整各节点对应的权值,,,W,j,(,t+1,)=,W,j,(,t,)+,d,j,p,-o,j,p,(,t,),X,p,j=1, 2,m,其中,为学习率,,,用于控制调整速度,太大会影响训练的稳定性,太小则使训练的收敛速度变慢,,一般取,01,;,(5)返回到步骤(2)输入下一对样本,周而复始直到对所有,样本,感知器的实际输出与期望输出相等。,感知器的学习算法,感知器的学习规则的训练步骤,(1)权值初始化,(2)输入样本对,(3)计算输出,(4)根据感知器学习规则调整权值,(5)返回到步骤(2)输入下一对样本,周而复始直到对所有样本,感知器的实际输出与期望输出相等。,例三 单计算节点感知器,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,0,恒等于,-1,,,权向量中第一个分量为阈值,试根据以上学习规则训练该感知器。,感知器的学习算法,解:第一步 输入,X,1,,,得,W,T,(0),X,1,=(,0.5,1,-1,0)(,-1,1,-2,0),T,=2.5,o,1,(,0,),=sgn,(,2.5,),=1,W,(1)=,W,(0)+,d,1,-,o,1,(0),X,1,=(0.5,1,-1,0),T,+0.1(-1-1)(-1,1,-2,0),T,=(0.7,0.8,-0.6,0),T,感知器的学习算法,第二步 输入,X,2,,,得,W,T,(1),X,2,=(0.7,0.8,-0.6,0)(-1,0,1.5,-0.5),T,=-1.6,o,2,(,1,),=sgn,(,-1.6,),=-1,W,(2)=,W,(1)+,d,2,-,o,2,(1),X,2,=(0.7,0.8,-0.6,0),T,+0.1-1-(-1)(-1,0,1.5,-0.5),T,=(0.7,0.8,-0.6,0),T,由于,d,2,= o,2,(1),,所以,W,(2)=,W,(1)。,感知器的学习算法,第三步 输入,X,3,,,得,W,T,(2),X,3,=(0.7,0.8,-0.6,0)(-1,-1,1,0.5),T,=-2.1,O,3,(,2,),=sgn,(,-2.1=-1,W,(3)=,W,(2)+,d,3,- o,3,(2),X,3,=(0.7,0.8,-0.6,0),T,+0.11-(-1)(-1,-1,1,0.5),T,=(0.5,0.6,-0.4,0.1),T,第四步 返回到第一步,继续训练直到,d,p,- o,p,=0,p=1,2,3。,感知器的学习算法,单层感知器的局限性,问题:能否用感知器解决如下问题?,单层感知器的局限性,无法解决“异或”问题,只能解决线性可分问题,“异或”的真值表,x,1,x,2,y,000,011,101,110,6.2 多层感知器:提出,单计算层感知器具有局限性:,只能解决线性可分问题,而大量的分类问题是线性不可分的。,解决的有效办法,在输入层与输出层之间引入隐层作为输入模式的“内部表示”,将单计算层感知器变成多(计算)层感知器。,采用非线性连续函数作为转移函数,使区域边界线的基本线素由直线变成曲线,从而使整个边界线变成连续光滑的曲线。,双层感知器,“异或”问题分类,例四 用两计算层感知器解决“异或”问题。,“异或”的真值表,x,1,x,2,y,1,y,2,o,0 0,1 1,0,0 1,1 0,1,1 0,0 1,1,1 1,1 1,0,多层感知器,具有单隐层的感知器,其中隐层的两个节点相当于两个独立的符号单元(单计算节点感知器),两个符号单元可分别在,x1、x2,平面上确定两条分界直线,S1,和,S2,,从而构成上图所示的开放式凸域,通过适当调整两条直线的位置,可使两类线性不可分样本分别位于该开放式凸域内部和外部。,对隐节点,1,来说,直线,S,1,下面的样本使其输出为,y,1,=1,,而直线上面的样本使其输出为,y,1,=0,;,对隐节点,2,来说,直线,S,2,上面的样本使其输出为,y,2,=1,,而直线下面的样本使其输出为,y,2,=0,。,当输入样本为o类时,其位置处于开放式凸域内部,即同时处在直线,S,1,下方和直线,S,2,上方。根据以上分析,应有,y,1,=1,,,y,2,=1,。,当输入样本为*类时,其位置处于开放式凸域外部,即或者同时处在两直线,S,1,、,S,2,上方,使,y,1,=0,,,y,2,=1,;或者同时处在两直线,S,1,、,S,2,下方,使,y,1,=1,,,y,2,=0,。,输出层节点以隐层两节点的输出,y,1,、,y,2,作为输入,其结构也相当于一个符号单元。如果经过训练,使其具有逻辑“与非”功能,则异或问题即可得到解决。根据“与非”逻辑,当隐节点输出为,y,1,=1,,,y,2,=1,时,该节点输出为,o=0,;当隐节点输出为,y,1,=1,,,y,2,=0,时,或,y,1,=0,,,y,2,=1,时,该节点输出为,o=1,。,对于一般形式的单隐层感知器,当输入样本为二维向量时,隐层中的每个节点确定了二维平面上的一条分界直线。多条直线经输出节点组合后会构成各种形状的凸域(所谓凸域是指其边界上任意两点之连线均在域内)。,通过训练调整凸域的形状,可将两类线性不可分样本分为域内和域外。输出层节点负责将域内外的两类样本进行分类。,单隐层节点数量增加可以使多边形凸域的边数增加,从而在输出层构建出任意形状的凸域。如果在此基础上再增加第二个隐层,则该层的每个节点确定一个凸域,各种凸域经输出层节点组合后成为任意形状。,如图,由凸域组合成任意形状后,意味着双隐层的分类能力比单隐层大大提高。,分类问题越复杂,不同类别样本在样本空间的布局越趋于犬牙交错,因而隐层需要的神经元节点数也越多。,Kolmogorov,理论指出:双隐层感知器足以解决任何复杂的分类问题。,该结论已经过严格的数学证明。,具有不同隐层数的感知器的分类能力对比,说明,为便于直观描述感知器分类能力,在上述分析中,将转移函数限定为符号函数或单位阶跃函数。,实际上,提高感知器分类能力的另一个途径是,采用非线性连续函数作为神经元节点的转移函数。这样做的好处是能使区域边界线的基本线素由直线变成曲线,从而使整个边界线变成连续光滑的曲线,连续多输出感知器训练算法,1. 用适当的小伪随机数初始化权矩阵W;,2. 初置精度控制参数,学习率,精度控制变量d=+1;,3While d do,3.1 d=0;,3.2 for 每个样本(X,Y)do,3.2.1 输入X; /,(x1,x2,xn),3.2.2 求O=F(XW);,3.2.3 修改权矩阵W:,for i=1 to n,j=1 to m do,w,ij,=w,ij,+(y,j,-o,j,)x,i,;/,y,j,与,o,j,之间的差别对,w,ij,的影响,3.2.4 累积误差,for j = 1 to m do,d=d+(y,j,-o,j,),2,7. BP算法,提高网络性能(如分类能力)的有效途径,包含隐层的多层前馈网络,长期以来没有提出,解决权值调整问题的有效算法,。,非线性连续转移函数,BP (Error Back Proragation,BP)算法,1986年,Rumelhart 和McCelland领导的科学家小组Parallel Distributed Processing一书,应用对象:多层前馈网络,具有非线性连续转移函数,(1)基于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,1,V,2,V,j,V,m,),隐层到输出层之间的权值矩阵:,W=,(,W,1,W,2,W,k,W,l,),各个变量之间如何建立联系,来描述整个网络,?,输出层,:,k=1,2,l,(3.4.1),k=1,2,l,(3.4.2),隐层,:,j=1,2,m,(3.4.3),j=1,2,m,(3.4.4),基于BP算法的多层前馈网络模型,双极性Sigmoid函数,:,单极性Sigmoid函数:,基于BP算法的多层前馈网络模型,一、网络误差与权值调整,输出误差,E,定义,:,将以上误差定义式展开至隐层:,BP学习算法,一、网络误差与权值调整(续),进一步展开至输入层:,3.4.2 BP学习算法,由上式可以看出,网络输入误差是各层权值,w,jk,、v,ij,的函数,因此调整权值可改变误差,E,。,j=0,1,2,m; k=1,2,l,i=0,1,2,n; j=1,2,m,式中负号表示梯度下降,常数,(,0,1,),表示比例系数,在训练中反映学习速率,。,在全部推导过程中,对输出层有,j=0,1,2,m; k=1,2,l,对隐层有,i=0,1,2,n; j=1,2,m,3.4.2 BP学习算法,调整权值的原则显然是使误差不断地减小,因此应使权值的调整量与误差的梯度下降成正比,二、BP算法推导,对于输出层,有,对隐层,有,对输出层和隐层各定义一个误差信号,令,3.4.2 BP学习算法,综上,可将权值调整式改写为,同理,隐层的权值调整式可改写为,可以看出,只要计算出误差信号,o,和,y,,权值调整量的计算推导即可完成。下面继续推导如何求误差信号,o,和,y,。,对于输出层,,o,可展开为,对于隐层,,y,可展开为,下面求网络误差对各层输出的偏导。,对于输出层,利用式,对于隐层,利用式,可得:,可得:,将以上结果代入,并应用式,得到:,将上述结果代入,得到三层前馈网的BP学习算法权值调整计算公式为:,可以看出,BP学习算法中,各层权值调整公式形式上都是一样的,均由3个因素决定,即:,学习率、本层输出的误差信号、本层输入信号Y(或X),输出层误差信号与网络的期望输出和实际输出之差有关,直接反映了输出误差,各隐层的误差信号与前面各层的误差信号都有关,是从输出层开始逐层反传过来的。,BP网络(,Back propagation Network,),拓扑结构,x,1,o,1,输出层,隐藏层,输入层,x,2,o,2,o,m,x,n,增加隐藏层数和隐藏层神经元个数不一定总能提高网络精度和表达能力,所以,BP网一般都选用二级网络,BP网络,神经元,神经元的网络输入:,net,i,=x,1,w,1i,+x,2,w,2i,+x,n,w,ni,神经元的输出:,BP网络的应用,BP网络的用途十分广泛,可用于以下方面:,函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数,模式识别:用一个特定的输出矢量将它与输入矢量联系起来,分类:把输入矢量以所定义的合适方式进行分类,数据压缩:减少输出矢量维数以便于传输或存储,BP算法的基本思想,学习的类型:有导师学习,核心思想:,将输出误差,以某种形式,通过隐层向输入层逐层反传,学习的过程:,信号的正向传播 误差的反向传播,将误差分摊给各层的所有单元各层单元的误差信号,修正各单元权值,BP算法的学习过程,正向传播:,输入样本输入层各隐层输出层,判断是否转入反向传播阶段:,若输出层的实际输出与期望的输出(教师信号)不符,误差反传,误差以某种形式在各层表示修正各层单元的权值,网络输出的误差减少到可接受的程度,进行到预先设定的学习次数为止,训练过程,样本:(输入向量,理想输出向量),权初始化,1、向前传播阶段:,(,1)从样本集中取一个样本,(X,p,,Y,p,),,将,X,p,输入网络;,(2)计算相应的实际输出O,p,:,O,p,=F,l,(F,2,(F,1,(X,p,W,(1),)W,(2),)W,(L),),训练过程,2、向后传播阶段误差传播阶段:,(1)计算实际输出O,p,与相应的理想输出Y,p,的差,(2)按极小化误差的方式调整权矩阵,(3)网络关于第p个样本的误差测度,:,(4) 网络关于整个样本集的误差测度:,误差传播,1、输出层权的调整,w,pq,= w,pq,+w,pq,w,pq,=,q,o,p,=f,n, (net,q,)(y,q,-o,q,)o,p,=o,q,(1-o,q,) (y,q,-o,q,)o,p,w,pq,AN,p,AN,q,第L-1层,第L层,w,pq,误差传播,2、隐藏层权的调整,AN,p,AN,q,AN,h,v,hp,pk-1,1k,w,p1,w,pq,qk,w,pm,mk,第k-2层,第k层,第k-1层,误差传播,pk-1,的值和,1k,,,2k,,,mk,有关,不妨认为,pk-1,通过权w,p1,对,1k,做出贡献,通过权w,p2,对,2k,做出贡献, ,通过权w,pm,对,mk,做出贡献。,pk-1,= f,k-1,(net,p,) (w,p1,1k,+ w,p2,2k,+ w,pm,m k,),v,hp,= v,hp,+v,hp,v,hp,= ,pk-1,o,hk-2,=f,k-1,(net,p,)( w,p1,1k,+ wp,2,2k,+ w,pm,mk,)o,hk-2,=o,pk-1,(1-o,pk-1,)( w,p1,1k,+ w,p2,2k,+ w,pm,mk,)o,hk-2,2、隐藏层权的调整,基本BP算法,样本集:,S=(X,1,Y,1,),(X,2,Y,2,),(X,s,Y,s,),基本思想 :,逐一地根据样本集中的样本(X,k,Y,k,)计算出实际输出O,k,和误差测度E,1,,对W,(1),,W,(2),,W,(L),各做一次调整,重复这个循环,直到E,p, do,4.1 E=0;,4.2 对S中的每一个样本(X,p,Y,p,):,4.2.1 计算出X,p,对应的实际输出O,p,;,4.2.2 计算出E,p,;,4.2.3 E=E+E,p,;,4.2.4 根据相应式子调整W,(L),;,4.2.5 k=L-1,;,4.2.6 while k0 do,4.2.6.1 根据相应式子
展开阅读全文