计算智能与深度学习 课件全套 1引言、2神经网络-10粗糙集_第1页
计算智能与深度学习 课件全套 1引言、2神经网络-10粗糙集_第2页
计算智能与深度学习 课件全套 1引言、2神经网络-10粗糙集_第3页
计算智能与深度学习 课件全套 1引言、2神经网络-10粗糙集_第4页
计算智能与深度学习 课件全套 1引言、2神经网络-10粗糙集_第5页
已阅读5页,还剩1049页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算智能目录

序计算智能

第一章绪论第一篇人工神经网络

第二章人工神经网络的基本模型第三章前馈型神经网络第四章反馈型神经网络第五章自组织竞争神经网络第二篇模糊系统

第六章模糊数学基础第七章模糊控制理论2

第八章模糊神经网络与模糊神经系统第三篇进化计算第九章遗传算法第十章遗传算法的数学基础第十一章遗传算法的实现技术第十二章遗传算法的若干改进研究第十三章遗传算法的收敛性第十四章用遗传算法解决组合优化问题第十五章其它算法

(可选)

3■群集智能算法群集智能引论遗传算法蚁群算法粒子群算法■仿生计算智能仿生计算智能概论人工生命人工免疫DNA计算生物信息学4■计算学习理论计算学习理论概述支持向量机(SVM)粗糙集理论概率推理与概率学习流形学习增强式学习5第一章绪论

一.第一台电子计算机问世--难以估量的作用二.冯.诺依曼机的局限性--另辟溪径三.智能计算机61.1

关于计算智能1.2人工神经网络

1.3模糊系统1.4进化计算1.5人工神经网络、模糊系统和进化计算的相互融合71.1关于计算智能

(ComputationalIntelligence,CI)1.1.1什么是计算智能

1.1.2计算智能所包含的领域

81.1.1关于计算智能

(ComputationalIntelligence,CI)

92年,美国学者James首次提出:计算智能(CI)是依靠生产者提供的数字、数据材料进行加工处理,而不是依赖于知识;人工智能(ArtificialIntelligence,AI)则是须用知识进行处理。

94年,James在Florida,Orlando,94IEEEEWCCI会议上又阐述他的观点,智能有三个层次:生物智能、人工智能、计算智能91.生物智能(BiologicalIntelligence,BI)

-由人脑的物理化学过程反映出来的,人脑是有机物,它是智能的基础。

2.人工智能(ArtificialIntelligence,AI)是非生物的,人造的,常用符号来表示,AI的来源是人类知识的精华。3.计算智能(ComputationalIntelligence,CI)是由数学方法和计算机实现的,CI的来源数值计算的传感器。4.它们间的关系:从复杂性来看:BI>AI>CI;从所属关系来看:AI是CI到BI的过渡,因为AI中除计算算法之外,还包括符号表示及数值信息处理。模糊集合和模糊逻辑是AI到CI的过渡。

10

也有些人认为CI不属于AI,仅有部分重合。

AI:符号主义,知识、规则、推理。左脑

CI:连接主义,数据、学习、记忆。右脑111.1.2计算智能所包含的领域人工神经网络(ArtificialNeuralNetwork,ANN)进化计算(EvolutionComputing,EC)模糊系统(FuzzySystem,FS)进化计算(EvolutionComputing)遗传算法(GeneticAlgorithm,GA)

75年,Holand首次提出。组合优化等问题得到广泛应用。

12进化规划(EvolutionProgramming,EP)

60年代,由美国人L.J.Fogel等人提出的。背景是求解时间序列预测问题。

进化策略(EvolutionStrategies,ES)

64年,由德国人I.Rechenberg等提出。背景是求解流体动力学柔性弯曲管形状优化问题。模糊系统(FuzzySystem,FS)

65年,美国加州大学伯克莱分校的L.Zadeh发表了著名论文FuzzySets开创了模糊论。模糊逻辑、模糊规则、模糊推理、模糊控制、隶属度、模糊集合等。131.2人工神经网络

1.2.1什么是神经网络1.2.3人工神经网络研究的历史141.2.1什么是神经网络人工神经网络

是指模拟人脑神经系统的结构和功能,运用大量的处理部件,由人工方式构造的网络系统。神经网络理论突破了传统的、线性处理的数字电子计算机的局限,是一个非线形动力学系统,并以分布式存储和并行协同处理为特色,虽然单个神经元的结构和功能极其简单有限,但是大量的神经元构成的网络系统所实现的行为却是极其丰富多彩的。151.2.2人工神经网络研究的历史

第一阶段初始发展期(40年代-60年代)

1.1943年,美国心理学家McCulloch和数学家Pitts合作提出了形式神经元的数学模型,即M-P模型。能完成有限的逻辑运算。

2.1949年,心理学家Hebb提出了改变神经元间连接强度的Hebb规则。

3.1957年,计算机科学家Rosenblatt用硬件完成了最早的神经网络模型,称之为感知器(Perceptron)用来模拟生物的感知和学习能力。164.1962年,电机工程师Windrow和Hoff提出了自适应线性元件Adaline是一个连续取值的线性网络,在信号处理系统中用于抵消通讯中的回波和噪声,应用十分广泛。

第二阶段低谷期(60年代末-70年代末)原因:

1.69年,人工智能之父Minskey和Papert发表了《Perceptron》一书指出了Perceptron无科学价值,连XOR逻辑分类都做不到,只能作线性划分。

2.Von.Neumann机的兴盛期,陶醉在成功的喜悦之中,掩盖了新型计算机的发展的必然。17但是仍然有不少有识之士不断努力:

1.Boston大学的Grossberg和Carpenter提出了自适应共振理论ART网络。

2.芬兰的Heisinki大学的Kohonen提出了自组织映射网络。

3.日本的大坂大学的Fukushima提出了神经认知机网络模型。

4.日本东京大学的Amari对神经网络进行了数学理论的研究,为神经网络的研究奠定了理论基础。18第三阶段兴盛期(80年代以后)原因:

1.70年代末期研究和试图模拟视听觉的人工智能专家遇到了挫折,人们习以为常的知识难以能教给计算机。

2.计算机的科学家发现前面有不可逾越的鸿沟,线路微型的物理极限,人们思考Von.Neumann机到底还能走多远。

3.VLSI、脑科学、生物学、光学的进步为人工神经网络的发展打下了基础。19兴盛期的代表人物:

1.1982年,加州大学的物理学家Hopfield提出了Hopfield网络模型,并用电路实现。2.1985年,Rumelhart提出了BP算法。

3.Hinton等人提出了Boltzman机模型。

4.1988年,蔡少堂提出了细胞神经网络模型。20目前国内外研究状况

1.

研究机构美国DARPA计划、日本HFSP计划、法国尤里卡计划、德国欧洲防御计划、前苏联高技术发展计划等;

2.

学会

86年4月,美国物理学会在Snowbirds召开了国际神经网络学术会议;

87年6月,IEEE在SanDiego召开了国际神经网络学术会议,并成立了国际神经网络学会;

88年起,IEEE和国际神经网络学会每年召开一次国际会议;21

我国自91年开始每两年召开一次学术会议。

3.

刊物

1990年3月,IEEE神经网络会刊问世。

4.

应用范围已经渗透到各个领域,智能控制、模式识别、计算机视觉、自适应滤波、信号处理、非线形优化、语音识别、知识处理、传感技术与机器人等等。神经网络代表一种新的主义—连接主义,解决诸如知识表达、推理学习、联想记忆、乃至复杂的社会现象,如混沌,社会演变的复杂系统的统一模型,它预示着一个新的工业。221.3模糊系统

1.3.1模糊系统理论的起源和发展

1.3.2模糊系统的研究范畴

231.3.1模糊系统理论的起源和发展

1.1965年,美国控制论专家、加利福尼亚大学教授扎德(L.A.Zadeh)首先提出模糊集合概念,发表了开创性论文《模糊集合论(Fuzzysets)》。他提出,模糊数学的核心思想就是运用数学手段,仿效人脑思维,对复杂事物进行模糊处理。模糊数学在基础理论和实际应用等方面引起了各国学者的极大兴趣,并产生了许多有价值的应用和惊人的成果。

2.1973年,扎德教授又提出模糊逻辑(FuzzyLogic)的理论,并积极倡导将模糊理论向人工智能方向发展。模糊逻辑的研究虽然时间还不长,但在智能模拟和智能控制等领域却已有了飞快的发展。24

3.

1974年印裔英国学者马德尼(E.H.Mamdani)首先将模糊理论用于锅炉和蒸汽机的控制,并实验成功,开创了模糊控制的新领域。

4.

80年代后期以来,在日本采用模糊控制技术的家电产品大量上市,模糊技术在图像识别、自动控制、市场预测、人工智能等领域普遍应用,掀起了一股模糊热。日本、美国和我国都成功地研制出了智能化的模糊推理机,这表现了模糊理论的强大生命力和伟大意义。25

5.

另一方面,模糊理论在学术界也得到了普遍的认同和重视。1992年,IEEE召开了第一届关于模糊系统的国际会议(FUZZY-IEEE),并决定以后每年举行一次。1993年IEEE创办了专刊IEEETransactiononFuzzySystem。

6.当前,模糊理论和应用正向深度和广度进一步发展,发展的速度越来越快,研究成果大量涌现,已经成为世界各国高科技竞争的重要领域之一。261.3.2模糊系统的研究范畴模糊系统基于模糊数学理论,能对复杂事物进行模糊处理。模糊数学的理论基础包括模糊逻辑、模糊规则、模糊推理、隶属度和模糊集合等。另外,以模糊数学为基础的模糊控制器和模糊神经网络的理论和设计,将在第二篇中详细讲解。

271.4进化计算

进化计算(EvolutionComputing)是采用简单的编码技术来表示各种复杂的结构,并通过简单的遗传操作和优胜劣汰的自然选择来指导学习和确定搜索的方向。由于它采用种群(即一组表示)的方式组织搜索,这使得它可以同时搜索解空间内的多个区域,特别适合大规模并行计算。进化计算具有自组织、自适应、自学习的特点,并且不受其搜索空间限制性条件(如可微、单峰等)的约束,不需要其它辅助信息(如导数)。这使得进化计算不仅能获得较高的效率,而且操作简单、通用性强。281.4.1进化计算的发展过程1.4.2进化计算的主要分支1.4.3进化计算的主要特点

291.4.1进化计算的发展过程

1.进化计算在20世纪六七十年代并未受到普遍的重视。其主要原因一是因为这些方法本身还不够成熟;二是由于这些方法需要较大的计算量,而当时的计算机还不够普及且速度较慢,这样便限制了它们的应用;三是当时基于符号处理的人工智能方法正处于其顶峰时期,使得人们难以认识到其它方法的有效性及适应性。

2.到了80年代,人工智能方法的局限性越来越突出,并且随着计算机速度的提高和并行计算机的普及,已使得进化计算对机器速度的要求不再是制约其发展的因素。进化计算的不断发展及其在一些应用领域内取得的成功,已表现出了良好的应用前景。30

3.由于进化计算在机器学习、过程控制、经济预测、工程优化等领域取得的成功,引起了各领域科学家们的极大兴趣,自80年代中期以来,世界上许多国家都掀起了进化计算的研究热潮。目前,有数种以进化计算为主题的国际会议在世界各地定期召开,并已出版了两种以上专门关于进化计算的杂志。可以预料,随着进化计算理论研究的不断深入和应用领域的不断拓广,进化计算必将取得更大的成功。311.4.2

进化计算的主要分支

进化计算的三大分支包括:

遗传算法(GeneticAlgorithm,简称GA)、进化规划(EvolutionProgramming,简称EP)和进化策略(EvolutionStrategies,简ES)。这三个分支在算法实现方面具有一些细微的差别,但它们具有一个共同的特点,即都是借助生物进化的思想和原理来解决实际问题。下面我们分别就这三个分支作以简单的介绍。32①遗传算法遗传算法是一类通过模拟生物界自然选择和自然遗传机制的随机化搜索算法,由美国J.Holand教授于1975年首次提出。它是利用某种编码技术作用于称为染色体的二进制数串,其基本思想是模拟由这些串组成的种群的进化过程,通过有组织地然而是随机地信息交换来重新组合那些适应性好的串。遗传算法对求解问题的本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并根据适应性来选择染色体,使适应性好的染色体比适应性差的染色体有更多的繁殖机会。33

遗传算法尤其适用于处理传统搜索方法难于解决的复杂的非线性问题,可广泛用于组合优化、机器学习、自适应控制、规划设计和人工生命等领域,是21世纪有关智能计算中的关键技术之一。

②进化策略

1964年,由德国柏林工业大学的I.Rechenberg等人提出。在求解流体动力学柔性弯曲管的形状优化问题时,用传统的方法很难优化设计中描述物体形状的参数,从而利用生物变异的思想来随机地改变参数值并获得了较好的结果。随后,他们便对这种方法进行了深入的研究和发展,形成了进化计算的另一个分支――进化策略。34

进化策略与遗传算法的不同之处在于:进化策略直接在解空间上进行操作,强调进化过程中从父体到后代行为的自适应性和多样性,强调进化过程中搜索步长的自适应性调节;而遗传算法是将原问题的解空间映射到位串空间之中,然后再施行遗传操作,它强调个体基因结构的变化对其适应度的影响。 进化策略主要用于求解数值优化问题。35③进化规划进化规划的方法最初是由美国人L.J.Fogel等人在20世纪60年代提出的。他们在人工智能的研究中发现,智能行为要具有能预测其所处环境的状态,并按照给定的目标作出适当的响应的能力。在研究中,他们将模拟环境描述成是由有限字符集中符号组成的序列。361.4.3进化计算的主要特点

进化算法与传统的算法具有很多不同之处,但其最主要的特点体现在下述两个方面:

智能性进化计算的智能性包括自组织、自适应和自学习性等。应用进化计算求解问题时,在确定了编码方案、适应值函数及遗传算子以后,算法将根据“适者生存、不适应者淘汰”的策略,利用进化过程中获得的信息自行组织搜索,从而不断地向最佳解方向逼近。37

自然选择消除了传统算法设计过程中的一个最大障碍:即需要事先描述问题的全部特点,并说明针对问题的不同特点算法应采取的措施。于是,利用进化计算的方法可以解决那些结构尚无人能理解的复杂问题。

②本质并行性进化计算的本质并行性表现在两个方面:一是进化计算是内在并行的,即进化计算本身非常适合大规模并行。二是进化计算的内含并行性,由于进化计算采用种群的方式组织搜索,从而它可以同时搜索解空间内的多个区域,并相互交流信息,这种搜索方式使得进化计算能以较少的计算获得较大的收益。381.5人工神经网络、模糊系统

进化计算的相互融合

人工神经网络能够通过学习和训练获得用数据表达的知识,除了可以记忆已知的信息之外,神经网络还具有较强的概括能力和联想记忆能力。但神经网络的推理知识表示体现在网络连接权值上,表达比较难以理解,这是它的一个缺点。模糊系统的显著特点是能够直接地表示逻辑,适于直接的或高级的知识表达,具有较强的逻辑功能。但它没有本质的获取知识的能力,模糊规则的确定也比较困难,通常需要领域专家知识的指导。因此如何构造可自动处理模糊信息的模糊系统,即实现模糊规则的自动提取和模糊变量隶属度函数的自动生成及优化,一直是困扰模糊信息处理技术进一步推广的难题。39

进化计算模拟生物进化的过程,依据适者生存、优胜劣汰的进化规则,对包含可能解的种群反复进行基于遗传的操作,不断生成新的种群并使种群不断进化,同时以全局并行搜索方式来搜索优化种群中的最优个体,以求得满足要求的最优解。其主要优点是简单、鲁棒性强、搜索空间大。随着对模糊系统和神经网络研究的深入,两个领域间相互独立的关系逐渐改变。如果将它们进行综合,即将符号逻辑推理方法与联接机制方法进行结合,将数值方法和模糊逻辑方法进行结合,其优势将远远高于单项研究。模糊系统和神经网络的融合导致了模糊神经网络的产生,许多学者已对此进行了尝试。40

神经网络的网络结构的设计和权值的训练是一个十分重要而困难的问题,传统的方法多是凭经验或启发知识来设计网络,用梯度法来确定其中的权值,常常需要进行反复试验而且还很难找到最优的网络结构和权值。而进化计算为神经网络的自动设计和训练提供了一种新的途径,这就是进化神经网络。神经网络、模糊系统、进化算法三者研究同步发展、相互渗透、界限日益模糊,人们逐渐认识到由三者交叉组成的新系统具有更强的功能,因而三者相互融合的研究是当今三个分支研究的热点。41内容安排:一、生物神经元二、人工神经网络结构三、神经网络基本学习算法人工神经网络及其应用

神经网络基础知识

42一、生物神经元生物神经元突触信息处理信息传递功能与特点431.1生物神经元神经元是大脑处理信息的基本单元人脑大约由1011个神经元组成,神经元互相连接成神经网络神经元以细胞体为主体,由许多向周围延伸的不规则树枝状纤维构成的神经细胞,其形状很像一棵枯树的枝干主要由细胞体(cellbody,orsoma)、树突(dendrite)、轴突(axon)和突触(Synapse,又称神经键)组成

44

生物神经元示意图

45树突为神经元的输入通道,其功能是将自其他神经元所接收的动作电位传送至细胞本体。其他神经元的动作电位借由位于树突分支上的多个突触传送至树突上。树突在整合自这些突触所接收到的信号、以及决定此神经元将产生的动作电位强度上,扮演了重要的角色.轴突它是从神经元的细胞本体发出的长突起。轴突为神经元的输出通道,其功能是将动作电位自细胞本体传递出去至突触。突触(英文:synapse)是神经元之间,或神经元与肌细胞之间通信的特异性接头。461.2突触的信息处理生物神经元传递信息的过程为多输入、单输出神经元各组成部分的功能来看,信息的处理与传递主要发生在突触附近当神经元细胞体通过轴突传到突触前膜的脉冲幅度达到一定强度,即超过其阈值电位后,突触前膜将向突触间隙释放神经传递的化学物质突触有两种类型,兴奋性突触和抑制性突触。前者产生正突触后电位,后者产生负突触后电位471.3信息传递功能与特点具有时空整合能力不可逆性,脉冲只从突触前传到突触后,不逆向传递神经纤维传导的速度,即脉冲沿神经纤维传递的速度,在1—150m/s之间信息传递时延和不应期,一般为0.3~lms可塑性,突触传递信息的强度是可变的,即具有学习功能存在学习、遗忘或疲劳(饱和)效应对应突触传递作用增强、减弱和饱和48二、人工神经网络结构人工神经网络人工神经元模型常见响应函数人工神经网络典型结构492.1人工神经网络

直观理解神经网络是一个并行和分布式的信息处理网络结构它一般由大量神经元组成每个神经元只有一个输出,可以连接到很多其他的神经元每个神经元输入有多个连接通道,每个连接通道对应于一个连接权系数

50通用模型求和操作响应函数2.2人工神经元模型

512.2人工神经元模型

响应函数的基本作用控制输入对输出的激活作用对输入、输出进行函数转换将可能无限域的输入变换成指定的有限范围内的输出52

2.3常见神经元响应函数(d)非线性单元:(a)阈值单元(b)线性单元(c)Sigmoid函数(非对称sigmoid)β=1时,532.3常见神经元响应函数10-1s54神经元的模型确定之后,一个神经网络的特性及能力主要取决于网络的拓扑结构及学习方法人工神经网络连接的几种基本形式前向网络(a)从输出到输入有反馈的前向网络(b)用来存储某种模式序列层内互连前向网络(c)限制层内同时动作的神经元;分组功能相互结合型网络(d)2.4人工神经网络典型结构55神经网络的典型结构

56权值确定Hebb学习规则误差校正(纠错)学习规则相近(无教师)学习规则三、神经网络基本学习算法57人工神经网络连接权的确定通常有两种方法根据具体要求,直接计算,如Hopfield网络作优化计算通过学习得到的。大多数人工神经网络都采用这种方法学习方法是人工神经网络研究中的核心问题3.1权值确定58Donall

Hebb根据生理学中条件反射机理,于1949年提出的神经元连接强度变化的规则如果两个神经元同时兴奋(即同时被激活),则它们之间的突触连接加强a为学习速率,Vi,Vj为神经元i和j的输出Hebb学习规则是人工神经网络学习的基本规则,几乎所有神经网络的学习规则都可以看作Hebb学习规则的变形3.2Hebb学习规则59用已知样本作为教师对网络进行学习学习规则可由二次误差函数的梯度法导出误差校正学习规则实际上是一种梯度方法不能保证得到全局最优解要求大量训练样本,收敛速度慢对样本的表示次序变化比较敏感3.3误差校正规则教师值实际输出值603.3无教师学习规则这类学习不在于寻找一个特殊映射的表示,而是将事件空间分类为输入活动区域,并有选择地对这些区域响应,从而调整参数一反映观察事件的分部输入可以是连续值,对噪声有较强的抗干扰能力对较少输入样本,结果可能要依赖于输入序列在ART、Kohonen等自组织竞争型网络中采用61一、生物神经元二、人工神经网络结构三、神经网络基本学习算法作业:熟悉Matlab,用其解计算智能中的问题(包括仿真求解)小结62神经网络学习方法63第4章感知器(Perceptron)感知器是由美国计算机科学家罗森布拉特(F.Rosenblatt)于1957年提出的。单层感知器神经元模型图:图4.1感知器神经元模型65到第1个神经元的权值66F.Rosenblatt已经证明,如果两类模式是线性可分的(指存在一个超平面将它们分开),则算法一定收敛。用监督学习(supervisedlearning)的方法建立模式识别的能力感知器特别适用于简单的模式分类问题,也可用于基于模式分类的学习控制中。本节中所说的感知器是指单层的感知器。多层网络因为要用到后面将要介绍的反向传播法进行权值修正,所以把它们均归类为反向传播网络之中。674.1感知器的网络结构根据网络结构,可以写出第i个输出神经元(i=1,2,…,s)的加权输入和ni及其输出ai为:ni68感知器的输出值是通过测试加权输入和值落在阈值函数的左右来进行分类的,即有:阈值激活函数如图4.3所示。694.2感知器的图形解释由感知器的网络结构,我们可以看出感知器的基本功能是将输入矢量转化成0或1的输出。这一功能可以通过在输人矢量空间里的作图来加以解释。感知器权值参数的设计目的,就是根据学习法则设计一条W*P+b=0的轨迹,使其对输入矢量能够达到期望位置的划分。70

以输入矢量r=2(2维)为例,对于选定的权值w1、w2和b,可以在以p1和p2分别作为横、纵坐标的输入平面内画出W*P+b=w1p1十w2p2十b=0的轨迹,它是一条直线此直线上的及其线以上部分的所有p1、p2值均使w1p1十w2p2十b>=0,这些点若通过由w1、w2和b构成的感知器则使其输出为1;该直线以下部分的点则使感知器的输出为0。

所以当采用感知器对不同的输入矢量进行期望输出为0或1的分类时,其问题可转化为:对于已知输入矢量在输入空间形成的不同点的位置,设计感知器的权值W和b,将由W*P+b=0的直线放置在适当的位置上使输入矢量按期望输出值进行上下分类。71图4.4输入矢量平面图(此图横坐标有问题)+-724.3感知器的学习规则学习规则是用来计算新的权值矩阵W及新的偏差B的算法。感知器利用其学习规则来调整网络的权值,以便使该网络对输人矢量的响应达到数值为0或1的目标输出。输入矢量P,输出矢量A,目标矢量为T的感知器网络,其学习规则为:73如果第i个神经元的输出是正确的,即有:ai=ti,那么与第i个神经元联接的权值wij和偏差值bi保持不变;如果第i个神经元的输出是0,但期望输出为1,即有ai=0,而ti=1,此时权值修正算法为:新的权值wij为旧的权值wij加上输人矢量pj;类似的,新的偏差bi为旧偏差bi加上它的输入1;如果第i个神经元的输出为1,但期望输出为0,即有ai=1,而ti=0,此时权值修正算法为:新的权值wij等于旧的权值wij减去输入矢量pj;类似的,新的偏差bi为旧偏差bi减去1。感知器学习规则的实质为:权值的变化量等于正负输入矢量。74

对于所有的i和j,i=l,2,…,s(神经元数);j=1,2,…,r(输入向量维),感知器修正权值公式为:上述用来修正感知器权值的学习算法在MATLAB神经网络工具箱中已编成了子程序,成为一个名为1earnp.m的函数。只要直接调用此函数,即可立即获得权值的修正量。此函数所需要的输人变量为:输入矢量P、输出矢量A和目标矢量T。调用命令为:[dW,dB]=learnp(P,A,T);(4-5)754.4网络的训练感知器的训练过程如下: 在输入矢量P的作用下,计算网络的实际输出A,并与相应的目标矢量T进行比较,检查A是否等于T,然后用比较后的误差量,根据学习规则进行权值和偏差的调整; 重新计算网络在新权值作用下的输入,重复权值调整过程,直到网络的输出A等于目标矢量T或训练次数达到事先设置的最大值时训练结束。76感知器设计训练的步骤可总结如下:1)对于所要解决的问题,确定输入矢量P,目标矢量T,并由此确定各矢量的维数以及确定网络结构大小的神经元数目:r,s和q(q-样本分量的维度);2)参数初始化:

a)赋给权矢量w在(-l,1)的随机非零初始值;

b)给出最大训练循环次数max_epoch;3)网络表达式:根据输人矢量P以及最新权矢量W,计算网络输出矢量A;4)检查:检查输出矢量A与目标矢量T是否相同,如果是,或已达最大循环次数,训练结束,否则转入5);5)学习:根据式(4.5)给出的感知器学习规则,调整权矢量,并返回3)。774.5感知器神经网络应用的局限性

首先,感知器的输出只能取0或1。其次,单层感知器只能对线性可分的向量集合进行分类。784.6感知器神经网络设计实例

[例4.1]考虑一个简单的分类问题。设计一个感知器,将二维的四组输入矢量分成两类。输入矢量为:P=[-0.5-0.50.30;

-0.50.5-0.51];目标矢量为:T=[1l00],79代数求解法b=w380当采用感知器神经网络来对此题进行求解时,网络结构图如图所示。

由此可见,对于单层网络,网络的输入神经元数r和输出神经元数s分别由输入矢量P和目标矢量T唯一确定。网络的权矩阵的维数为:Ws×r,Bs×1权值总数为s×r个,偏差个数为s个。在确定了网络结构并设置了最大循环次数和赋予权值初始值后,设计者可方便地利用MATLAB,根据题意以及感知器的学习、训练过程来编写自己的程序。81Examples:Thiscodecreatesaperceptronlayerwithone2-elementinput(ranges[01]and[-22])andoneneuron.(Supplyingonlytwoargumentstonewp

resultsinthedefaultperceptronlearningfunctionLEARNPbeingused.)

net=newp([01;-22],1);

82Nowwedefineaproblem,anORgate,withasetoffour2-elementinputvectorsPandthecorrespondingfour1-elementtargetsT.

P=[0011;0101];

T=[0111];

83Herewesimulatethenetwork‘soutput,trainforamaximumof20epochs,andthensimulateitagain.Y=sim(net,P)

net.trainParam.epochs=20;

net=train(net,P,T);

Y=sim(net,P)%Y是网络的实际输出Notes:Perceptronscanclassifylinearlyseparableclassesinafiniteamountoftime.Ifinputvectorshavealargevarianceintheirlengths,theLEARNPNcanbefasterthanLEARNP.844.7作业1.熟悉net的属性及与感知器相关的函数。2设P=[-1,1,-1,1,-1,1,-1,1; -1,-1,1,1,-1,-1,1,1; -1,-1,-1,-1,1,1,1,1] T=[0,1,0,0,1,1,0,1]

请画出感知器网络结构图,并编写MATLAB程序解该分类问题。

如T=[0,0,0,0,1,1,1,1;

0,0,0,0,1,1,1,1]

请画出感知器网络结构图,并编写MATLAB程序解该分类问题。

85一个例子pr=[02;-22];net=newp(pr,1,‘’,‘’);%只有1个神经元,后面两个参数表示默认传递函数为hardlims,学习函数learnp%net=newp(pr,1,‘hardlims’,‘learnpn’);则不用传递函数、学习函数net.trainParam.epochs=10;net=train(net,P,T)86P=[-0.5-0.60.7;0.800.1];T=[110];net=newp([-11;-11],1);handle=plotpc(net.iw{1},net.b{1});net.trainParam.epochs=10;net=train(net,P,T);Q=[0.60.9-0.1;-0.1-0.50.5];Y=sim(net,Q);figure;plotpv(Q,Y);handle=plotpc(net.iw{1},net.b{1},handle);874.8感知器的局限性

由于感知器的激活函数采用的是阀值函数,输出矢量只能取0或1,所以只能用它来解决简单的分类问题;感知器仅能够线性地将输入矢量进行分类。感知器还有另外一个问题,当输入矢量中有一个数比其他数都大或小得很多时,可能导致较慢的收敛速度。88第5章自适应线性元件AdaptiveLinearElement

----简称Adaline由威德罗(Widrow)和霍夫(Hoff)首先提出的.它与感知器的主要不同之处在于其神经元有一个线性激活函数,这允许输出可以是任意值,而不仅仅只是像感知器中那样只能取0或1。它采用的是W-H学习法则,也称最小均方差(LMS)规则对权值进行训练自适应线性元件的主要用途是线性逼近一个函数式而进行模式联想。905.1自适应线性神经元模型和结构

图5.1自适应线性神经网络的结构915.2W-H学习规则(WidrowHoff)W-H学习规则是由威德罗和霍夫提出的,用来修正权矢量的学习规则采用W-H学习规则可以用来训练一定网络的权值和偏差使之线性地逼近一个函数式而进行模式联想(PatternAssociation)。92定义一个线性网络的输出误差函数为:WP中含偏置,展开为WP+B目的是通过调节权矢量,使E(W,B)达到最小值。所以在给定E(W,B)后,利用W-H学习规则修正权矢量和偏差矢量,使E(W,B)从误差空间的某一点开始,沿着E(W,B)的斜面向下滑行。93根据梯度下降法,权矢量的修正值正比于当前位置上E(W,B)的梯度,对于第i个输出节点有:或表示为:(5.3)94η为学习速率。在一般的实际运用中,实践表明,η通常取一接近1的数,或取值为:(5.5)学习速率的这一取法在神经网络工具箱中用函数maxlinlr.m来实现。(5.5)式可实现为:95

W-H学习规则的计算公式

W-H学习规则的函数用learnwh.m来实现,加上线性自适应网络输出函数purelin.m(系统的),可以写出

W-H学习规则的计算公式为:

A=purelin(W*P,B);%网络输出

E=T-A;

[dW,dB]=learnwh(P,E,lr);%增量

W=W十dW;%修改

B=B十dB;采用W-H规则训练自适应线性元件使其能够得以收敛的必要条件是被训练的输入矢量必须是线性独立的,且应适当地选择学习速率以防止产生振荡现象。965.3网络训练自适应线性元件的网络训练过程可以归纳为以下三个步骤:(1)表达:计算训练的输出矢量A=W*P十B,以及与期望输出之间的误差E=T-A;(2)检查:将网络输出误差的平方和与期望误差相比较,如果其值小于期望误差,或训练已达到事先设定的最大训练次数,则停止训练;否则继续;(3)学习:采用W-H学习规则计算新的权值和偏差,并返回到(1)。975.4例题与分析

[例5.1]设计自适应线性网络实现从输入矢量到输出矢量的变换关系。其输入矢量和输出矢量分别为:

P=[1.0-1.2]T=[0.51.0]98自适应线性元件网络的训练过程如下:trainwh.m

function[W,B,epoch,SSE]=trainwh(W,B,P,T,TP)max_epoch=TP(2);err_goal=TP(3);lr=TP(4);A=purelin(W*P,B);%或A=purelin(W*P+B);E=T-A;SSE=sumsqr(E); %求误差平方和forepoch=1:max_epoch

%循环训练ifSSE<err_goal

%比较误差epoch=epoch-1;break %若满足期望误差要求,结束训练end[dW,dB]=1earnwh(P,E,lr);%修正权值W=W十dW;B=B十dB;A=purelin(W*P,B); %网络输出,或A=purelin(W*P+B);E=T-A;SSE=sumsqr(E); %计算网络误差平方和end99%wf1.m%P=[1-1.2];T=[0.51];[R,Q]=size(P);[S,Q]=size(T);[W,B]=rands(S,R);max_epoch=20; %最大循环次数err_goal=0.001; %期望误差lr=0.99*maxlinlr(P,1); %最佳学习速率disp_freq=1; %设置显示频率TP=[disp_freqmax_epocherr_goallr]; %设置参数变量TP[W,B,epochs,error]=trainwh(W,B,P,T,TP)

%进行线性网络权值训练WBepochserror是对前一函数的调用,参数要注意100在随机初始值为:W0=-0.9309;B0=-0.8931的情况下,经过12次循环训练后,网络的输出误差平方和达到0.000949,网络的最终权值为:W=-0.2354;B=0.7066实际上,对于[例5.1]这个简单的例题,它存在一个精确解,且可以用解二元一次方程的方式将P和T值分别对应地代入方程T=W*P十B得:

101可解出e=T-A=0的解为:W=-0.2273;B=0.7273由此看出,对于特别简单的问题,采用自适应线性网络的训练不一定能够得到足够精确的解。因为当训练误差达到期望误差值后,训练即被终止。

102对于具有零误差的自适应线性网络,即输入/输出矢量对存在着严格的线性关系,此时的自适应线性网络的设计可以采用工具箱中另外一个名为solvelin.m的函数。[W,B]=solvelin(P,T)然后可用simulin.m函数来检测所设计的网络:

A=simulin(P,W,B)还可以用sumsqr.m函数来求出误差平方和:

SSE=sumsqr(T-A)103[例5.2]现在来考虑一个较大的多神经元网络的模式联想的设计问题。输入矢量和目标矢量分别为:

104解:由输入矢量和目标输出矢量可得:r=3,s=4,q=4。所以网络的结构如图5.2所示。

这个问题的求解同样可以采用线性方程组求出,即对每一个输出节点写出输入和输出之间的关系等式。

105实际上要求出这16个方程的解是需要花费一定的时间的,甚至是不太容易的。对于一些实际问题,常常并不需要求出其完美的零误差时的解。也就是说允许存在一定的误差。在这种情况下,采用自适应线性网络求解就显示出它的优越性:因为它可以很快地训练出满足一定要求的网络权值。

106%wf2.m%P=[11.51.2–0.3;-123–0.5;21–1.60.9];T=[0.53–2.21.4;1.1–1.21.7–0.4;30.2–1.8–0.4;-10.1–1.00.6];disp_freq=400; %中间不显示结果max_epoch=400;err_goal=0.001;lr=0.99*maxlinlr(P);W=[1.9978–0.5959–0.3517;1.55430.053311.3660; 1.06720.3645–0.9227;-0.77471.3839–0.3384];%初始权值B=[0.0746;-0.0642;-0.4256;-0.6433];%偏值SSE=sumsqr(T-purelin(W*P,B)); %未训练前误差fprintf(‘Beforetraining,sumsquarederror=%g.\n’,SSE)107%训练网络tp=[disp_freqmax_epocherr_goallr]; %设置参数变量tp[W,B,epochs,errors]=trainwh(W,B,P,T,tp);%进行线性网络权值训练W %显示最终训练权矢量B %显示最终训练偏差矢量SSE=sumsqr(T-purelin(W*P,B)); %最终误差%显示结果并给出结论ploterr(errors),fprintf(‘\nAfter

%depochs,sumsquarederror=%g.\n\n’,epochs,SSE),fprintf(‘Trainednetworkoperates:’);ifSSE<err_goal

disp(‘Adequately.’)else

disp(‘Inadequately.’)end108W=-2.46002.28343.15212.1889-1.8127-2.06012.0887-1.26530.0432-1.69130.97780.9927B=-1.04371.2097-0.4432-0.3136109训练后的网络权值为:

网络训练过程中的误差记录

110对于存在零误差的精确权值网络,若用函数solvelin.m来求解,则更加简单如下:%wf3.m%P=[11.51.2–0.3;-123–0.5;21–1.60.9];T=[0.53–2.21.4;1.1–1.21.7–0.4;30.2–1.8-0.4;-10.1–1.00.6];[W,B]=solvelin(P,T);A=simulin(P,W,B);SSE=sumsqr(T-A)WB111由此可得零误差的唯一精确解为:

112[例5.3]设计训练一个线性网络实现下列从输人矢量到目标矢量的变换:

所给出的输入矢量元素之间是线性相关的:第三组元素等于第二组元素的两倍减去第一组:P3=2P2-P1。

由于输入矢量的奇异性,用函数solvelin.m来设计时网络会产生问题。只有在能够线性地解出问题的情况下,用函数solvelin.m才比较准确。

113只要将前面已编写的wf2.m程序中的输入与目标矢量改变一下,并给出(—l,1)之间的随机初始值,即可运行看到本例的结果。其最终误差在1.04左右,这就是本例题下的最小误差平方和,而当采用完全线性函数的设计solvelin.m去求解网络权值时,所得到的误差是4.25。采用W-H算法训练出的误差是它的1/4,由此可见其算法的优越性。

114[例5.4]现在假定在[例5.1]的输入/输出矢量中增加两组元素,使其变为P=[1.01.53.0-1.2]T=[0.51.13.0-1.0]本例题的目的是在于了解自适应线性网络的线性逼近求解的能力。

图5.4给出了输入输出对的位置以及网络求解的结果。对于所设置的err_goal=0.001,在循环训练了50次后所得的误差平方和仍然为:SSE=0.289。这个值即是本题所能达到的最小误差平方和的值。当采用线性自适应线性网络求解问题所得到的误差特别大时,可以认为此问题不适宜用线性网络来解决。115图5.4网络训练结果图

116自适应线性网络还有另一个潜在的困难,当学习速率取得较大时,可导致训练过程的不稳定。

[例5.5]输入/目标矢量与[例5.1]相同。我们将以不同的学习速率训练两次网络以展现两种不希望的学习速率带来的影响。以例5.1为样本,1)对于第一个尝试,学习速率lr取:1r=1.7*maxlinlr(P);2)第二个尝试是选用更大学习速率:1r=2.5*maxlinlr(P);

1171185.5对比与分析

感知器和自适应线性网络

(1)网络模型结构上

感知器和自适应线性网络而言,结构上的主要区别在于激活函数:一个是二值型的,一个线性的。

当把偏差与权值考虑成一体时,自适应线性网络的输入与输出之间的关系可以写成A=W*P。如果P是满秩的话,则可以写成AP-1=W,或W=A/P。

119(2)学习算法

感知器的算法是最早提出的可收敛的算法,它的自适应思想被威德罗和霍夫发展成使其误差最小的梯度下降法。最后又在BP算法中得到进一步的推广,它们属于同一类算法。

120(3)适用性与局限性

感知器仅能够进行简单的分类。从前面的例题中已经看出,感知器可以将输入分成两类或四类等。它的局限性是仅能对线性可分的输入进行分类。

自适应线性网络除了像感知器一样可以进行线性分类外,又多了线性逼近,这仅是由于其激活函数可以连续取值而不同于感知器的仅能取0或1的缘故。

121作业:设计一个有三个输入的单层线性网络:P=[232.4-0.6; -246-1; 42-3.21.8]T=[1 6 -4.4 2.8;2.2 -2.4 3.4 -0.8; 6 0.4 -3.6 -0.8; -2 0.2 -2 1.2]1225.6本章小结

1)自适应线性网络仅可以学习输入输出矢量之间的线性关系,可用于模式联想及函数的线性逼近。网络结构的设计完全由所要解决的问题所限制,网络的输入数目和输出层中神经元数目,由问题所限制;2)多层线性网络不产生更强大的功能,从这个观点上看,单层线性网络不比多层线性网络有局限性;3)输入和输出之间的非线性关系不能用一个线性网络精确地设计出,但线性网络可以产生一个具有误差平方和最小的线性逼近。123人工神经网络及其应用

第6章 BP神经网络一、内容回顾二、BP网络三、网络设计四、改进BP网络五、内容小结内容安排125一、内容回顾

感知机自适应线性元件126一、内容回顾

感知机感知机简介神经元模型网络结构功能解释学习和训练局限性自适应线性元件127一、内容回顾

感知机自适应线性元件Adline简介网络结构网络学习网络训练1282.1BP网络简介2.2网络模型2.3学习规则2.4图形解释2.5网络训练二、BP网络129反向传播网络(Back-PropagationNetwork,简称BP网络)是将W-H学习规则一般化,对非线性可微分函数进行权值训练的多层网络权值的调整采用反向传播(Back-propagation)的学习算法它是一种多层前向反馈神经网络,其神经元的变换函数是S型函数输出量为0到1之间的连续量,它可实现从输入到输出的任意的非线性映射2.1BP神经网络130BP网络主要用于下述方面函数逼近:用输入矢量和相应的输出矢量训练一个网络逼近一个函数模式识别和分类:用一个特定的输出矢量将它与输入矢量联系起来;把输入矢量以所定义的合适方式进行分类;数据压缩:减少输出矢量维数以便于传输或存储具有较强泛化性能:使网络平滑地学习函数,使网络能够合理地响应被训练以外的输入泛化性能只对被训练的输入/输出在最大值范围内的数据有效,即网络具有内插值特性,不具有外插值性。超出最大训练值的输入必将产生大的输出误差2.1BP神经网络1312.2网络模型一个具有r个输入和一个隐含层的神经网络模型结构

132感知器和自适应线性元件的主要差别在激活函数上:前者是二值型的,后者是线性的BP网络具有一层或多层隐含层,除了在多层网络上与前面已介绍过的模型有不同外,其主要差别也表现在激活函数上。BP网络的激活函数必须是处处可微的,因此它不能采用二值型的阀值函数{0,1}或符号函数{-1,1}BP网络经常使用的是S型的对数或正切激活函数和线性函数2.1网络模型133BP网络特点输入和输出是并行的模拟量网络的输入输出关系由各层连接的权因子决定,没有固定的算法权因子通过学习信号调节。学习越多,网络越聪明隐含层越多,网络输出精度越高,且个别权因子的损坏不会对网络输出产生大的影响只有当希望对网络的输出进行限制,如限制在0和1之间,那么在输出层应当包含S型激活函数在一般情况下,均是在隐含层采用S型激活函数,而输出层采用线性激活函数2.1网络模型134S型函数具有非线性放大系数功能,可以把输入从负无穷大到正无穷大的信号,变换成-1到l之间输出对较大的输入信号,放大系数较小;而对较小的输入信号,放大系数则较大采用S型激活函数可以处理和逼近非线性输入/输出关系2.1网络模型1352.3学习规则BP算法属于δ算法,是一种监督式的学习算法主要思想对于q个输入学习样本:P1,P2,…,Pq,已知与其对应的输出样本为:T1,T2,…,Tq使网络输出层的误差平方和达到最小用网络的实际输出A1,A2,…,Aq,与目标矢量T1,T2,…,Tq之间的误差修改其权值,使Am与期望的Tm,(m=l,…,q)尽可能接近136BP算法是由两部分组成,信息的正向传递与误差的反向传播正向传播过程中,输入信息从输入层经隐含层逐层计算传向输出层,每一层神经元的状态只影响下一层神经元的状态如果在输出层未得到期望的输出,则计算输出层的误差变化值,然后转向反向传播,通过网络将误差信号沿原来的连接通路反传回来修改各层神经元的权值直至达到期望目标2.3学习规则137假设输入为P,输入神经元有r个,隐含层内有s1个神经元,激活函数为F1,输出层内有s2个神经元,对应的激活函数为F2,输出为A,目标矢量为T2.3学习规则...138信息的正向传递隐含层中第i个神经元的输出输出层第k个神经元的输出定义误差函数2.3学习规则1392.3学习规则利用梯度下降法求权值变化及误差的反向传播输出层的权值变化其中同理可得1402.3学习规则利用梯度下降法求权值变化及误差的反向传播输入到隐含层权值变化其中同理可得141对于f1为对数S型激活函数:对于f2为线性激活函数2.3学习规则1422.4误差反向传播图形解释误差反向传播过程实际上是通过计算输出层的误差ek,然后将其与输出层激活函数的一阶导数f2’相乘来求得δki由于隐含层中没有直接给出目标矢量,所以利用输出层的δki反向传递来求出隐含层权值的变化量Δw2ki。然后计算同样通过将ei与该层激活函数的一阶导数f1’相乘,而求得δij,以此求出前层权值的变化量Δw1ij如果前面还有隐含层,沿用上述同样方法依此类推,一直将输出误差ek逐层的反推算到第一层为止1432.4误差反向传播图形解释1442.5网络训练训练BP网络,需要计算网络加权输入矢量以及网络输出和误差矢量,然后求误差平方和当所训练矢量的误差平方和小于误差目标,训练停止;否则在输出层计算误差变化,且采用反向传播学习规则来调整权值,然后重复此过程网络完成训练后,对网络输入一个不是训练集合中的矢量,网络将以泛化方式给出输出结果1452.5网络训练为了能够较好地掌握BP网络的训练过程,我们用两层网络为例来叙述BP网络的训练步骤初始化:用小的随机数初始化每一层的权值W和偏差B,保证网络不被大的加权输入饱和期望误差最小值:error_goal最大循环次数:max_epoch修正权值的学习速率:lr一般情况下,lr=0.l~0.81462.5网络训练变量表达:计算网络各层输出矢量A1和A2以及网络误差EA1=tansig(W1*P,B1);A2=purelin(W2*A1,B2);E=T-A;权值修正:计算各层反传的误差变化D2和D1并计算各层权值的修正值以及新权值:D2=deltalin(A2,E);D1=deltatan(A1,D2,W2);[dWl,dBl]=learnbp(P,D1,lr);[dW2,dB2]=1earnbp(A1,D2,1r);W1=W1十dW1;B1=B1十dBl;W2=W2十dW2;B2=B2十dB21472.5网络训练计算权值修正后误差平方和SSE=sumsqr(T-purelin(W2*tansig(W1*P,B1),B2))检查:SSE是否小于err_goal。若是,训练结束;否则继续以上所有的学习规则与训练的全过程,可以用函数trainbp.m来完成它的使用只需定义有关参数:显示间隔次数,最大循环次数,目标误差,以及学习速率。调用后返回训练后权值,循环总数和最终误差TP=[disp_freqmax_epocherr_goallr][W,B,epochs,errors]=trainbp(W,B,’F’,P,T,TP)148三、网络设计3.1网络的层数3.2隐含层神经元数3.3初始权值的选取3.4学习速率3.5期望误差的选取3.6应用举例3.7局限性1493.1网络的层数理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。定理:增加层数主要可以进一步的降低误差,提高精度,但同时也使网络复杂化,从而增加了网络权值的训练时间。一般情况下应优先考虑增加隐含层中神经元数仅用具有非线性激活函数的单层网络来解决问题没有必要或效果不好线性问题非线性问题1503.2隐含层神经元数网络训练精度的提高,可以通过采用一个隐含层,而增加其神经元数的方法来获得。这在结构实现上,要比增加更多的隐含层简单得多定理:实现任意N个输入向量构成的任何布尔函数的前向网络所需权系数数目为在具体设计时,比较实际的做法是通过对不同神经元数进行训练对比,去掉不起作用的隐单元,然后适当地加上一点余量151隐含层神经元数输入r维,输出s2维,样本数q下,隐单元数s1:1523.3初始权值的选取一般取初始权值在(-1,1)之间的随机数威得罗等人在分析了两层网络是如何对一个函数进行训练后,提出一种选定初始权值的策略选择权值的量级为在MATLAB工具箱中可采用函数nwlog.m或nwtan.m来初始化隐含层权值W1和B1。其方法仅使用在第一隐含层的初始值的选取上,后面层的初始值仍然采用随机取数1533.4学习速率学习速率决定每一次循环训练中所产生的权值变化量大的学习速率可能导致系统的不稳定小的学习速率导致较长的训练时间,可能收敛很慢,不过能保证网络的误差值不跳出误差表面的低谷而最终趋于最小误差值所以在一般情况下,倾向于选取较小的学习速率以保证系统的稳定性。学习速率的选取范围在0.1-0.8之间1543.5期望误差值选取在设计网络的训练过程中,期望误差值也应当通过对比训练后确定一个合适的值这个所谓的“合适”,是相对于所需要的隐含层的节点数来确定,因为较小的期望误差值是要靠增加隐含层的节点,以及训练时间来获得一般情况下,作为对比,可以同时对两个不同期望误差值的网络进行训练,最后通过综合因素的考虑来确定采用其中一个网络1553.6应用举例求解函数逼近问题有21组单输入矢量和相对应的目标矢量,试设计神经网络来实现这对数组的函数关系P=-1:0.1:1T=[-0.96-0.577-0.07290.3770.6410.660.4610.1336-0.201-0.434-0.5-0.393-0.16470.09880.30720.3960.34490.1816-0.0312-0.2183-0.3201]测试集P2=-1:0.025:1156网络设计:输入输出单元个数均为1.隐含层神经元个数在3~8之间。用可变的隐含层神经元个数,通过误差对比,确定最佳个数,并检验对网络性能的影响。代码:s=3:8;res=1:6;fori=1:6net=newff(minmax(P),[s(i),1],{'tansig','logsig'},'traingdx');net.trainParam.epochs=2000;net.trainParam.goal=0.0001;net=train(net,P,T);y=sim(net,P);error=y-T;res(i)=norm(error);endres=1.59441.55471.57781.57721.47161.4403隐层输出层训练函数,也可选:

trainlm或

traingd3~8个隐单元计算后的输出误差情况157s=3:20;res=zeros(1,18);fori=1:18%18个BP网,每个的隐结点数为s(i)net=newff(minmax(P),[s(i),1],{'tansig','logsig'},'traingdx');

net.trainParam.epochs=5000;

net.trainParam.goal=0.0001;net=train(net,P,T);y=sim(net,P);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论