1、Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,#,Click to edit Master title style,人工神经网络,二一五年,十二月,目 录,2,一、人工神经网络的基本概念,二、人工神经网络的学习方法,三、前向式神经网络与算法,四、神经网络的应用举例(,matlab,),一,、,人工神经网络的 基本概念,3,一、,人工神经网络的 基本概念,4,人工神经网络(,Artificial Neural Network,,即,ANN,)可以概括的定义为:,由大量具有适应性
2、的处理元素(神经元)组成的广泛并行互联网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应,是模拟人工智能的一条重要途径。,人工神经网络与人脑相似性主要表现在:,神经网络获取的知识是从外界环境学习得来的;,各神经元的连接权,即突触权值,用于储存获取的知识。,神经元,是神经网络的基本处理单元,它是神经网络的设计基础。神经元是以生物的神经系统的神经细胞为基础的生物模型。在人们对生物神经系统进行研究,以探讨人工智能的机制时,把神经元数学化,从而产生了神经元数学模型。因此,要了解人工神经模型就必须先了解生物神经元模型。,1.1,人工神经网络发展简史,5,最早的研究可以追溯到,20,世纪,4
3、0,年代。,1943,年,心理学家,McCulloch,和数学家,Pitts,合作提出了形式神经元的数学模型。这一模型一般被简称,M-P,神经网络模型,,至今仍在应用,可以说,人工神经网络的研究时代,就由此开始了。,1949,年,心理学家,Hebb,提出神经系统的学习规则,为神经网络的学习算法奠定了基础。现在,这个规则被称为,Hebb,规则,许多人工神经网络的学习还遵循这一规则。,1957,年,,F.Rosenblatt,提出,“感知器”,(Perceptron),模型,第一次把神经网络的研究从纯理论的探讨付诸工程实践,掀起了人工神经网络研究的第一次高潮。,1.1,人工神经网络发展简史,6,2
4、0,世纪,60,年代以后,数字计算机的发展达到全盛时期,人们误以为数字计算机可以解决人工智能、专家系统、模式识别问题,而放松了对“感知器”的研究。于是,从,20,世纪,60,年代末期起,人工神经网络的研究进入了低潮。,1982,年,美国加州工学院物理学家,Hopfield,提出了离散的神经网络模型,标志着神经网络的研究又进入了一个新高潮。,1984,年,,Hopfield,又提出连续神经网络模型,开拓了计算机应用神经网络的新途径。,1986,年,,Rumelhart,和,Meclelland,提出多层网络的误差反传,(back propagation),学习算法,简称,BP,算法,。,BP,算
5、法是目前最为重要、应用最广的人工神经网络算法之一。,1.2,生物神经元结构,7,生物神经元结构,(,1,)细胞体,:,细胞核、细胞质和细胞膜。,(,2,)树突:胞体短而多分枝的突起。相当于神经元的输入端。,(,3,)轴突:胞体上最长枝的突起,也称神经纤维。端部有很多神经末稍传出神经冲动。,1.2,生物神经元结构,(,4,)突触:神经元间的连接接口,每个神经元约有,1,万,10,万个突触。神经元通过其轴突的神经末稍,经突触与另一神经元的树突联接,实现信息的传递。由于突触的信息传递特性是可变的,形成了神经元间联接的柔性,称为结构的可塑性。,突触结构示意图,1.3,生物神经元的信息处理机理,9,神经
6、元的兴奋与抑制,当传入神经元冲动,经整和使细胞膜电位升高,超过动作电位的阈值时,为兴奋状态,产生神经冲动,由轴突经神经末稍传出。当传入神经元的冲动,经整和,使细胞膜电位降低,低于阈值时,为抑制状态,不产生神经冲动。,延时性传递,生物神经元的特点,单向性传递,阈值特性,生物神经元的特点:,1.4,生物神经元的特点,1.5,人工神经元模型,11,神经元模型,从神经元的特性和功能可以知道,神经元相当于一个多输入单输出的信息处理单元,而且,它对信息的处理是非线性的,人工神经元的模型如图所示:,神经元的,n,个输入,对应的连接权值,net=,阈值,输出,激活函数,12,上面的神经元模型可以用一个数学表达
7、式进行抽象与概括,从而得到神经元的数学模型:,1.5,人工神经元模型,神经元的网络输入记为,net,,即,net=,13,有时为了方便起见,常把,-,也看成是恒等于,1,的输入,X,0,的权值,这时上面的数学模型可以写成:,1.5,人工神经元模型,其中,,W,0,=-,;,x,0,=1,14,神经元的模型具有以下特点:,神经元是一个多输入、单输出单元。,它具有非线性的输入、输出特性。,它具有可塑性,反应在新突触的产生和现有的神经突触的调整上,其塑性变化的部分主要是权值,w,的变化,这相当于生物神经元的突出部分的变化,对于激发状态,,w,取正直,对于抑制状态,,w,取负值。,神经元的输出和响应是
8、个输入值的综合作用的结果。,兴奋和抑制状态,当细胞膜电位升高超过阈值时,细胞进入兴奋状态,产生神经冲动;当膜电位低于阈值时,细胞进入抑制状态。,1.5,人工神经元模型,1.6,激活函数,15,神经元的描述有多种,其区别在于采用了不同的激活函数,不同的激活函数决定神经元的不同输出特性,常用的激活函数有如下几种类型:,1.,阈值型,2.S,型,3.,分段线性,4.,概率型,16,1.,阈值型激活函数,阈值型激活函数是最简单的,前面提到的,M-P,模型就属于这一类。其输出状态取二值(,1,、,0,或,+1,、,-1,),分别代表神经元的兴奋和抑制。,1.6,激活函数,当,f,(,x,)取,0,或,1
9、,时,,17,当,f,(,x,)取,1,或,-1,时,,f,(,x,)为下图所示的,sgn,(符号)函数,sgn,(,x,),=,1.6,激活函数,18,1.6,激活函数,2.S,型激活函数,神经元的状态与输入级之间的关系是在(,0,1,)内连续取值的单调可微函数,称为,S,型函数。,双极性,S,型函数:,单极性,S,型函数:,19,3.,分段线性激活函数,分段线性激活函数的定义为:,1.6,激活函数,20,4.,概率型激活函数,概率型激活函数的神经元模型输入和输出的关系是不确定的,需要一种随机函数来描述输出状态为,1,或为,0,的概率,设神经元输出(状态)为,1,的概率为:,1.6,激活函数
10、,(其中,,T,为温度函数),21,激活函数的基本作用表现在,:,1.6,激活函数,控制输入对输出 的激活作用,将可能无限域的输入变换成指定的有限范围内的输出,对输入、输出进行函数转换,22,神经网络是由许多神经元互相在一起所组成的神经结构。把神经元之间相互作用关系进行数学模型化就可以得到人工神经网络模型。,神经元和神经网络的关系是,元素与整体,的关系。,人工神经网络中的神经元常称为节点或处理单元,每个节点均具有相同的结构,其动作在时间和空间上均同步。,1.7,人工神经网络模型,人工神经网络模型,23,人工神经网络的基本属性,1.7,人工神经网络模型,1,)非线性,2,)非局域性,3,)非定常
11、性,4,)非凸性,24,神经网络模型,神经元的连接方式不同,网络的拓扑结构也不同,人工神经网络的拓扑结构是决定人工神经网络特征的第二要素,根据神经元之间连接的拓扑结构不同,可将人工神经网络分成两类,即,分层网络,和,相互连接型网络。,1.7,人工神经网络模型,人工神经网络,分层型网络,相互连接型网络,25,分层网络,分层网络将一个神经网络中的所有神经元按功能分为若干层,一般有输入层、中间层(隐藏层)和输出层。,分层网络按照信息的传递方向可分为,前向式网络(如图,a,),和,反馈网络(如图,b,、,c,),。,1.7,人工神经网络模型,26,相互连接型网络,相互连接型网络是指网络中任意单元之间都
12、是可以相互双向连接的。,1.7,人工神经网络模型,上述的分类方法是对目前常见的神经网络结构的概括和抽象,实际应用的神经网络可能同时兼有其中的一种或几种形式。,27,二,、,人工神经网络的 学习方法,28,2.1,学习机理,学习机理,人工神经网络信息处理可以用数学过程来说明,这个过程可以分为两个阶段:执行阶段和学习阶段。,学习是智能的基本特征之一,人工神经网络最具有吸引力的特点是它能从环境中学习的能力,并通过改变权值达到预期的目的。神经网络通过施加于它的权值和阈值调节的交互过程来学习它的环境,人工神经网络具有近似于与人类的学习能力,是其关键的方面之一。,29,2.2,学习方法,学习方法,按照广泛
13、采用的分类方法,可以将神经网络的学习方法归为三类:,无导师学习,灌输式学习,有导师学习,30,2.2,学习方法,有导师学习,有导师学习又称为有监督学习,在学习时需要给出导师信号或称为期望输出。神经网络对外部环境是未知的,但可以将导师看做对外部环境的了解,由输入,-,输出样本集合来表示。导师信号或期望响应代表了神经网络执行情况的最佳效果,即对于网络输入调整权值,使得网络输出逼近导师信号或期望输出。,31,2.2,学习方法,无导师学习,无导师学习也称无监督学习。在学习过程中,需要不断地给网络提供动态输入信息(学习样本),而不提供理想的输出,网络根据特有的,学习规则,,在输入信息流中发现任何可能存在
14、的模式和规律,同时能根据网络的功能和输入调整权值。,灌输式学习,灌输式学习是指将网络设计成记忆特别的例子,以后当给定有关该例子的输入信息时,例子便被回忆起来。灌输式学习中网络的权值不是通过训练逐渐形成的,而是通过某种设计方法得到的。权值一旦设计好,即一次性“灌输给神经网络不再变动,因此网络对权值的”“学习”是“死记硬背”式的,而不是训练式的。,2.3,学习规则,学习规则,在神经网络的学习中,各神经元的连接权值需按一定的规则调整,这种权值调整规则称为学习规则。下面介绍几种常见的学习规则。,1.Hebb,学习规则,2.Delta,(,)学习规则,3.LMS,学习规则,4.,胜者为王学习规则,5.K
15、ohonen,学习规则,6.,概率式学习规则,33,2.3,学习规则,1.Hebb,学习规则,当神经元,i,与神经元,j,同时处于兴奋状态时,在神经网络中表现为连接权增加。根据该假设定义权值调整的方法,称为,Hebb,学习规则。,Hebb,学习规则的数学描述:,假设,o,i,(,n,)和,o,j,(,n,),是神经元,i,和,j,在时刻,n,的状态反应,,W,ij,(,n,)表示时刻,n,时,连接神经元,i,和神经元,j,的权值,,W,ij,(,n,)表示从时刻,n,到时刻,n+1,时连接神经元,i,和神经元,j,权值的改变量,则,其中,,是正常数,它决定了在学习过程中从一个步骤到另一个步骤的
16、学习速率,称为,学习效率,34,2.3,学习规则,2.Delta,(,)学习规则,Delta,学习规则是最常用的学习规则,其要点是通过改变神经元之间的连接权来减小系统实际输出与理想输出的误差。假设,n,时刻输出误差准则函数如下:,其中,,O,k,=f,(,net,k,)为实际输出;,y,k,代表理想输出;,W,是网络的所有权值组成权矩阵,W=,(,w,ij,);,K,为输出个数。,使用,梯度下降法,调整权值,W,,使误差准则函数最小,得到,W,的修正,Delta,规则为:,注:,Delta,学习规则只适用于线性可分函数,无法用于多层网络,35,2.3,学习规则,3.LMS,学习规则,LMS,学
17、习规则又称为最小均方差规则,其学习规则为:,注:,LMS,学习规则可以看成是,Delta,学习规则的一个特殊情况。,该学习规则具有学习速度快和精度高的特点,权值可以初始化为任何值。,36,2.3,学习规则,4.,胜者为王学习规则,胜者为王(,Winner-Take-All,)学习规则是一种竞争学习规则,用于无导师学习。一般将网络的某一层确定为竞争层,对于一个特定的输入,X,,竞争层的,K,个神经元均有输出响应,其中响应值最大的神经元,j*,为竞争中获胜的神经元,即,只有获胜的神经元才有权调整其权向量,W,j,,调整量为:,其中,,为学习参数(,0,1,),37,2.3,学习规则,5.Kohon
18、en,学习规则,该规则只用于无导师指导下训练的网络。在学习过程中,处理单元竞争学习时,具有高输出的单元为胜利者,它有能力阻止它的竞争者并激活相邻的单元,只有胜利者才能有输出,也只有胜利者与其相邻单元可以调节权重。,在训练周期内,相邻单元的规模是可变的。一般的方法是从定义较大的相邻单元开始,在训练过程中不断减少相邻的范围。胜利单元可定义为与输入模式最为接近的单元。,Kohonen,网络可以模拟输入的分配,38,2.3,学习规则,5.,概率式学习,从统计学、分子热力学和概率论中关于系统稳态能量的标准出发,进行神经网络学习的方式称为概率是学习。神经网络处于某一状态的概率主要取决于在此状态下的能量,能
19、量越低,概率越大。概率式学习的典型代表是玻尔兹曼(,Boltzmann,)机学习规则。这是基于模拟退火的统计优化算法。,39,三,、前向式神经网络与算法,3.1,感知器及算法,感知器,感知器是具有单层计算单元的神经网络,由线性元件和阈值元件组成。感知器的结构如下图所示,其中,X=,(,x,1,,,x,2,,,,,x,n,)为,n,个输入,有,m,个输出,即,O=,(,o,1,,,o,2,,,.,,,o,m,),,W=,(w,ij,),n,m,为连接权矩阵。,(w,ij,),nm,为连接权矩阵,感知器结构,3.1,感知器及算法,感知器的数学模型,其中,,j,是阈值;,w,j0,=-,j,;,x,
20、0,=1,;,f,(,.,)是跃阶函数,即,注:可以看出,单输出感知器模型就是人工神经单元,3.1,感知器及算法,感知器学习是有导师学习。感知器的训练算法来源于,Hebb,学习规则,其基本思想是:逐步地将样本集中的样本输入到网络中,根据输出结果和理想输出之间的差别来调整网络中的权矩阵。,设网络的输入向量为,X=,(,x,1,,,x,2,,,,,x,n,),,W=,(,w,ji,)为网络的连接权矩阵,网络的训练样本集为(,X,,,Y,)丨,X,为输入向量,,Y,为,X,对应的输出,下面介绍多输出感知器学习算法,3.1,感知器及算法,多输出感知器学习算法步骤如下:,Step1,设置连接权,W,的初
21、值。对权系数,W=,(,w,ji,)的各个元素置一个较小的随机值。,Step2,输入样本,X=,(,x,1,,,x,2,,,,,x,n,),以及它的期望输出,Y=,(,y,1,,,y,2,,,,,y,n,)。,Step3,计算感知器的实际输出值,Step4,根据实际输出求误差,3.1,感知器及算法,Step5,用误差,e,j,去调整权值,其中,,W,ji,(,n,)是第,n,次调整连接权值;,称为学习效率,且,0,1,,用于调整权值的调整速度。通常,,的取值不能太大,如果,的取值太大,则会影响,W,ji,(,n,)的稳定,,的取值太小则会使,W,ji,(,n,)得收敛速度太慢。当实际输出和期望
22、值,y,相同时,有,W,ji,(,n+1,),=W,ji,(,n,)。,Step6,转到,step2,,一直执行到一切样本均稳定为止。,45,3.1,感知器及算法,注,1,:上述算法涉及循环控制问题,常用的方法有:,(,1,)循环次数控制法。对样本集进执行规定次数的迭代。,(,2,)分阶段迭代次数控制法。设定一个基本的迭代次数,N,,每当训练完成,N,次迭代后,就给出一个中间结果。,(,3,)精度控制法。给定一个精度控制参数,精度度量可选择:,实际输出向量与理想输出向量的对应分量的差的绝对值之和;,实际输出向量与理想输出向量的欧氏距离之和;,“死循环”:网络无法表示样本所代表的问题。,(,4,
23、)综合控制法。将上述三种方法结合起来使用。,46,3.1,感知器及算法,注,2,:由于感知器的激活函数采用的是阈值函数,输出矢量只能取,0,或,1,,所以只能用它来解决简单的分类问题,它不是对所有的问题都适用。,注,3,:当输入矢量中有一个数比其他数都大或小很多时,可能导致收敛速度较慢。,47,3.2 BP,神经网络算法,BP,神经网络,BP,神经网络(,Back Propagation Neural Network,),即误差后向传播神经网络,是一种按误差逆向传播算法训练的多层前馈网络,是目前应用最广泛的网络模型之一。,BP,网络能学习和储存大量输入,-,输出模式的映射关系,而无需事前揭示描
24、述这种映射关系的数学方程。它的学习规则是使用最速下降法,通过后向传播来不断调整网络权值和阈值,使网络的误差平方和最小。,BP,神经网络模型拓扑结构中出了有输入层、输出层外,还至少有一层隐藏层,每一层的神经元输出均传送到下一层,而每层内神经元之间无连接。,48,3.2 BP,神经网络算法,BP,神经元的结构模型与感知器模型类似,如下图:,注:与感知器模型不同的是,,BP,网络的激活函数,f,(,)要求是可微的,所以不能用二值函数,常用,S,型的对数、正切函数或线性函数。,49,3.2 BP,神经网络算法,BP,算法,BP,算法由数据流的正向传播和误差信号的反向传播两个过程构成。,1,)正向传播,
25、设,BP,网络的输入层有,n,个节点,隐藏层有,q,个节点,输出层有,m,个节点,输入层与隐藏层之间的权值为,v,ki,,隐藏层与输出层的权值为,w,jk,,隐藏层的激活函数为,f,1,(,),输出层的激活函数为,f,2,(,),则隐藏层节点的输出为,3.2 BP,神经网络算法,输出层节点的输出为:,至此,,BP,网络完成了,n,维空间向量对,m,维空间的近似映射。,51,3.2 BP,神经网络算法,2,)反向传播,BP,算法的实质是求取误差函数的最小值问题,这种算法采用的是非线性规划中的最速下降法,按误差函数的负梯度方向修改权值。,设训练样本总数为,P,,用,X,1,,,X,2,,,.,,,
26、X,p,来表示。第,P,个样本输入所得到实际输出和理想输出分别记为,采用理想输出和实际输出值差的平方和为误差函数,于是得到第,P,个样本的误差:,52,3.2 BP,神经网络算法,则,P,个样本的总误差为:,网络误差是各层权值的函数,按照最速下降法,可得,输出层各神经元的权值和第,n,次输出层权值的迭代公式分别为:,53,3.2 BP,神经网络算法,隐藏层各神经元的权值和第,n,次隐藏层权值的迭代公式分别为:,求解的过程,54,3.2 BP,神经网络算法,BP,网络学习算法的具体步骤如下:,Step1,从训练样本集中取某一样本,把它的输入信息输入到网络中。,Step2,由网络正向计算出各层节点
27、的输出。,Step3,计算网络的实际输出和期望输出的误差。,Step4,从输出层开始反向计算到第一个隐藏层,按一定的原则向减少误差方向调整整个网络的各个连接权值。,Step5,对训练样本集中的每一个样本重复上述步骤,直到对整个网络训练样本集的误差达到要求为止。,55,3.2 BP,神经网络算法,设三层,BP,网络,则其算法可描述为:,A,初始化连接权值,v,ki,和,w,jk,;,B,初始化精度控制系数,;,C E=,+1,;,E while E,do,E.1 E=0,E.2,对,S,中的每一个样本(,X,p,,,Y,p,),E.2.1,计算出,X,p,,对应的实际输出,o,p,;,E.2.2
28、,计算出,E,p,;,E.2.3 E=E+,E,p,;,E.2.4,根据 调整输出层的权值,w,jk,(,n,);,E.2.4,根据 调整输出层的权值,v,k,i,(,n,);,E.3 E=E/2.0,56,3.2 BP,神经网络算法,BP,网络的优点:,1),非线性映射能力,:,BP,神经网络实质上实现了一个从输入到输出的映射功能,数学理论证明三层的神经网络就能够以任意精度逼近任何非线性连续函数。,2),自学习和自适应能力,:,BP,神经网络在训练时,能够通过学习自动提取输出、输出数据间的“合理规则”,并自适应的将学习内容记忆于网络的权值中。,3),泛化能力,:所谓泛化能力是指在设计模式分类
29、器时,即要考虑网络在保证对所需分类对象进行正确分类,还要关心网络在经过训练后,能否对未见过的模式或有噪声污染的模式,进行正确的分类。,4),容错能力,:,BP,神经网络在其局部的或者部分的神经元受到破坏后对全局的训练结果不会造成很大的影响,也就是说即使系统在受到局部损伤时还是可以正常工作的。,57,3.2 BP,神经网络算法,BP,网络的缺点:,1),局部极小化问题:,BP,神经网络为一种局部搜索的优化方法,它要解决的是一个复杂非线性化问题,这样会使算法陷入局部极值,权值收敛到局部极小点,2)BP,神经网络算法的收敛速度慢:,由于,BP,神经网络算法本质上为梯度下降法,它所要优化的目标函数是非
30、常复杂的,这使得,BP,算法低效;,3)BP,神经网络结构选择不一:,BP,神经网络结构的选择至今尚无一种统一而完整的理论指导,一般只能由经验选定。,4,),BP,神经网络样本依赖性问题:,网络模型的逼近和推广能力与学习样本的典型性密切相关,而从问题中选取典型样本实例组成训练集是一个很困难的问题。,四,、,BP,神经网络的应用举例,(matlab,实现,),58,59,四、,神经网络的应用,(matlab,实现,),例一:,输入向量,P=0 1 2 3 4 5 6 7 8 9 10;,期望输出,T=0 1 2 3 4 3 2 1 2 3 4;,创建两层的,BP,网络,net=newff,(,0
31、 10,5,1,tansig,purelin,);,Y=sim(net,P);,plot(P,T,P,Y,o),输出结果为:,Y,=-2.3431 -2.7532 -2.4510 -1.2784 -0.8590 -0.2981,0.2495 0.4811 1.0375 1.2268,1.4232,60,四、,神经网络的应用,(matlab,实现,),误差很大!未训练,非线性映射能力差。,61,四、,神经网络的应用,(matlab,实现,),P=0 1 2 3 4 5 6 7 8 9 10;,T=0 1 2 3 4 3 2 1 2 3 4;,net=newff(0 10,5 1,tansig p
32、urelin);,net.trainparam.show=50;,%,每次循环,50,次,net.trainParam.epochs=500;,%,最大循环,500,次,net.trainparam.goal=0.01;,%,期望目标误差最小值,net=train(net,P,T);,%,对网络进行反复训练,Y=sim(net,P),plot(P,T,P,Y,o),修改程序:,62,四、,神经网络的应用,(matlab,实现,),输出结果为:,Y,=0.0005 1.0026 1.9947 3.0134 3.9429,3.1211,1.8482 1.1755 1.8568 3.1150,3.9
33、595,63,四、,神经网络的应用,(matlab,实现,),例二:,下表为某药品的销售情况,现构建一个如下的三层,BP,神经网络对药品的销售进行预测:,输入层有三个结点,隐含层结点数为,5,,隐含层的激活函数为,tansig,;输出层结点数为,1,个,输出层的激活函数为,logsig,,,并利用此网络对药品的销售量进行预测,预测方法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用,1,、,2,、,3,月的销售量为输入预测第,4,个月的销售量,用,2,、,3,、,4,月的销售量为输入预测第,5,个月的销售量,.,如此反复直至满足预测精度要求为止。,月份,1,2,3,4,5,6
34、,销量,2056,2395,2600,2298,1634,1600,月份,7,8,9,10,11,12,销量,1873,1478,1900,1500,2046,1556,64,四、,神经网络的应用,(matlab,实现,),P=0.51520.8173 1.0000;,0.81731.0000 0.7308;,1.00000.7308 0.1390;,0.73080.1390 0.1087;,0.13900.1087 0.3520;,0.10870.3520 0.0000;,T=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761;,%,以第四个月的销售量归一化处
35、理后作为目标向量,net=newff(0 1;0 1;0 1,5,1,tansig,logsig,traingd);,net.trainParam.epochs=15000;,net.trainParam.goal=0.01;,net=train(net,P,T);,Y=sim(net,P),plot(P,T,P,Y,o),%,以每三个月的销售量经归一化处理后作为输入,P,max,=2600,P,min,=1478,P=(P,0,-P,min,)/(P,max,-P,min,),65,四、,神经网络的应用,(matlab,实现,),66,四、,神经网络的应用,(matlab,实现,),Thank you!,