神经网络在数学建模竞赛中的应用

神经网络在数学建模竞赛中的应用
神经网络在数学建模竞赛中的应用

第1章引言

1.1 人工神经网络的介绍

人工神经网络(Artificial Neural Networks, ANN),亦称为神经网络(Neural Networks,NN),是由大量的处理单元(神经元Neurons)广泛互联而成的网络,是对大脑的抽象、简化和模拟,反映人脑的基本特性.人工神经网络的研究是从人脑的生理结构出发来研究人的智能行为,模拟人脑信息处理的功能.它是根植于神经科学、数学、物理学、计算机科学及工程等科学的一种技术.

人工神经网络是由简单的处理单元所组成的大量并行分布的处理机,这种处理机具有储存和应用经念知识的自然特性,它与人脑的相似之处概括两个方面:一是通过学习过程利用神经网络从外部环境中获取知识;二是内部神经元(突触权值)用来存储获取的知识信息.

人工神经网络具有四个基本特征:

(1)非线性非线性关系是自然界的普遍特性.大脑的智慧就是一种非线性现象.人工神经元处于激活或抑制二种不同的状态,这种行为在数学上表现为一种非线性关系.具有阈值的神经元构成的网络具有更好的性能,可以提高容错性和存储容量.

(2)非局限性一个神经网络通常由多个神经元广泛连接而成.一个系统的整体行为不仅取决于单个神经元的特征,而且可能主要由单元之间的相互作用、相互连接所决定.通过单元之间的大量连接模拟大脑的非局限性.联想记忆是非局限性的典型例子.

(3)非常定性人工神经网络具有自适应、自组织、自学习能力.神经网络不但处理的信息可以有各种变化,而且在处理信息的同时,非线性动力系统本身也在不断变化.经常采用迭代过程描写动力系统的演化过程.

(4)非凸性一个系统的演化方向,在一定条件下将取决于某个特定的状态函数.例如能量函数,它的极值相应于系统比较稳定的状态.非凸性是指这种函数有多个极值,故系统具有多个较稳定的平衡态,这将导致系统演化的多样性.

人工神经网络是近年来的热点研究领域,涉及到电子科学技术、信息与通讯工程、计算机科学与技术、电器工程、控制科学与技术等诸多学科,其应用领域包括:建模、时间序列分析、模式识别和控制等,并在不断的拓展.本文正是居于数学建模的神经网路应用.

1.2人工神经网络发展历史

20世纪40年代中期期,在科学发展史上出现了模拟电子计算机和数字电子计算机两种新的计算工具和一种描述神经网络工作的数学模型.由于电子技术(特别是大规模、超大规模集成电路)的发展,使数字电子计算机作为高科技计算工具已发展到当今盛世地步,而人工神经网络模拟仿真生物神经网络的探索则经历了半个世纪的曲折发展道路.

1.2.1 兴起阶段

1943年心理学家W.S.McCulloch和数学家Pitts首先以数理逻辑的方法研究用人工神经网络模拟、仿真和近似生物神经网络的探索,并提出M—P神经元模型.1949年D.O.Hebb从心理学的角度提出了至今仍对神经网络理论有着重要影响的Hebb学习法则.50年代末到60年代初,神经网络系统已开始作为人工智能的一条途径而受到人们的重视.1961年E.Rosenblatt提出了著名的感知机(Perceptron)模型.这个模型由简单的阀值性神经元构成,初步具备了诸如学习性、并行处理、分布存贮等神经网络的一些基本特征,从而确立了从系统角度进行人工神经网络研究的基础.

1962年Widrow提出了主要适用于自适应系统的自适应线性元件(Adaline)网络.神经网络的研究进入了一个高潮.

1.2.2 萧条阶段

在整个70年代中,对神经网络理论的研究进展缓慢,原因主要来自于科技界漫不经心的对待和数字计算机飞速发展的冲突,但并没有完全停顿下来.世界上一些对神经网络抱有坚定信心和严肃科学态度的学者们,没有放弃他们的努力.在这期间,Grossberg提出了自适应共振理论(ART);芬兰学者Kohono提出了自组织映射理论(SOM);日本的福岛邦彦提出了认知机(Cognitron)模型,随后又提出了改进至新认知机(Neocognitron)模型;另一位日本学者中野馨提出了联想记忆模型一联想机(Associatron);东京大学的甘利俊一博土则一直致力于数学理论解释神经网络.

70年代末期以来,复杂行为系统理论(如耗散结构、协同学、混吨)的出现,人们认识到人工智能、联想记忆学习算法、信息优化组合处理及杉式识别的重要性,极大地推动了人工神经网络的发展.

1.2.3兴盛阶段

进入80年代,特别是80年代末期,神经网络的研究从复兴很快转入了新的热网.主要原因来自两个方面:一方面经过十几年迅速发展起来的以逻辑符号处理为主的人工智能理论和Von Neumann计算机在处理诸如视觉、听觉、形象思维、联想记忆等智能信息处理问题上受到了挫折;另一方面,80年代并行分布处理模式的神经网络本身的研究成果,使人们看到了新的希望.这一时期首先要提到的是美国加州理工学院的物理学家Hopfield的开拓性工作.1982年他提出了一个新的神经网络模型——Hopfield网络模型,并首次引入了网络能量函数概念,使网络稳定性研究有了明确的判据.尤其是1986年R Mmel—hart和McCelland及其研究小组提出的误差逆传播学习算法,成为至今影响最大的一种网络学习方法.

到90年代以后,人工神经网络从理论研究到软件开发、软件实现、各个学科领域广泛应用与相互渗透等诸多方面取得了全面的发展.有关神经网络的国际学术组织纷纷成立,学术会议纷纷召开,学术刊物纷纷创刊.神经网络理论已涉及到了神经生理科学、认识科学、数理科学、心理学、信息科学、计算机科学、微电子学、光学、生物电子学等众多学科,是一门新兴的、综合性的前沿学科.针对不同应用目的的软件开发全面展开,网络计算机的硬件实现方面也取得了一些实实在在的成绩.神经网络的应用,已渗透到模式识别、图像处理、非线性优化、语音处理、自然语言理解、自动目标识别、机器人、专家系统等各个领域,并取得了令人瞩目的成果.

总之,以Hopfield教授1982年发表的论文为标志,掀起了神经网络的研究热

潮.1987年6月,在美国加州举行了第一届NN国际会议,有一千多名学者参加,并成立了国际NN学会,以后每年召开两次国际联合NN大会(IJCNN),其他国际学术会议也都列有NN主题.

较有影响的国际刊物有:《IEEE Transaction on Neural Network》和《Neural Network》.

美国IBM、AT&T、贝尔实验室、神经计算机公司、各高校、美国政府制定了“神经、信息、行为科学(NIBS)”计划,投资5.5亿美元作为第六代计算机的研究基础;美国科学基金会、海军研究局和空军科学研究部三家投资一千万美元;美国国防部DARPA认为NN“看来是解决机器智能的唯一希望”“这是一项比原子弹工程更重要的计术”投资四亿美元.主要研究目标:目标识别与追踪、连续语音识别,声纳信号辨别.

日本的富士通、日本电气、日立、三菱、东芝急起直追.1988年日本提出了所谓的人类尖端科学计划(Human Frontier Science Program),即第六代计算机研究计划.法国提出了“尤里卡”计划,还有德国的“欧洲防御”和前苏联的“高技术发展”等等.

我国于1989年在北京召开了一个非正式的NN会议;1990年12月在北京召开了中国NN大会;1991年在南京成立中国NN学会,由国内十五个一级学会共同发起“携手探智能,联盟攻大关”的863高技术研究计划;自然科学基金、国防科技预研究基金也都列入了NN研究内容.

1.3 人工神经网络

1.3.1生物神经元模型

在人类大脑皮层中大约有100亿个神经元,60万亿个神经突触以及他们的联接体.单个神经元处理一个事件需要3

10-秒.但人脑是

10-秒,而在硅芯片中处理一事件只需9

一个非常高效的结构,大脑中每秒钟每个动作的能量约为16

10-焦耳.

神经元是基本的信息处理单元.生物神经元主要由树突、轴突和突触组成.其结构示意如如图1-1所示.

其中树突是由细胞体向外伸出的,有不规则的表面和许多较短的分支.树突

图1-1 生物神经元模型

相当于信号的输入端,用于接收神经冲动.轴突由细胞体向外伸出的最长的一条分支,即神经纤维.相当于信号的输出电缆,其端部的许多神经末梢为信号输出端子,用于传

出神经冲动.神经元之间通过轴突(输出)和树突(输入)相互联接,其接口称为突触.每个细胞约有104~103个突触.神经突触是调整神经元之间相互作用的基本结构和功能单元,最通常的一种神经突触是化学神经突触,它将得到的电信号化成化学信号,再将化学信号转化成电信号输出.这相当于双接口设备.它能加强兴奋或抑制作用,但两者不能同时发生.细胞膜内外有电位差,越位mv 100~20,称为膜电位.膜外为正,莫内为负.

神经元作为信息处理的基本单元,具有如下重要的功能.

1)可塑性:可塑性反映在新突触的产生和现有的神经突触的调整上, 可塑性使适应周围的环境.

2)时空整合功能:时间整合功能表现在不同时间、同一突触上;空间整合功能表现在同一时间、不同突触上.

3)兴奋与抑制状态:当传入冲动的时空整合结果,使细胞膜电位升高,超过被称为动作电位的阀值(约为40mv ),细胞进入兴奋状态,产生神经冲动,由突触输出;同样,当膜电位低于阀值时,无神经冲动输出,细胞进入抑制状态.

4)脉冲与电位转换:沿神经纤维传递的电脉冲为等幅、恒宽、编码)100~60(mv 的离散脉冲信号,而细胞电位变化为连续信号.在突触接口处进行“数/模”转换.神经元中的轴突非长和窄,具有电阻高、电压大的特性,因此轴突可以建模成阻容传播电路.

5)突触的延时和不应期:突触对神经冲动的传递具有延时和不应期,在相邻的二次冲动之间需要一个时间间隔.在此期间对激励不响应,不能传递神经冲动.

6)学习、遗忘和疲劳:突触的传递作用有学习、遗忘和疲劳的过程.

1.3.2 人工神经网络的模型

人工神经网络是由大量处理单元广泛互连而成的网络,是人脑的抽象、简化、模拟,反映人脑的基本特性.一般神经元模型应该具备三个要素:

(1)具有一组突触或联接,常用ij w 表示神经元i 和神经元j 之间的联系强度,或称之为权值.与人脑神经元不同,人工神经元权值的取值可在负值与正值之间.

(2)具有反映生物神经元时空整合功能的输入信号累加器.

(3)具有激励函数用于限制神经元输出.激励函数将输出信号压缩(限制)在一个允许范围内,使其成为有限值,通常,神经元输出的扩充范围在]1,0[或]1,1[-闭区间.

一个典型的人工神经元模型如图1-2所示.

图1-2 人工神经元模型

其中),2,1(N j x j =为神经元i 的输入信号,ij w 为突触强度或联接权.i u 是由输入信号线性组合后的输出,是神经元i 的净收入.i θ为神经元的阀值或称为偏差用i b 表示,i

v

为经偏差调整后的值,也称为神经元的局部感应区.

∑=j

j ij i x w u (1-1)

i i i b u v += (1-2)

)(?f 是激励函数,i y 是神经元i 的输出.

???

?

??+=∑j j j

ij i b x w f y (1-3) 激励函数)(?f 可取不同的函数,但常用的基本激励函数有以下三种: (1)阀值函数(Threshold Function )

???<≥=000

,1)(v v v f 若,若 (1-4)

该函数通常也称为阶跃函数,常用)(t u 表示,如图1-3a 所示.若激励函数采用阶跃

函数,则图1-2所示的人工神经元模型即为著名的MP (McCulloch-Pitts )模型.此时神经元的输出取1或0,反映了神经元的兴奋或抑制.

此外,符号函数)(t Sgn 也常常作为神经元的激励函数,如图1-3b 所示.

??

?<-≥0

,

10,

1)(i i i v v v Sgn 若若 (1-5)

图1-3 b 阀值函数

(2)分段线性函数(Piecewise-Linear Function )

???

??-≤-->>++≥=1,111,1,

1)(v v v v v f (1-6)

该函数在[-1,+1]线性区内的放大系数是一致的,如图1-4所示,这种形式的激励函

数可看作是非线性放大器的近似,以下是两种情况是分段线性函数的特殊形式:

图1-4 分段线性函数

1)若在执行中保持线性区域而使其不进入饱和状态,则会产生线性组合器. 2)若线性区域的放大倍数无限大,则分段线性函数简化为阀值函数. (3)Sigmoid 函数

Sigmoid 函数也称s 函数.到目前为止,它是人工神经网络中最常用的激励函数.s 型函数的定义如下:

)

e x p (11

)(av v f -+= (1-7)

其中a 为Sigmoid 函数的斜率参数,通过改变参数a ,我们会获取不同斜率的Sigmoid 函数,如图1-5所示.

00.10.20.30.40.50.60.70.80.91

图1-5 Sigmoid 函数

但斜率参数接近无穷大时,此函数转化为简单的阀值函数,但Sigmoid 函数对应0

到1一个连续区域,而阀函数对应的只是0和1亮点,此外Sigmoid 函数是可微的,而阀值函数是不可微的.

Sigmoid 函数也可用双曲正切函数来表示,如图1-6所示.

)tanh(

)(v v f = (1-8) -1-0.5

0.5

1

v

tanh(v )

图1-6 双曲正切函数

由式(1-8)定义的Sigmoid 类型激励函数所得到的负责具有分析价值.

1.4人工神经网络的分类及学习规则

前面介绍人工神经元模型,将大量的神经元进行连接可构成人工神经网络.神经网络中神经元的联结方式与用于训练网络的学习算法是紧密结合的,可以认为应用于神经网络设计中的学习算法是被结构化了的.

1.4.1人工神经网络的分类

本文将网络结构和学习算法相结合,对人工神经网络进行分类.

1.单层前向网络

所谓单层前向网络是指拥有的计算节点(神经元)是“单层”的,如图1-7所示.这里原节点个数的“输入层”看作一层神经元,因为该“输入层”不具有执行计算的功能.后面介绍的单层感知器属于单层前向网络.

2.多层前向网络

多层前向网络和单层前向网络的区别在于:多层前向网络含有一个或多个的

隐含层,其中计算节点被相应地称为隐含神经元或隐含单元,如图1-8所示.

图1-8所示的多层前向网络由含有10个神经元输入层、含有4个神经元隐含层和2个神经元输出层所组成.

网络输入层中的每个源节点的激励模式(输入向量)单元组成了应用于第二层(如第一隐层)中神经元(计算节点)的输入信号,第二层输出信号成为第三层的输入,其余层类似.网络每一层的神经元只含有作为它们输入前一层的输出信号,网络输出层(终止层)神经元的输出信号组成了对网络中输入层(起始层)源节点产生的激励模式的全部响应.即信号从输入层输入,经隐含层传给输出层,由输出层得到输出信号.

图1-7 单层前向网络

源节点输入层

神经元隐含层神经元输出层

图1-8 多层前向网络

通过加入一个或更多的隐层,使网络能提取出更高的统计,尤其当输入层规模庞大时,隐神经元提取高序统计数据的能力便显得格外重要.

后面我们介绍的多层感知器属于多层前向网络.

3.反馈网络

所谓反馈网络是指在网络中至少含有一个反馈回路的神经网络.反馈网络可以包含一个单层神经元,其中每个神经元将自身的输出信号反馈给其他所以神经元的输入,如图1-9所示,图中所示的网络即为著名的Hopfied网络.图1-10所示的是另一类型的含有隐层的反馈网络,图中的反馈联结起始于隐神经元和输出神经元.图1-9和图1-10所示的网络结构中没有自反馈回路.自反馈是指一个神经元的输出反馈至其输入,含有自反馈的网络也属于反馈网络.

图1-9 无自反馈和隐含层的反馈网络

图1-10 含有隐含层的反馈网络

此外,常见的人工神经网络该有竞争神经网络和随机神经网络,在这里就不详加探讨.

1.4.2 神经网络的学习

神经网络的学习也称为训练,它是通过向环境学习而获取知识并改进自身性能,是NN的一个重要特点.一般情况下,性能的改善是按某种预定的度量通过调节自身参数(如权值)逐步达到的,学习方式(按环境所提供信息的多少分)有三种.

(1)监督学习(有教师学习)

这种学习方式需要外界存在一个“教师”,他可对一组给定输入提供应有的输出结果(正确答案).这组已知的输入—输出数据称为训练样本集.学习系统(NN)可根据已

知的输出与实际输出之间的差值(误差信号)来调节系统参数.(如图1-11)所示

.

描述环境状态

图1-11 监督学习框图

(2) 非监督学习(无教师学习) 非监督学习时不存在外部教师,学习系统完全按照环境所提供数据的某些统计规律来调节自身参数或结构(这是一种自组织过程),一表示外部输入的某种固有特征(如聚类,或某种统计上的分布特征).如图1-12所示.

状态图1-12 非监督学习框图

(3) 再励学习(或强化学习)

这种学习介于上述两种情况之间,外部环境对系统输出结果只给出评价(奖或罚)而不给出正确答案,学习系统通过强化那些受奖励的动作来改善自身特性.

图1-13 再励学习框图

下面介绍基本的神经网络学习算法. 1. 纠错学习

首先我们考虑一个简单的情况在:设某神经网络的输出层只有一个神经元i ,给该神经网格上输入,这样就产生输出)(n y i ,称该输出为实际输出.对于所加上的输入,我们期望该神经网络的输出)(n d ,称为期望输出或目标输出.实际输出与期望输出之间存在着误差,用)(n e 表示.

)()()(n y n d n e i -= (1-9) 现在要调整突触权值,使误差信号)(n e 减少.为此,可设定代价函数或性能指数)(n E :

)(2

1

)(2n e n E = (1-10)

反复调整突触权值使代价函数达到最小或使系统达到一个稳定状态(即突触权值稳定),就完成了学习过程.

该学习过程称为纠错学习,也称为Delta 规则或者Windrow —Hoff 规则. ij w 表示神经元j x 到i x 的突触权值,在学习步骤为n 时对突触权值的调整为 )()()(n x n e n w j ij η=? (1-11)

η为学习速率参数.式(1-11)表明:对神经元突触权值的调整与突触信号和输入信号成

正比例.纠错学习实际上是局部的,Delta 规则所规定的突触调整局限于神经元i 的周围.

得到)(n w ij ?之后,定义突触权值ij w 的校正值为

)()()1(n w n w n w ij ij ij ?+=+ (1-12)

)(n w ij 和)1(+n w ij 可以分别看做突触权值ij w 的旧值和新值.

2. Hebb 学习

神经心里学家Hebb 提出学习规则可归结为“当某一突触(连接)两端的神经元的激活同步(同为激活或同为抑制)时,该连接的强度应增强,反之应减弱”.用数学方式可描述为

))(),(()(n x n y F n w j i ij =? (1-13) 式中)(n y i ,)(n x j 分别为)(n w ij 两端的神经元的状态,其中最常用的一种情况为

)()()(n x n y n w j i ij η=? (1-14) 由于w ?与)(n y i ,)(n x j 的相关成比例,有时称之为相关学习规则.

3. 竞争学习

顾名思义,在竞争中学习时网络各输出单元相互竞争,最后达到只有一个最强者激活.最常见的一种情况是输出神经元之间有侧向抑制性连接,这样众多输出单元中如有某一单元较强,则它将获胜并抑制其他单元,最后只有比较强者处于激活状态.最常用的竞争学习规则可写为

???-=?竞争失败若神经元,

竞争获胜若神经元

j w x n w ji j ij 0j ,)()(η (1-15)

此外,还有两个基本的神经网络学习规则,即基于记忆的学习和随机学习算法.在此不详加讨论.

第二章 三种神经网络模型及其MATLB 仿真算法

2.1 单层前向网络模型及其仿真算法

2.1.1 感知器的概念

感知器(Perceptron )是美国心理学家Rosenblatt 于1957年提出来的,它是最基本的但具有学习功能的层状网络(Layed Network ).最初的感知器由三层组成,即S (Sensory )层、A (Association )层和R (Response )层,如图3-1所示.S 层和A 层之间的耦合是固定的,只有A 层和R 层之间的耦合程度(即权值)可通过学习改变.若在感知器的A 层和R 层加上一层或多层隐单元,则构成的多层感知器具有很强的处理功能,假如感知器隐层的节点可根据需要自由设置,那么用三层(不包括S 层)的阈值网络可以实现任意的二值逻辑函数.

应注意,感知器学习方法在函数不是线性可分时得不出任何结果,另外也不能推广到一般前向网络中去.其主要原因是转移函数为阈值函数,为此,人们用可微函数如Sigmoid 函数来代替阈值函数,然后采用梯度算法来修正权值.BP 网络就是采用这种算法的典型网络.

1

x 2

x n

x 1

y n

y

2-1

1

x 2

x y

图2-2

2.1.2 单层感知器

单层感知器是指包含一个突触权值可调的神经元的感知器模型,它的训练算法是Rosenblatt 在1958年提出来的.感知器是神经网络用来进行模式识别的一种最简单模型,但是由单个神经元组成的单层感知器只能用来实现线性可分的两类模式的识别.

单层感知器模型如图1-2所示,它包括一个线性累加器和一个二值阀值元件,同时还有一个外部偏差θ.当二值阀值元件的输入是正数,神经元就输出+1,反之其输入是负数,则产生输出-1.即

?

??

?

??+=∑=N j j ij x w Sgn y 1θ (2-1) ????

??

?

??

?

??+-≥???? ??++=∑∑==0,10,111N j j ij N j j ij x w x w y θθ若若 (2-2) 2.1.3 单层感知器神经网络的学习

感知器权值的学习是通过给定的教师信号(即希望的输出)按δ学习规则,即式

(2-3)进行的:

x k y k y k w k w d )]()([)()1(-+=+η (2-3)

式中,)(k w 为当前的权值矩阵;)(k y d 为教师信号;η为控制权值修正速度的常数)10(≤<η;)(k y 为感知器的输出值;即

))(()(0i n

i i x k w f k y ∑== (2-4)

由于感知器一般用于线性可分样本的分类,激发函数选为阈值型函数,因而当式(2-1-4)中的θ==00,1x w 时,该式可写成

))(())(()(2

1

1

θ+==∑∑==i i i i n

i i x k w f x k w f k y

??

?≤>==0

1

)(net net net f (2-5) 权值的初值一般取较小的非零随机数.

2.2 线性神经网络

线性神经网络同感知器相似,是最简单的一种神经元络,同感知器不同的是,在MATLAB 中,线性神经网络输出的激发函数为线性函数purelin ,而感知器模型的激发函数为符号函数hardlim ,因此感知器模型中只可取0或者1,而线性神经网络输出的数值可以是任意数值,这一点也决定了线性神经网络同感知器应用范围的不同.本节将简单介绍线性神经网络的原理,通过实例演示MATLAB 神经网络工具箱线性神经网络涉及函数,并讲解线性神经网络的应用.

2.2.1 线性神经网络原理

性神经网络由多个线性神经元模型构成,单个线性神经元模型的结构可以参考图2-3.线性网格的激发函数为线性purelin 函数,其输出可以为任意值.

1x 2

x 3

x R

x ∑∑+==R

i

k ik b x W k 1)

()(b Wx purelin n f y i i +==

图2-3 单线性神经元模型结构

当输入向量为的个数为N ,单线性神经元同样由输入系数1i w 和阀值i b .当感知器神

经元模型中包含多个神经元时,只需要将多个线性神经元串联,并形成网格拓扑机构,

同时对应于n 个神经元输出,那么第i 个神经元的输出为

∑=+=N

k i

k ik i b x w n 1 (2-6)

感知器的输出函数由线性传递函数使用purelin 函数实现.第i 个神经元经过线性传递函数后的输出为

)()(b W x purelin n f y i i +== (2-7)

在MATLAB 命令窗口输入: x=-5:0.01:5; y=purelin(x);

plot(x,y)

运行程序后得到线性神经元purelin 函数曲线如图2-4所示.

图2-4 线性神经元purelin 函数曲线

2.2.2 线性神经网络相关的MATLAB 函数

MATLAB 神经网络工具箱提供了一系列函数进行线性神经网络的设计和分析,下面主要分别介绍线性神经网络构建函数newlin 、线性神经网络设计函数newlind.

1. 线性神经网络构建函数newlin newlin 函数的调用格式如下: net=nelin(PR,S,ID,LR)

其中,PR 为2R ?的输入向量最大最小值构成的矩阵,S 为输出向量的个数,ID 为输入延迟向量,LP 为学习速率,学习速率可以使用maxlinlr 函数进行计算,通过学习速率越大,网络训练时间越短,但同时也导致学习过程不稳定.如果P 为训练样本数据,那么maxlinlr (P )返回一个不带阀值的线性层所需要的最大学习率,而maxlinlr (P ,‘bias')返回一个带阀值的线性层所需要的最大学习率. 2. 线性层设计函数newlind 函数 在MATLAB 神经网路工具箱中,还可以使用newlind 设计一个线性层,其调用格式如下:

net=newlind(P,T,Pi)

其中P 、T 分别是训练样本的输入矩阵和目标输出向量,Pi 是初始输入延时cell 向量.

2.3 多层前向神经网络模型及BP 学习算法

前面我们介绍了单层感知器,它的缺点是只能解决线性可分问题,要增强网络的分类能力唯一的方法是采用多层网络,即在输入与输出之间加上隐含层,从而构成多层感知器(Multilayer Perceptrons ,MLP ).这种由输入层、隐含层(一层或者多层)和输出层构成的神经网络称为多层前向神经网络.

本节将介绍两个常见的多层前向网络:多层感知器和径向基函数神经网络,详细介绍多层感知器的学习算法——著名的误差反向传播算法(BP 算法)及其改进算法.

BP 算法训练的神经网络,称之为BP 神经网络.在人工神经网络的实际应用中,BP 网络广泛应用于函数逼近、模式识别/分类、数据压缩等,%90~%80的人工神经网络模型采用BP 网络或它的变化形式,它也是前馈网络的核心部分,体现了人工神经网络最精华的部分.所以,本节也会重点探讨BP 神经网络的应用.

2.3.1 多层感知器

多层感知器是单层感知器的推广,但是它能够解决单层感知器所不能解决的非线性可分问题.多层感知器由输入层、隐含层和输出层组成,其中隐含层可以是一层或多层.其拓扑结构如图2-5所示

.

输入层

隐层输出层

图2-5 多层感知器模型

输入层神经元的个数为输入信号的维数,隐含层个数以及隐节点的个数视具体情况而定,输出神经元的个数为输出信号的维数.

多层感知器同单层感知器比具有四个明显的特点:

(1)除了输入输出层,多层感知器含有一层或者多层隐单元,隐单元从输入模式中

提取更多有用的信息,使网络可以完成更复杂的任务.

(2)多层感知器中每个神经元的激励函数是可微的Sigmoid 函数,如

)

e x p (11

i i u v -+=

(2-8)

式中i u 是第i 个神经元的输入信号,i v 是该神经元的输出信号.

(3)多层感知器具有独特的多个突触使得网络更具有连通性,联接域的变化或权

值的变化都会引起连通性的变化.

(4)多层感知器具有独特的学习算法(BP 算法),所以多层感知器也常常称之为BP 网络.

多层感知器的这些特点,使它具有强大的计算能力.多层感知器是目前应用最广泛的一种神经网络.

2.3.2 BP 学习算法

20世纪80年代中期,美国加利福尼亚的PDP (parallel distributed procession )小组于1986年发表了Parallel Distributed Procession 一书,该书的出版对BP 算法产生了重要的影响.BP 算法解决了多层感知器的学习问题,促进了神经网络的发展.

1. BP 学习过程的描述

(1)工作信号的传播:输入信号从输入层经隐单元,传向输出层,在传出端产生输出信号,这是工作信号的正向传播.在信号的向前传递过程中网络的权值是固定不变的,每一层神经元的状态只影响下一层神经元的状态.如果在输出层不能得到期望的输出,则输入误差信号反向传播.

(2)误差信号反向传播:网络的实际输出与期望输出之间的差值即为误差信号,误差信号由输出端开始逐层向前传播,这是误差信号是反向传播.在传播的过程中,网络的权值由误差反馈进行调节.通过权值的不断修正使网络的实际输出更接近期望输出.

工作信号

误差信号

图2-6 工作信号正向传播,误差信号反向传播

图2-6为多层感知器的一部分,其中有两种信号:一是工作信号,工作信号正向传播;二是误差信号,误差信号反向传播.

下面以含有两个隐层的BP 网络为例,如图2-7所示,具体推导BP 算法.

1x 2

x m x M

x 1

y 2

y p

y yp

)

,,2,1(I i =)

,,2,1(J j =

图2-7 含有二个隐含层的BP 网络

设输入层位M ,即有M 个输入信号,其中的任一输入信号用m 表示:第1隐层为I ,即有I 个神经元,其中的任何一个神经元用i 表示;第二层为J ,即有J 个神经元,其中任一神经元用j 表示,输出层为p ,即有p 个输出神经元,其中任一神经元用p 表示.

输入层与第一隐层的突触权值用mi w 表示;第1隐层与第2隐层的突触权值用ij w 表示;第2隐层与输出层用的突触权值用jp w 表示.

神经元的输入用u 表示,激励输出用v 表示,u ,v 的上标表示层,下标表示层中的某个神经元,如I i u A 表示I 层(即第1层)的第i 个神经元输入.设所有的神经元的激励函数均用Sigmoid 函数.设训练样本集为[]N k X X X X X ,,,,,21 =,对应任一训练样本[]T

kM k k k x x x X ,,,21 =,()N k ,,2,1 =的实际输出为[]

T

p

k k k k y y y Y ,,,21 =,

期望输出为T p k k k k d d d d ],,,[21 =.设n 为迭代次数,权值和实际输出是n 的函数.

网络输入训练样本k X ,由工作信号的正向传播可得:

∑==M

m km mi I i

x w u 1 ???

??=∑=M m km mi I i

x w f v 1 I i ,,2,1 =

??? ??=∑=I i I i ij J

j v w f v 1 J j ,,2,1 =

∑==J j I i ij P p v w u 1 ???

? ??=∑=J j J

j jp P p v w f v 1 P p ,,2,1 = ()

???

? ??===∑=J j J j jp P p P p kp v w f u f v y 1 P p ,,2,1 = 输出层第p 个神经元的误差信号为()()n y n d e kp kp kp -=

定义神经元p 的误差能量为()n e kp 2

2

1,则输出层所有神经元的误差能量总和为()n E : ()()∑==P p kp n e n E 1

2

21 (2-9)

误差信号从后向前传递,在反向传播的过程中,逐层修改联接权值.下面计算误差

信号的反向传播过程:

(1)隐层J 与输出层P 之间的权值修正量.BP 算法中权值的修正量与误差绝对值的偏微分成正比,即:

()()()

n w n E n w jp jp ??∞? 因为

()()()()()()()()()()

n y n u n u n y n y n e n e n E n w n E jp P

p P p kp kp kp kp jp ???????????=?? 又

()()()n e n e n E kp kp =??,()

()1-=??n

y n e kp kp ,()()

()()n u

f n u

n y P p

P

p

kp '=??,()()

()n v n y

n u J j jp

P

p

=??

()()

()()()

()n v n u f n e n w n E J j P

p

kp jp '-=?? 设局部梯度

()()n u n E P

p

P

p ??=

δ (2-10) ()()

()n e n u f kp P

p '=

当激励函数为逻辑函数,即

∞<<∞->-+=

x a ax x f ;0,)

exp(11

)(

从而有

()()

()()

()()()

()()()n y n y n v n v n u n v n u f kp kp P p P p

P p

P

p

P

p

-=-=??=

11' 则

()()()()()n e n y n y n kp kp kp P

p

-=1δ ()()()())()(1n y n d n y n y kp p kp kp --= (2-11) 根据Delta 学习规则,)(n w jp 的修正量为

)

()

()(n w n E n w jp jp ??-=η

(2-12)

)

()

()()(n w n u n u n E jp P

p P p ?????? ????-=η

)()(n v n J j P

p ηδ=

式中,η是学习步长,)(n P

p δ可由式(2-11)求得,)(n v J j 可由正向传播求得.则下一次

的迭代时隐层J 上任一节点与输出层P 上任一节点之间的权值为

)()()1(n w n w n w jp jp jp ?+=+ (2-13)

(2)隐层I 与隐层J 之间的权值修正量:

)()

()()()

()()()()(n v n u n E n w n u n u n E n w n E I

i J

j ij J

j J j

ij ???=

???

??=?? (2-14)

与式(2-14)相类似,局部梯度为

)()

()(n u n E n J j

J j ??-

=δ (2-15)

)()

()()(n u n v n v n E J j

J

j J j ?????-= 因为

))((')

()(n u f n u n v J j J j J j =?? (2-16)

∑==P p kp n e n E 12

)(21)(

)

()()()()

(1n v n e n e n v n E J

j kp P p kp J

j ???=??∑= )()

()()()(1n v n u n u n e n e J j

P

p P p kp P

p kp ??????=∑=

又 ))(()()()()(n u f n d n y n d n e P

p kp kp kp kp -=-=

)()

()

(,

))((')

()(n w n v n u n u f n u n e jp J

j

P p P p

P

p

kp =??-=??

)())((')()()(1

n w n u f n e n v n E jp P

p P

p kp J j ??-=??∑= (2-17)

由式(2-15)和式(2-17)得

)())(('))(('1n w n u f n u f jp P

p P

p J j

J j

?=∑=δ 将式(2-10)代入上式得

)()())(('1n w n n u f jp P

p P

p J j

J

j

?=∑=δδ (2-18)

式中)(n P

p δ可由式(2-11)求得,))(1)(()

()())(('n v n v n u n v n u f J j J j J

j

J j J j -=??=

.)(n w jp 为隐含层

J 与输出层P 任一节点之间的权值,已由式(2-13)求得.

所以

)()()(n v n n w I i I i ij ηδ=? (2-19)

则下一次迭代时,隐层I 上任一节点与隐层J 上任一节点之间的权值为

)()()1(n w n w n w ij ij ij ?+=+ (2-20) (3)与隐层I 和隐层J 之间的权值修正量的推导方法相同,输入层M 上任一节点与

神经网络的应用及其发展

神经网络的应用及其发展 [摘要] 该文介绍了神经网络的发展、优点及其应用和发展动向,着重论述了神经网络目前的几个研究热点,即神经网络与遗传算法、灰色系统、专家系统、模糊控制、小波分析的结合。 [关键词]遗传算法灰色系统专家系统模糊控制小波分析 一、前言 神经网络最早的研究20世纪40年代心理学家Mcculloch和数学家Pitts合作提出的,他们提出的MP模型拉开了神经网络研究的序幕。神经网络的发展大致经过三个阶段:1947~1969年为初期,在这期间科学家们提出了许多神经元模型和学习规则,如MP模型、HEBB学习规则和感知器等;1970~1986年为过渡期,这个期间神经网络研究经过了一个低潮,继续发展。在此期间,科学家们做了大量的工作,如Hopfield教授对网络引入能量函数的概念,给出了网络的稳定性判据,提出了用于联想记忆和优化计算的途径。1984年,Hiton教授提出Boltzman机模型。1986年Kumelhart等人提出误差反向传播神经网络,简称BP 网络。目前,BP网络已成为广泛使用的网络;1987年至今为发展期,在此期间,神经网络受到国际重视,各个国家都展开研究,形成神经网络发展的另一个高潮。神经网络具有以下优点: (1) 具有很强的鲁棒性和容错性,因为信息是分布贮于网络内的神经元中。 (2) 并行处理方法,使得计算快速。 (3) 自学习、自组织、自适应性,使得网络可以处理不确定或不知道的系统。 (4) 可以充分逼近任意复杂的非线性关系。 (5) 具有很强的信息综合能力,能同时处理定量和定性的信息,能很好地协调多种输入信息关系,适用于多信息融合和多媒体技术。 二、神经网络应用现状 神经网络以其独特的结构和处理信息的方法,在许多实际应用领域中取得了显著的成效,主要应用如下: (1) 图像处理。对图像进行边缘监测、图像分割、图像压缩和图像恢复。

人工神经网络原理及实际应用

人工神经网络原理及实际应用 摘要:本文就主要讲述一下神经网络的基本原理,特别是BP神经网络原理,以及它在实际工程中的应用。 关键词:神经网络、BP算法、鲁棒自适应控制、Smith-PID 本世纪初,科学家们就一直探究大脑构筑函数和思维运行机理。特别是近二十年来。对大脑有关的感觉器官的仿生做了不少工作,人脑含有数亿个神经元,并以特殊的复杂形式组成在一起,它能够在“计算"某些问题(如难以用数学描述或非确定性问题等)时,比目前最快的计算机还要快许多倍。大脑的信号传导速度要比电子元件的信号传导要慢百万倍,然而,大脑的信息处理速度比电子元件的处理速度快许多倍,因此科学家推测大脑的信息处理方式和思维方式是非常复杂的,是一个复杂并行信息处理系统。1943年Macullocu和Pitts融合了生物物理学和数学提出了第一个神经元模型。从这以后,人工神经网络经历了发展,停滞,再发展的过程,时至今日发展正走向成熟,在广泛领域得到了令人鼓舞的应用成果。本文就主要讲述一下神经网络的原理,特别是BP神经网络原理,以及它在实际中的应用。 1.神经网络的基本原理 因为人工神经网络是模拟人和动物的神经网络的某种结构和功能的模拟,所以要了解神经网络的工作原理,所以我们首先要了解生物神经元。其结构如下图所示: 从上图可看出生物神经元它包括,细胞体:由细胞核、细胞质与细胞膜组成;

轴突:是从细胞体向外伸出的细长部分,也就是神经纤维。轴突是神经细胞的输出端,通过它向外传出神经冲动;树突:是细胞体向外伸出的许多较短的树枝状分支。它们是细胞的输入端,接受来自其它神经元的冲动;突触:神经元之间相互连接的地方,既是神经末梢与树突相接触的交界面。 对于从同一树突先后传入的神经冲动,以及同一时间从不同树突输入的神经冲动,神经细胞均可加以综合处理,处理的结果可使细胞膜电位升高;当膜电位升高到一阀值(约40mV),细胞进入兴奋状态,产生神经冲动,并由轴突输出神经冲动;当输入的冲动减小,综合处理的结果使膜电位下降,当下降到阀值时。细胞进入抑制状态,此时无神经冲动输出。“兴奋”和“抑制”,神经细胞必呈其一。 突触界面具有脉冲/电位信号转换功能,即类似于D/A转换功能。沿轴突和树突传递的是等幅、恒宽、编码的离散电脉冲信号。细胞中膜电位是连续的模拟量。 神经冲动信号的传导速度在1~150m/s之间,随纤维的粗细,髓鞘的有无而不同。 神经细胞的重要特点是具有学习功能并有遗忘和疲劳效应。总之,随着对生物神经元的深入研究,揭示出神经元不是简单的双稳逻辑元件而是微型生物信息处理机制和控制机。 而神经网络的基本原理也就是对生物神经元进行尽可能的模拟,当然,以目前的理论水平,制造水平,和应用水平,还与人脑神经网络的有着很大的差别,它只是对人脑神经网络有选择的,单一的,简化的构造和性能模拟,从而形成了不同功能的,多种类型的,不同层次的神经网络模型。 2.BP神经网络 目前,再这一基本原理上已发展了几十种神经网络,例如Hopficld模型,Feldmann等的连接型网络模型,Hinton等的玻尔茨曼机模型,以及Rumelhart 等的多层感知机模型和Kohonen的自组织网络模型等等。在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。 这里我们重点的讲述一下BP神经网络。多层感知机神经网络的研究始于50年代,但一直进展不大。直到1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算),实现了Minsky的多层网络设想,其网络模型如下图所示。它可以分为输入层,影层(也叫中间层),和输出层,其中中间层可以是一层,也可以多层,看实际情况而定。

人工神经网络的发展及应用

人工神经网络的发展与应用 神经网络发展 启蒙时期 启蒙时期开始于1980年美国著名心理学家W.James关于人脑结构与功能的研究,结束于1969年Minsky和Pape~发表的《感知器》(Perceptron)一书。早在1943年,心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型(即M—P模型),该模型把神经细胞的动作描述为:1神经元的活动表现为兴奋或抑制的二值变化;2任何兴奋性突触有输入激励后,使神经元兴奋与神经元先前的动作状态无关;3任何抑制性突触有输入激励后,使神经元抑制;4突触的值不随时间改变;5突触从感知输入到传送出一个输出脉冲的延迟时问是0.5ms。可见,M—P模型是用逻辑的数学工具研究客观世界的事件在形式神经网络中的表述。现在来看M—P 模型尽管过于简单,而且其观点也并非完全正确,但是其理论有一定的贡献。因此,M—P模型被认为开创了神经科学理论研究的新时代。1949年,心理学家D.0.Hebb 提出了神经元之间突触联系强度可变的假设,并据此提出神经元的学习规则——Hebb规则,为神经网络的学习算法奠定了基础。1957年,计算机学家FrankRosenblatt提出了一种具有三层网络特性的神经网络结构,称为“感知器”(Perceptron),它是由阈值性神经元组成,试图模拟动物和人脑的感知学习能力,Rosenblatt认为信息被包含在相互连接或联合之中,而不是反映在拓扑结构的表示法中;另外,对于如何存储影响认知和行为的信息问题,他认为,存储的信息在神经网络系统内开始形成新的连接或传递链路后,新 的刺激将会通过这些新建立的链路自动地激活适当的响应部分,而不是要求任何识别或坚定他们的过程。1962年Widrow提出了自适应线性元件(Ada—line),它是连续取值的线性网络,主要用于自适应信号处理和自适应控制。 低潮期 人工智能的创始人之一Minkey和pape~经过数年研究,对以感知器为代表的网络系统的功能及其局限性从数学上做了深入的研究,于1969年出版了很有影响的《Perceptron)一书,该书提出了感知器不可能实现复杂的逻辑函数,这对当时的人工神经网络研究产生了极大的负面影响,从而使神经网络研究处于低潮时期。引起低潮的更重要的原因是:20世纪7O年代以来集成电路和微电子技术的迅猛发展,使传统的冯·诺伊曼型计算机进入发展的全盛时期,因此暂时掩盖了发展新型计算机和寻求新的神经网络的必要性和迫切性。但是在此时期,波士顿大学的S.Grossberg教授和赫尔辛基大学的Koho—nen教授,仍致力于神经网络的研究,分别提出了自适应共振理论(Adaptive Resonance Theory)和自组织特征映射模型(SOM)。以上开创性的研究成果和工作虽然未能引起当时人们的普遍重视,但其科学价值却不可磨灭,它们为神经网络的进一步发展奠定了基础。 复兴时期 20世纪80年代以来,由于以逻辑推理为基础的人工智能理论和冯·诺伊曼型计算机在处理诸如视觉、听觉、联想记忆等智能信息处理问题上受到挫折,促使人们

人工神经网络的发展及应用

人工神经网络的发展及应用 西安邮电学院电信系樊宏西北电力设计院王勇日期:2005 1-21 1 人工神经网络的发展 1.1 人工神经网络基本理论 1.1.1 神经生物学基础生物神经系统可以简略地认为是以神经元为信号的处理单元,通过广泛的突触联系形成的信息处理集团,其物质结构基础和功能单元是脑神经细胞,即神经元(neuron) 。 (1)神经元具有信号的输人、整合、输出三种主要功能作用行为,结构如图1 所示: (2)突触是整个神经系统各单元间信号传递驿站,它构成各神经元之间广泛的联接。 (3)大脑皮质的神经元联接模式是生物体的遗传性与突触联接强度可塑性相互作用的产物,其变化是先天遗传信息确定的总框架下有限的自组织过程。 1.1.2 建模方法神经元的数量早在胎儿时期就已固定,后天的脑生长主要是指树突和轴突从神经细胞体中长出并形成突触联系,这就是一般人工神经网络建模方法的生物学依据。人脑建模一般可有两种方法:①神经生物学模型方法,即根据微观神经生物学知识的积累,把脑神经系统的结构及机理逐步解释清楚,在此基础上建立脑功能模型;②神 经计算模型方法,即首先建立粗略近似的数学模型并研究该模型的动力学特性,然后冉与真实对象作比较(仿真处理方法)。1.1.3 概

念人工神经网络用物理町实现系统采模仿人脑神经系统的结构和功能,是一门新兴的前沿交义学科,其概念以T.Kohonen.Pr 的论述 最具代表性:人工神经网络就是由简单的处理单元(通常为适应性神经元,模型见图2)组成的并行互联网络,它的组织能够模拟生物神 经系统对真实世界物体所作出的交互反应。 1.2 人工神经网络的发展 人工神经网络的研究始于40 年代初。半个世纪以来,经历了兴起、高潮与萧条、高潮及稳步发展的较为曲折的道路。1943 年,心理学家W.S.Mcculloch 和数理逻辑学家W.Pitts 提出了M—P 模型, 这是第一个用数理语言描述脑的信息处理过程的模型,虽然神经元的功能比较弱,但它为以后的研究工作提供了依据。1949 年,心理学家D. O. Hebb提出突触联系可变的假设,根据这一假设提出的学习规律为神经网络的学习算法奠定了基础。1957 年,计算机科学家Rosenblatt 提出了著名的感知机模型,它的模型包含了现代计算机的一些原理,是第一个完整的人工神经网络。1969 年,美国著名人工智能学者M.Minsky 和S.Papert 编写了影响很大的Perceptron 一书,从理论上证明单层感知机的能力有限,诸如不能解决异或问题,而且他们推测多层网络的感知能也不过如此,在这之后近10 年,神经网络研究进入了一个缓慢发展的萧条期。美国生物物理学家J.J.Hopfield 于1982年、1984 年在美国科学院院刊发表的两篇文章,有力地推动了神经网络的研究,引起了研究神经网络的

BP神经网络测试例子(附数据)

Train.txt 5.0,3.0,1.6,0.2,1 5.0,3.4,1.6,0.4,1 5.2,3.5,1.5,0.2,1 5.2,3.4,1.4,0.2,1 4.7,3.2,1.6,0.2,1 4.8,3.1,1.6,0.2,1 5.4,3.4,1.5,0.4,1 5.2,4.1,1.5,0.1,1 5.5,4.2,1.4,0.2,1 4.9,3.1,1.5,0.1,1 5.0,3.2,1.2,0.2,1 5.5,3.5,1.3,0.2,1 4.9,3.1,1.5,0.1,1 4.4,3.0,1.3,0.2,1 5.1,3.4,1.5,0.2,1 5.0,3.5,1.3,0.3,1 4.5,2.3,1.3,0.3,1 4.4,3.2,1.3,0.2,1 5.0,3.5,1.6,0.6,1 5.1,3.8,1.9,0.4,1 4.8,3.0,1.4,0.3,1 5.1,3.8,1.6,0.2,1 4.6,3.2,1.4,0.2,1 5.3,3.7,1.5,0.2,1 5.0,3.3,1.4,0.2,1 6.6,3.0,4.4,1.4,2 6.8,2.8,4.8,1.4,2 6.7,3.0,5.0,1.7,2 6.0,2.9,4.5,1.5,2 5.7,2.6,3.5,1.0,2 5.5,2.4,3.8,1.1,2 5.5,2.4,3.7,1.0,2 5.8,2.7,3.9,1.2,2 6.0,2.7,5.1,1.6,2 5.4,3.0,4.5,1.5,2 6.0,3.4,4.5,1.6,2 6.7,3.1,4.7,1.5,2 6.3,2.3,4.4,1.3,2 5.6,3.0,4.1,1.3,2 5.5,2.5,4.0,1.3,2 5.5,2.6,4.4,1.2,2 6.1,3.0,4.6,1.4,2 5.8,2.6,4.0,1.2,2

人工神经网络BP算法简介及应用概要

科技信息 2011年第 3期 SCIENCE &TECHNOLOGY INFORMATION 人工神经网络是模仿生理神经网络的结构和功能而设计的一种信息处理系统。大量的人工神经元以一定的规则连接成神经网络 , 神经元之间的连接及各连接权值的分布用来表示特定的信息。神经网络分布式存储信息 , 具有很高的容错性。每个神经元都可以独立的运算和处理接收到的信息并输出结果 , 网络具有并行运算能力 , 实时性非常强。神经网络对信息的处理具有自组织、自学习的特点 , 便于联想、综合和推广。神经网络以其优越的性能应用在人工智能、计算机科学、模式识别、控制工程、信号处理、联想记忆等极其广泛的领域。 1986年 D.Rumelhart 和 J.McCelland [1]等发展了多层网络的 BP 算法 , 使BP 网络成为目前应用最广的神经网络。 1BP 网络原理及学习方法 BP(BackPropagation 网络是一种按照误差反向传播算法训练的多层前馈神经网络。基于 BP 算法的二层网络结构如图 1所示 , 包括输入层、一个隐层和输出层 , 三者都是由神经元组成的。输入层各神经元负责接收并传递外部信息 ; 中间层负责信息处理和变换 ; 输出层向 外界输出信息处理结果。神经网络工作时 , 信息从输入层经隐层流向输出层 (信息正向传播 , 若现行输出与期望相同 , 则训练结束 ; 否则 , 误差反向进入网络 (误差反向传播。将输出与期望的误差信号按照原连接通路反向计算 , 修改各层权值和阈值 , 逐次向输入层传播。信息正向传播与误差反向传播反复交替 , 网络得到了记忆训练 , 当网络的全局误差小于给定的误差值后学习终止 , 即可得到收敛的网络和相应稳定的权值。网络学习过程实际就是建立输入模式到输出模式的一个映射 , 也就是建立一个输入与输出关系的数学模型 :

人工神经网络题库

人工神经网络 系别:计算机工程系 班级: 1120543 班 学号: 13 号 姓名: 日期:2014年10月23日

人工神经网络 摘要:人工神经网络是一种应用类似于大脑神经突触联接的结构进行信息处理的数学模型。在工程与学术界也常直接简称为神经网络或类神经网络。神经网络是一种运算模型,由大量的节点(或称神经元)之间相互联接构成,由大量处理单元互联组成的非线性、自适应信息处理系统。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理、记忆信息的方式进行信息处理。 关键词:神经元;神经网络;人工神经网络;智能; 引言 人工神经网络的构筑理念是受到生物(人或其他动物)神经网络功能的运作启发而产生的。人工神经网络通常是通过一个基于数学统计学类型的学习方法(Learning Method )得以优化,所以人工神经网络也是数学统计学方法的一种实际应用,通过统计学的标准数学方法我们能够得到大量的可以用函数来表达的局部结构空间,另一方面在人工智能学的人工感知领域,我们通过数学统计学的应用可以来做人工感知方面的决定问题(也就是说通过统计学的方法,人工神经网络能够类似人一样具有简单的决定能力和简单的判断能力),这种方法比起正式的逻辑学推理演算更具有优势。 一、人工神经网络的基本原理 1-1神经细胞以及人工神经元的组成 神经系统的基本构造单元是神经细胞,也称神经元。它和人体中其他细胞的关键区别在于具有产生、处理和传递信号的功能。每个神经元都包括三个主要部分:细胞体、树突和轴突。树突的作用是向四方收集由其他神经细胞传来的信息,轴突的功能是传出从细胞体送来的信息。每个神经细胞所产生和传递的基本信息是兴奋或抑制。在两个神经细胞之间的相互接触点称为突触。简单神经元网络及其简化结构如图2-2所示。 从信息的传递过程来看,一个神经细胞的树突,在突触处从其他神经细胞接受信号。 这些信号可能是兴奋性的,也可能是抑制性的。所有树突接受到的信号都传到细胞体进行综合处理,如果在一个时间间隔内,某一细胞接受到的兴奋性信号量足够大,以致于使该细胞被激活,而产生一个脉冲信号。这个信号将沿着该细胞的轴突传送出去,并通过突触传给其他神经细胞.神经细胞通过突触的联接形成神经网络。 图1-1简单神经元网络及其简化结构图 (1)细胞体 (2)树突 (3)轴突 (4)突触

神经网络期末报告

学习报告—— 基于信息论的神经网络模型 专业:计算数学 班级:数学二班 学号:152111033 姓名:刘楠楠

本报告主要分为两个部分,第一部分主要是对神经网络做一个整体的论述,阐述神经元的模型基理和特点,第二部分则是利用信息论的知识来研究神经元信号传递过程中,在有外界噪声的干扰下,如何保证信息最终能够达到最大输出。第三部分列举了一个拟合图像的算例,用于对比不同算法对噪声的敏感程度。 1 神经网络概述 1.1人工神经网络的概念 人工神经网络(Artificial Neural Networks,ANNs),是人脑或自然神经网络对信息感知与处理等智能行为的抽象和模拟,是一种分布式并行处理系统,它具有自组织、自学习、自适应和非线性动态处理的特性。可以实现人脑的概括、类比和推广能力,因而可以从大量数据中提取所需要的信息,通过联想记忆和推理等能力来获取所需要的数据。目前,已经开发和应用的神经网络有30多种,比较典型的有以下几种:感知器(Perceptron),多层感知器(MLP),BP前向网络,Hopfield网络和竞争型(Kohonen)神经网络。可以说人工神经网络就是模拟人思维的第二种方式。 1.2 人工神经网络的工作原理及特点 人工神经网络是由大量的简单基本元件——神经元相互联接而成的自适应非线性动态系统。每个神经元的结构和功能比较简单,但大量神经元组合产生的系统行为却非常复杂。人工神经网络首先要以一定的学习准则进行学习,然后才能工作,它反映了人脑功能的若干基本特性,但并非生物系统的逼真描述,只是某种模仿、简化和抽象。与数字计算机比较,人工神经网络在构成原理和功能特点等方面更加接近人脑,它不是按给定的程序一步一步地执行运算,而是能够自身适应环境、总结规律、完成某种运算、识别和过程控制。人工神经网络吸取了生物神经网络的许多优点,因而有其固有的特点: (1)高度的并行性 人工神经网络由许多相同的简单处理单元并列组合而成,虽然每个单元的结构和功能比较简单,但大量简单处理单元的并行行动,使其对信息的处理能力与效果惊人。

神经网络简介abstract( 英文的)

Abstract: Artificial Neural Network is a math model which is applied to process information of the structure which is similar to Brain synaptic connection in a distributed and parallel way. Artificial Neural Network is a computing model, and it contains of many neurons and the connection of the neurons. Every neuron represents a special output function which is called activation function. The connection of neurons represents a weighted value of the connection’s signal. Neuron is a basic and essential part of Artificial Neural Network, and it includes the sum of weighted value, single-input single-output (SISO) system and nonlinear function mapping. The element of neuron can represent different thing, such as feature, alphabet, conception and some meaningful abstract pattern. In the network, the style of neuron’s element divided into three categories: input element, output element and hidden element. The input element accepts the signal and data of outer world; the output element processes result output for system; the hidden element cannot find by outer world, it between input element and output element. The weighted value represents the strength of connection between neurons. Artificial Neural Network adopted the mechanisms that completely different from traditional artificial intelligence and information processing technology. It conquers the flaw of traditional artificial intelligence in Intuitive handling and unstructured information processing aspect. It is adaptive, self-organized and learning timely, and widely used in schematic identification signal processing.

神经网络一个简单实例

OpenCV的ml模块实现了人工神经网络(Artificial Neural Networks,ANN)最典型的多层感知器(multi-layer perceptrons, MLP)模型。由于ml模型实现的算法都继承自统一的CvStatModel基类,其训练和预测的接口都是train(),predict(),非常简单。 下面来看神经网络CvANN_MLP 的使用~ 定义神经网络及参数: [cpp]view plain copy 1.//Setup the BPNetwork 2. CvANN_MLP bp; 3.// Set up BPNetwork's parameters 4. CvANN_MLP_TrainParams params; 5. params.train_method=CvANN_MLP_TrainParams::BACKPROP; 6. params.bp_dw_scale=0.1; 7. params.bp_moment_scale=0.1; 8.//params.train_method=CvANN_MLP_TrainParams::RPROP; 9.//params.rp_dw0 = 0.1; 10.//params.rp_dw_plus = 1.2; 11.//params.rp_dw_minus = 0.5; 12.//params.rp_dw_min = FLT_EPSILON; 13.//params.rp_dw_max = 50.; 可以直接定义CvANN_MLP神经网络,并设置其参数。BACKPROP表示使用 back-propagation的训练方法,RPROP即最简单的propagation训练方法。 使用BACKPROP有两个相关参数:bp_dw_scale即bp_moment_scale: 使用PRPOP有四个相关参数:rp_dw0, rp_dw_plus, rp_dw_minus, rp_dw_min, rp_dw_max:

几种神经网络模型及其应用

几种神经网络模型及其应用 摘要:本文介绍了径向基网络,支撑矢量机,小波神经网络,反馈神经网络这几种神经网络结构的基本概念与特点,并对它们在科研方面的具体应用做了一些介绍。 关键词:神经网络径向基网络支撑矢量机小波神经网络反馈神经网络Several neural network models and their application Abstract: This paper introduced the RBF networks, support vector machines, wavelet neural networks, feedback neural networks with their concepts and features, as well as their applications in scientific research field. Key words: neural networks RBF networks support vector machines wavelet neural networks feedback neural networks 2 引言 随着对神经网络理论的不断深入研究,其应用目前已经渗透到各个领域。并在智能控制,模式识别,计算机视觉,自适应滤波和信号处理,非线性优化,语音识别,传感技术与机器人,生物医学工程等方面取得了令人吃惊的成绩。本文介绍几种典型的神经网络,径向基神经网络,支撑矢量机,小波神经网络和反馈神经网络的概念及它们在科研中的一些具体应用。 1. 径向基网络 1.1 径向基网络的概念 径向基的理论最早由Hardy,Harder和Desmarais 等人提出。径向基函数(Radial Basis Function,RBF)神经网络,它的输出与连接权之间呈线性关系,因此可采用保证全局收敛的线性优化算法。径向基神经网络(RBFNN)是 3 层单元的神经网络,它是一种静态的神经网络,与函数逼近理论相吻合并且具有唯一的最佳逼近点。由于其结构简单且神经元的敏感区较小,因此可以广泛地应用于非线性函数的局部逼近中。主要影响其网络性能的参数有3 个:输出层权值向量,隐层神经元的中心以及隐层神经元的宽度(方差)。一般径向基网络的学习总是从网络的权值入手,然后逐步调整网络的其它参数,由于权值与神经元中心及宽度有着直接关系,一旦权值确定,其它两个参数的调整就相对困难。 其一般结构如下: 如图 1 所示,该网络由三层构成,各层含义如下: 第一层:输入层:输入层神经元只起连接作用。 第二层:隐含层:隐含层神经元的变换函数为高斯核. 第三层:输出层:它对输入模式的作用做出响应. 图 1. 径向基神经网络拓扑结构 其数学模型通常如下: 设网络的输入为x = ( x1 , x2 , ?, xH ) T,输入层神经元至隐含层第j 个神经元的中心矢 为vj = ( v1 j , v2 j , ?, vIj ) T (1 ≤j ≤H),隐含层第j 个神经元对应输入x的状态为:zj = φ= ‖x - vj ‖= exp Σx1 - vij ) 2 / (2σ2j ) ,其中σ(1≤j ≤H)为隐含层第j个神

SPSS17神经网络学习pdf

SPSS 神经网络TM17.0 – 说明书 建立预测模型的新工具 您的组织需要从复杂多变的业务中发现潜在的模式和联系,做出更好的决定。您可能正在使用SPSS Statistics Base 和它的一个或者几个附加模块来帮助您做这些事情。如果这样,您已经知道了它的强大和多功能性。但是,您可以做得更多。 使用SPSS神经网络,可以帮助您探索数据中微妙或者隐藏的模式。这个附加模块可以帮助您发现数据中更复杂的关系,产生更有效果的预测模型。 SPSS神经网络是对SPSS Statistics Base以及附加模块中传统统计方法的一个补充。您可以使用SPSS神经网络发现数据中间的新关系,然后用传统的统计技术检验其显著性。 SPSS神经网络可以仅仅作为客户端软件安装,但是为了得到更好的性能和扩展性,它也可以与SPSS Statistics Base Sever一起作为Client/Server安装。 为什么要使用神经网络? 神经网络是一个非线性的数据建模工具集合,它包括输入从始至终控制整个过程 SPSS神经网络,包括多层感知器(MLP)或者径向基函数(RBF)两种方法。 这两种方法都是有监督的学习技术-也就是说,他们根据输入的数据映射出关系。这两种方法都采用前馈结构,意思是数据从一个方向进入,通过输入节点、隐藏层最后进入输出节点。你对过程的选择受到输入数据的类型和网络的复杂程度的影响。此外,多层感知器可以发现更复杂的关系,径向基函数的速度更快。MLP可以发现更复杂的关系,而通常来说RBF更快。 使用这两种方法的任何一种,您可以将数据拆分成训练集、测试集、验证集。训练集用来估计网络参数。测试集用来防止过度训练。验证样本用来单独评估最终的网络,它将应用于整个数据集和新数据。

人工神经网络及其应用实例_毕业论文

人工神经网络及其应用实例人工神经网络是在现代神经科学研究成果基础上提出的一种抽 象数学模型,它以某种简化、抽象和模拟的方式,反映了大脑功能的 若干基本特征,但并非其逼真的描写。 人工神经网络可概括定义为:由大量简单元件广泛互连而成的复 杂网络系统。所谓简单元件,即人工神经元,是指它可用电子元件、 光学元件等模拟,仅起简单的输入输出变换y = σ (x)的作用。下图是 3 中常用的元件类型: 线性元件:y = 0.3x,可用线性代数法分析,但是功能有限,现在已不太常用。 2 1.5 1 0.5 -0.5 -1 -1.5 -2 -6 -4 -2 0 2 4 6 连续型非线性元件:y = tanh(x),便于解析性计算及器件模拟,是当前研究的主要元件之一。

离散型非线性元件: y = ? 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -6 -4 -2 2 4 6 ?1, x ≥ 0 ?-1, x < 0 ,便于理论分析及阈值逻辑器件 实现,也是当前研究的主要元件之一。 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 -6 -4 -2 2 4 6

每一神经元有许多输入、输出键,各神经元之间以连接键(又称 突触)相连,它决定神经元之间的连接强度(突触强度)和性质(兴 奋或抑制),即决定神经元间相互作用的强弱和正负,共有三种类型: 兴奋型连接、抑制型连接、无连接。这样,N个神经元(一般N很大)构成一个相互影响的复杂网络系统,通过调整网络参数,可使人工神 经网络具有所需要的特定功能,即学习、训练或自组织过程。一个简 单的人工神经网络结构图如下所示: 上图中,左侧为输入层(输入层的神经元个数由输入的维度决定),右侧为输出层(输出层的神经元个数由输出的维度决定),输入层与 输出层之间即为隐层。 输入层节点上的神经元接收外部环境的输入模式,并由它传递给 相连隐层上的各个神经元。隐层是神经元网络的内部处理层,这些神 经元在网络内部构成中间层,不直接与外部输入、输出打交道。人工 神经网络所具有的模式变换能力主要体现在隐层的神经元上。输出层 用于产生神经网络的输出模式。 多层神经网络结构中有代表性的有前向网络(BP网络)模型、

BP神经网络模型应用实例

BP神经网络模型 第1节基本原理简介 近年来全球性的神经网络研究热潮的再度兴起,不仅仅是因为神经科学本身取得了巨大的进展.更主要的原因在于发展新型计算机和人工智能新途径的迫切需要.迄今为止在需要人工智能解决的许多问题中,人脑远比计算机聪明的多,要开创具有智能的新一代计算机,就必须了解人脑,研究人脑神经网络系统信息处理的机制.另一方面,基于神经科学研究成果基础上发展出来的人工神经网络模型,反映了人脑功能的若干基本特性,开拓了神经网络用于计算机的新途径.它对传统的计算机结构和人工智能是一个有力的挑战,引起了各方面专家的极大关注. 目前,已发展了几十种神经网络,例如Hopficld模型,Feldmann等的连接型网络模型,Hinton等的玻尔茨曼机模型,以及Rumelhart等的多层感知机模型和Kohonen的自组织网络模型等等。在这众多神经网络模型中,应用最广泛的是多层感知机神经网络。多层感知机神经网络的研究始于50年代,但一直进展不大。直到1985年,Rumelhart等人提出了误差反向传递学习算法(即BP算),实现了Minsky的多层网络

设想,如图34-1所示。 BP 算法不仅有输入层节点、输出层节点,还可有1个或多个隐含层节点。对于输入信号,要先向前传播到隐含层节点,经作用函数后,再把隐节点的输出信号传播到输出节点,最后给出输出结果。节点的作用的激励函数通常选取S 型函数,如 Q x e x f /11)(-+= 式中Q 为调整激励函数形式的Sigmoid 参数。该算法的学习过程由正向传播和反向传播组成。在正向传播过程中,输入信息从输入层经隐含层逐层处理,并 传向输出层。每一层神经元的状态只影响下一层神经

神经网络应用实例

神经网络 在石灰窑炉的建模与控制中的应用神经网络应用广泛,尤其在系统建模与控制方面,都有很好应用。下面简要介绍神经网络在石灰窑炉的建模与控制中的应用,以便更具体地了解神经网络在实际应用中的具体问题和应用效果。 1 石灰窑炉的生产过程和数学模型 石灰窑炉是造纸厂中一个回收设备,它可以使生产过程中所用的化工原料循环使用,从而降低生产成本并减少环境污染。其工作原理和过程如图1所示,它是一个长长的金属圆柱体,其轴线和水平面稍稍倾斜,并能绕轴线旋转,所以又 CaCO(碳酸钙)泥桨由左端输入迴转窑,称为迴转窑。含有大约30%水分的 3 由于窑的坡度和旋转作用,泥桨在炉内从左向右慢慢下滑。而燃料油和空气由右端喷入燃烧,形成气流由右向左流动,以使泥桨干燥、加热并发生分解反应。迴转窑从左到右可分为干燥段、加热段、煅烧段和泠却段。最终生成的石灰由右端输出,而废气由左端排出。 图1石灰窑炉示意图 这是一个连续的生产过程,原料和燃料不断输入,而产品和废气不断输出。在生产过程中首先要保证产品质量,包括CaO的含量、粒度和多孔性等指标,因此必须使炉内有合适的温度分布,温度太低碳酸钙不能完全分解,会残留在产品中,温度过高又会造成生灰的多孔性能不好,费燃料又易损坏窑壁。但是在生产过程中原料成分、含水量、进料速度、燃油成分和炉窑转速等生产条件经常会发生变化,而且有些量和变化是无法实时量测的。在这种条件下,要做到稳定生产、高质量、低消耗和低污染,对自动控制提出了很高的要求。 以前曾有人分析窑炉内发生的物理-化学变化,并根据传热和传质过程来建立窑炉的数学模型,认为窑炉是一个分布参数的非线性动态系统,可以用二组偏

BP神经网络模型简介及相关优化案例

华东理工大学 2016-2017学年第2学期 研究生《石油化工单元数学模型》课程论文2017年6月 开课学院:化工学院任课教师:欧阳福生 考生姓名:丁桂宾学号:Y45160205 成绩:

BP 神经网络模型简介及相关优化案例 一、神经网络模型简介 现代神经生理学和神经解剖学的研究结果表明,人脑是极其复杂的,由约1010个神经元交织在一起,构成一个网状结构。它能完成诸如智能、思维、情绪等高级精神活动,被认为是最复杂、最完美、最有效的一种信息处理系统。人工神经网络(Artificial Neural Networks ,以下简写为 NN )是指模拟人脑神经系统的结构和功能,运用大量的处理部件,通过数学方法,由人工方式构造的网络系统[1] 。 图1表示作为 NN 基本单元的神经元模型,它有三个基本要素[2]: (1) 一组连接权(对应于生物神经元的突触),连接强度由各连接上的权值表示,权值为正表示激励,为负表示抑制。 (2) 一个求和单元,用于求取各输入信息的加权和(线性组合)。 (3) 一个非线性激励函数,起非线性映射作用并限制神经元输出幅度在一定的范围内(一般限制在[0,1]或[?1,+1]之间)。 图1 神经元模型 此外还有一个阈值k θ(或偏置 k k b θ-=)。以上作用可以用数学式表达为: ∑= =P j kj k j x w u ;

k k k u θν-=; ) (k k v y ?= 式中 P x x x x ,...,,,321为输入信号, kP k k k w w w w ,...,,,321为神经元k 的权值, k u 为 线性组合结果, k θ为阈值。(.)?为激励函数,k y 为神经元k 的输出。 神经网络理论突破了传统的、串行处理的数字电子计算机的局限,是一个非线性动力学系统,并以分布式存储和并行协同处理为特色,虽然单个神经元的结构和功能极其简单有限,但是大量的神经元构成的网络系统所实现的行为却是极其丰富多彩的。

BP神经网络matlab实例

神经网络Matlab p=p1';t=t1'; [pn,minp,maxp,tn,mint,maxt]=premnmx(p,t); %原始数据归一化net=newff(minmax(pn),[5,1],{'tansig','purelin'},'traingdx');%设置网络,建立相应的BP网络 net.trainParam.show=2000; % 训练网络 net.trainParam.lr=0.01; net.trainParam.epochs=100000; net.trainParam.goal=1e-5; [net,tr]=train(net ,pn,tn); %调用TRAINGDM算法训练BP网络 pnew=pnew1'; pnewn=tramnmx(pnew,minp,maxp); anewn=sim(net,pnewn); %对BP网络进行仿真 anew=postmnmx(anewn,mint,maxt); %还原数据 y=anew'; 1、BP网络构建 (1)生成BP网络 = net newff PR S S SNl TF TF TFNl BTF BLF PF (,[1 2...],{ 1 2...},,,) R?维矩阵。 PR:由R维的输入样本最小最大值构成的2

S S SNl:各层的神经元个数。 [1 2...] TF TF TFNl:各层的神经元传递函数。 { 1 2...} BTF:训练用函数的名称。 (2)网络训练 = [,,,,,] (,,,,,,) net tr Y E Pf Af train net P T Pi Ai VV TV (3)网络仿真 = [,,,,] (,,,,) Y Pf Af E perf sim net P Pi Ai T {'tansig','purelin'},'trainrp' BP网络的训练函数 训练方法训练函数 梯度下降法traingd 有动量的梯度下降法traingdm 自适应lr梯度下降法traingda 自适应lr动量梯度下降法traingdx 弹性梯度下降法trainrp Fletcher-Reeves共轭梯度法traincgf Ploak-Ribiere共轭梯度法traincgp Powell-Beale共轭梯度法traincgb 量化共轭梯度法trainscg 拟牛顿算法trainbfg 一步正割算法trainoss Levenberg-Marquardt trainlm

神经网络的应用及其发展

神经网络的应用及其发展 来源:辽宁工程技术大学作者:苗爱冬 [摘要] 该文介绍了神经网络的发展、优点及其应用和发展动向,着重论述了神经网络目前的几个研究热点,即神经网络与遗传算法、灰色系统、专家系统、模糊控制、小波分析的结合。 [关键词]遗传算法灰色系统专家系统模糊控制小波分析 一、前言 神经网络最早的研究20世纪40年代心理学家Mcculloch和数学家Pitts 合作提出的,他们提出的MP模型拉开了神经网络研究的序幕。神经网络的发展大致经过三个阶段:1947~1969年为初期,在这期间科学家们提出了许多神经元模型和学习规则,如MP模型、HEBB学习规则和感知器等;1970~1986年为过渡期,这个期间神经网络研究经过了一个低潮,继续发展。在此期间,科学家们做了大量的工作,如Hopfield教授对网络引入能量函数的概念,给出了网络的稳定性判据,提出了用于联想记忆和优化计算的途径。1984年,Hiton教授提出Boltzman机模型。1986年Kumelhart等人提出误差反向传播神经网络,简称BP 网络。目前,BP网络已成为广泛使用的网络;1987年至今为发展期,在此期间,神经网络受到国际重视,各个国家都展开研究,形成神经网络发展的另一个高潮。神经网络具有以下优点: (1) 具有很强的鲁棒性和容错性,因为信息是分布贮于网络内的神经元中。 (2) 并行处理方法,使得计算快速。 (3) 自学习、自组织、自适应性,使得网络可以处理不确定或不知道的系统。 (4) 可以充分逼近任意复杂的非线性关系。 (5) 具有很强的信息综合能力,能同时处理定量和定性的信息,能很好地协调多种输入信息关系,适用于多信息融合和多媒体技术。 二、神经网络应用现状 神经网络以其独特的结构和处理信息的方法,在许多实际应用领域中取得了显著的成效,主要应用如下: (1) 图像处理。对图像进行边缘监测、图像分割、图像压缩和图像恢复。 (2) 信号处理。能分别对通讯、语音、心电和脑电信号进行处理分类;可用于海底声纳信号的检测与分类,在反潜、扫雷等方面得到应用。 (3) 模式识别。已成功应用于手写字符、汽车牌照、指纹和声音识别,还可用于目标的自动识别和定位、机器人传感器的图像识别以及地震信号的鉴别等。 (4) 机器人控制。对机器人眼手系统位置进行协调控制,用于机械手的故障诊断及排除、智能自适应移动机器人的导航。 (5) 卫生保健、医疗。比如通过训练自主组合的多层感知器可以区分正常心跳和非正常心跳、基于BP网络的波形分类和特征提取在计算机临床诊断中的应用。 (6) 焊接领域。国内外在参数选择、质量检验、质量预测和实时控制方面都

相关文档
最新文档