BP神经网络详解与实例讲

上传人:ni****g 文档编号:568592330 上传时间:2024-07-25 格式:PPT 页数:62 大小:851.50KB
返回 下载 相关 举报
BP神经网络详解与实例讲_第1页
第1页 / 共62页
BP神经网络详解与实例讲_第2页
第2页 / 共62页
BP神经网络详解与实例讲_第3页
第3页 / 共62页
BP神经网络详解与实例讲_第4页
第4页 / 共62页
BP神经网络详解与实例讲_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《BP神经网络详解与实例讲》由会员分享,可在线阅读,更多相关《BP神经网络详解与实例讲(62页珍藏版)》请在金锄头文库上搜索。

1、人工神经网络人工神经网络 (Artificial Neural Netwroks -ANN) -HZAU 数模基地数模基地引引 言言v利用机器模仿人类的智能是长期以来人们认识自利用机器模仿人类的智能是长期以来人们认识自然、改造自然和认识自身的理想。然、改造自然和认识自身的理想。v 研究研究ANN目的:目的:v(1)探索和模拟人的感觉、思维和行为的规律,)探索和模拟人的感觉、思维和行为的规律,设计具有人类智能的计算机系统。设计具有人类智能的计算机系统。v(2)探讨人脑的智能活动,用物化了的智能来)探讨人脑的智能活动,用物化了的智能来考察和研究人脑智能的物质过程及其规律。考察和研究人脑智能的物质过

2、程及其规律。 ANN的研究内容的研究内容(1)理论研究理论研究:ANN模型及其学习算法,试图从数模型及其学习算法,试图从数学上描述学上描述ANN的动力学过程,建立相应的的动力学过程,建立相应的ANN模模型,在该模型的基础上,对于给定的学习样本,型,在该模型的基础上,对于给定的学习样本,找出一种能以较快的速度和较高的精度调整神经找出一种能以较快的速度和较高的精度调整神经元间互连权值,使系统达到稳定状态,满足学习元间互连权值,使系统达到稳定状态,满足学习要求的算法。要求的算法。(2)实现技术的研究实现技术的研究:探讨利用电子、光学、生物:探讨利用电子、光学、生物等技术实现神经计算机的途径。等技术实

3、现神经计算机的途径。(3)应用的研究应用的研究:探讨如何应用:探讨如何应用ANN解决实际问题,解决实际问题,如模式识别、故障检测、智能机器人等。如模式识别、故障检测、智能机器人等。 研究研究ANN方法方法(1)生理结构的模拟:生理结构的模拟: 用仿生学观点,探索人脑的生理结构,把用仿生学观点,探索人脑的生理结构,把对人脑的微观结构及其智能行为的研究结合起对人脑的微观结构及其智能行为的研究结合起来即人工神经网络(来即人工神经网络(Artificial Neural Netwroks,简称,简称ANN)方法。)方法。(2)宏观功能的模拟:)宏观功能的模拟: 从人的思维活动和智能行为的心理学特性从人

4、的思维活动和智能行为的心理学特性出发,利用计算机系统来对人脑智能进行宏观出发,利用计算机系统来对人脑智能进行宏观功能的模拟,即符号处理方法。功能的模拟,即符号处理方法。ANNANN研究的目的和意义研究的目的和意义(1)(1)通过揭示物理平面与认知平面之间的映射,了通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思解它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。维的本质,探索智能的本源。(2)(2)争取构造出尽可能与人脑具有相似功能的计算争取构造出尽可能与人脑具有相似功能的计算机,即机,即ANNANN计算机。计算机。(3)研究仿照脑神经系统的人

5、工神经网络,将在模研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计式识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。算机所难以达到的效果。 神经网络研究的发展神经网络研究的发展(1)(1)第一次热潮第一次热潮(40-60(40-60年代未年代未) ) 1943 1943年年, ,美国心理学家美国心理学家W.McCullochW.McCulloch和数学家和数学家W.PittsW.Pitts在提出了一个简单的神经元模型,即在提出了一个简单的神经元模型,即MPMP模型。模型。19581958年,年,F.RosenblattF.Rosenblatt等研

6、制出了感知机等研制出了感知机(Perceptron(Perceptron)。)。(2)低潮低潮(70- -80年代初年代初) ):(3)第二次热潮第二次热潮 1982年,美国物理学家年,美国物理学家J.J.Hopfield提出提出Hopfield模型,它是一个互联的非线性动力学网络模型,它是一个互联的非线性动力学网络. .他解决问题的他解决问题的方法是一种反复运算的动态过程方法是一种反复运算的动态过程, ,这是符号逻辑处理方法这是符号逻辑处理方法所不具备的性质所不具备的性质. . 1987年首届国际年首届国际A ANN大会在圣地亚哥召大会在圣地亚哥召开,国际开,国际A ANN联合会成立,创办了

7、多种联合会成立,创办了多种A ANN国际刊物。国际刊物。1990年年12月,北京召开首届学术会议。月,北京召开首届学术会议。人工神经网络人工神经网络研究的局限性研究的局限性(1 1)ANNANN研究受到脑科学研究成果的限制。研究受到脑科学研究成果的限制。 (2 2)ANNANN缺少一个完整、成熟的理论体系。缺少一个完整、成熟的理论体系。(3 3)ANNANN研究带有浓厚的策略和经验色彩。研究带有浓厚的策略和经验色彩。(4)ANN与传统技术的接口不成熟。与传统技术的接口不成熟。 人工神经网络概述人工神经网络概述 v什么是什么是人工神经网络人工神经网络?vT.Koholen的定义:的定义:“人工神

8、经网络人工神经网络是由是由 具有具有适应性的简单单元组成的广泛并行互连的网络,适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应。体所作出的交互反应。” 二、神经元与神经网络二、神经元与神经网络v大脑可视作为1000多亿神经元组成的神经网络 图3 神经元的解剖图v神经元的信息传递和处理是一种电化学活动树突由于电化学作用接受外界的刺激;通过胞体内的活动体现为轴突电位,当轴突电位达到一定的值则形成神经脉冲或动作电位;再通过轴突末梢传递给其它的神经元从控制论的观点来看;这一过程可以看作一个多输入单输出非线性系统

9、的动态过程神经网络研究的两个方面从生理上、解剖学上进行研究从工程技术上、算法上进行研究脑神经信息活动的特征脑神经信息活动的特征(1)(1)巨量并行性。巨量并行性。(2)(2)信息处理和存储单元结合在一起。信息处理和存储单元结合在一起。(3)自组织自学习功能。自组织自学习功能。 神经网络基本模型神经网络基本模型v神经元的数学模型 图4神经元的数学模型 v其中x(x1,xm)T 输入向量,y为输出,wi是权系数;输入与输出具有如下关系:为阈值,f(X)是激发函数;它可以是线性函数,也可以是非线性函数 例如,若记 取激发函数为符号函数 则 S型激发函数: 或或 v注:若将阈值看作是一个权系数,-1是

10、一个固定的输入,另有m-1个正常的输入,则(1)式也可表示为: (1) 参数识别:假设函数形式已知,则可以从已有的输入输出数据确定出权系数及阈值。 2 2、神经网络的数学模型、神经网络的数学模型 v众多神经元之间组合形成神经网络,例如下图的含有中间层(隐层)的B-P网络 基本基本BP网络的拓扑结构网络的拓扑结构b1bia1c1cqcjahbpanWp1WiqWpjW1qW1jWijV11W11WpqWi1Vh1VhiV1iVn1VniV1pVhpVnp输出层输出层LC隐含层隐含层LB输入层输入层LAWV ANN类型与功能 一般而言, ANN与经典计算方法相比并非优越, 只有当常规方法解决不了或

11、效果不佳时ANN方法才能显示出其优越性。尤其对问题的机理不甚了解或不能用数学模型表示的系统,如故障诊断、特征提取和预测等问题,ANN往往是最有利的工具。另一方面, ANN对处理大量原始数据而不能用规则或公式描述的问题, 表现出极大的灵活性和自适应性。人工神经网络人工神经网络(Artificial Neuron Nets=ANN) 例 1981年生物学家格若根(W Grogan)和维什(WWirth)发现了两类蚊子(或飞蠓midges)他们测量了这两类蚊子每个个体的翼长和触角长,数据如下:翼长 触角长 类别 1.64 1.38 Af 1.82 1.38 Af 1.90 1.38 Af 1.70

12、1.40 Af 1.82 1.48 Af 1.82 1.54 Af 2.08 1.56 Af翼长 触角长 类别1.78 1.14 Apf1.96 1.18 Apf1.86 1.20 Apf1.72 1.24 Af2.00 1.26 Apf2.00 1.28 Apf1.96 1.30 Apf1.74 1.36 Afv问:如果抓到三只新的蚊子,它们的触角长和翼长分别为(l.24,1.80); (l.28,1.84);(1.40,2.04)问它们应分别属于哪一个种类? 解法一: 把翼长作纵坐标,触角长作横坐标;那么每个蚊子的翼长和触角决定了坐标平面的一个点.其中 6个蚊子属于 APf类;用黑点“”表

13、示;9个蚊子属 Af类;用小圆圈“。”表示得到的结果见图1 图1飞蠓的触角长和翼长 v思路:作一直线将两类飞蠓分开 例如;取A(1.44,2.10)和 B(1.10,1.16),过A B两点作一条直线: y 1.47x - 0.017其中X表示触角长;y表示翼长 分类规则:设一个蚊子的数据为(x, y) 如果y1.47x - 0.017,则判断蚊子属Apf类; 如果y1.47x - 0.017;则判断蚊子属Af类 v分类结果:(1.24,1.80),(1.28,1.84)属于Af类;(1.40,2.04)属于 Apf类图2 分类直线图 缺陷:根据什么原则确定分类直线? 若取A=(1.46,2.

14、10), B=(1.1,1.6)不变,则分类直线变为 y=1.39x+0.071分类结果变为: (1.24,1.80), (1.40,2.04) 属于Apf类; (1.28,1.84)属于Af类 哪一分类直线才是正确的呢? 因此如何来确定这个判别直线是一个值得研究的问题一般地讲,应该充分利用已知的数据信息来确定判别直线v再如,如下的情形已经不能用分类直线的办法: 新思路:将问题看作一个系统,飞蠓的数据作为输入,飞蠓的类型作为输出,研究输入与输出的关系。基本基本BP网络的拓扑结构网络的拓扑结构b1bia1c1cqcjahbpanWp1WiqWpjW1qW1jWijV11W11WpqWi1Vh1V

15、hiV1iVn1VniV1pVhpVnp输出层输出层LC隐含层隐含层LB输入层输入层LAWV四、反向传播算法(四、反向传播算法(B-PB-P算法)算法) Back propagation algorithm 1简单网络的简单网络的B-P算法算法 算法的目的:根据实际的输入与输出数据,计算模型的参数(权系数)图6 简单网络v假设有P个训练样本,即有P个输入输出对v(Ip, Tp),p=1,P, 其中 输入向量为 : 目标输出向量为(实际上的): 网络输出向量为 (理论上的) (p=1,P) (2) 记wij为从输入向量的第j (j=1,m) 个分量到输出向量的第i (i=1,n)个分量的权重。通

16、常理论值与实际值有一误差,网络学习则是指不断地把与比较,并根据极小原则修改参数wij,使误差平方和达最小:记Delta学习规则: (4) (3) 表示递推一次的修改量,则有称为学习的速率 ipm= -1 , wim= (第i个神经元的阈值) (5)注:由(1) 式,第i个神经元的输出可表示为特别当f是线性函数时 (6)图7 多层前馈网络 2多层前馈网络 (l)输入层不计在层数之内,它有N0个神经元设网络 共有L层;输出层为第L层;第 k层有Nk个神经元假设:假设: (2) 设表示第k层第i神经元所接收的信息 wk(i,j) 表示从第k-1层第j个元到第k层第i个元的权重, 表第k层第i个元的输

17、出 (3)设层与层间的神经元都有信息交换(否则,可设它们之间的权重为零);但同一层的神经元之间无信息传输 (4) 设信息传输的方向是从输入层到输出层方向;因此称为前向网络没有反向传播信息 (5) 表示输入的第j个分量 假设:假设: 在上述假定下网络的输入输出关系可以表示为:(7) 其中表示第k层第i个元的阈值. 定理2 对于具有多个隐层的前馈神经网络;设激发函数为S 函数;且指标函数取 (8 8)(9)则每个训练循环中按梯度下降时;其权重迭代公式为( 10 )表示第-1层第个元对第层第个元输入的第次迭代时的权重 其中其中 (11)(12)BP算法 Step1 选定学习的数据,p=1,P, 随机

18、确定初始权矩阵W(0)Step2 用(10)式反向修正,直到用完所有学习数据.用学习数据计算网络输出Step3 五应用之例:蚊子的分类五应用之例:蚊子的分类 已知的两类蚊子的数据如表1: v翼长 触角长 类别v1.78 1.14 Apfv1.96 1.18 Apfv1.86 1.20 Apfv1.72 1.24 Afv2.00 1.26 Apfv2.00 1.28 Apfv1.96 1.30 Apfv1.74 1.36 Af目标值目标值0.90.90.90.10.90.90.90.1 v翼长 触角长 类别v 1.64 1.38 Afv 1.82 1.38 Afv 1.90 1.38 Afv 1

19、.70 1.40 Afv 1.82 1.48 Afv 1.82 1.54 Afv 2.08 1.56 Af目标t0.10.10.10.10.10.10.1 v输入数据有15个,即 , p=1,15; j=1, 2; 对应15个输出。v建模:(输入层,中间层,输出层,每层的元素应取多少个?)v建立神经网络v规定目标为: 当t(1)=0.9 时表示属于Apf类,t(2)=0.1表示属于Af类。v设两个权重系数矩阵为:为阈值 其中分析如下: 为第一层的输出,同时作为第二层的输入。其中, 为阈值, 为激励函数若令 (作为一固定输入) (阈值作为固定输入神经元相应的权系数) 则有: 取激励函数为= 则同

20、样,取 (1)随机给出两个权矩阵的初值;例如用MATLAB软件时可以用以下语句: 令p=0具体算法如下:具体算法如下: =rand(2,3); =rand(1,3); (2) 根据输入数据利用公式算出网络的输出 =取取(3)计算 因为 所以 (4)取 (或其他正数,可调整大小) (5) 计算 和 j=1,2,3, i=1,2,3, 计算 j=1,2,3 j=1,2,3v(6) p=p+1,转(2) 注:仅计算一圈(p=1,2,15)是不够的,直到当各权重变化很小时停止,本例中,共计算了147圈,迭代了2205次。最后结果是:v即网络模型的解为: =BP网络建模特点:非线性映照能力:神经网络能以

21、任意精度逼近任何非线性连续函数。在建模过程中的许多问题正是具有高度的非线性。并行分布处理方式:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。自学习和自适应能力:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。神经网络的学习也可以在线进行。数据融合的能力:神经网络可以同时处理定量信息和定性信息,因此它可以利用传统的工程技术(数值运算)和人工智能技术(符号处理)。多变量系统:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式,不必考虑各子系统间的

22、解耦问题。神经网络的应用神经网络的应用 人工神经网络以其具有自学习、自组织、较好的容错性和优良的非线性逼近能力,受到众多领域学者的关注。在实际应用中,80%90%的人工神经网络模型是采用误差反传算法或其变化形式的网络模型(简称BP网络),目前主要应用于函数逼近、模式识别、分类和数据压缩或数据挖掘。 基本基本BP网络的拓扑结构网络的拓扑结构b1bia1c1cqcjahbpanWp1WiqWpjW1qW1jWijV11W11WpqWi1Vh1VhiV1iVn1VniV1pVhpVnp输出层输出层LC隐含层隐含层LB输入层输入层LAWV1.样本数据样本数据1.1 收集和整理分组收集和整理分组 采用B

23、P神经网络方法建模的首要和前提条件是有足够多典型性好和精度高的样本。而且,为监控训练(学习)过程使之不发生“过拟合”和评价建立的网络模型的性能和泛化能力,必须将收集到的数据随机分成训练样本、检验样本(10%以上)和测试样本(10%以上)3部分。此外,数据分组时还应尽可能考虑样本模式间的平衡。2.神经网络拓扑结构的确定神经网络拓扑结构的确定2.1 隐层数隐层数 一般认为,增加隐层数可以降低网络误差Hornik等早已证明:若输入层和输出层采用线性转换函数,隐层采用Sigmoid转换函数,则含一个隐层的MLP网络能够以任意精度逼近任何有理函数。显然,这是一个存在性结论。在设计BP网络时可参考这一点,

24、应优先考虑3层BP网络(即有1个隐层)。一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。 在确定隐层节点数时必须满足下列条件:(1)隐层节点数必须小于N-1输入层的节点数(变量数)必须小于N-1。(2) 训练样本数必须多于网络模型的连接权数,一般为210倍,否则,样本必须分成几部分并采用“轮流训练”的方法才可能得到可靠的神经网络模型。 2.2 隐层节点数隐层节点数 学习率和冲量系数学习率和冲量系数大的学习率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个极小值

25、。所以,一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在0.010.8之间。 增加冲量项的目的是为了避免网络训练陷于较浅的局部极小点。理论上其值大小应与权值修正量的大小有关,但实际应用中一般取常量。通常在01之间,而且一般比学习率要大。 4 网络的初始连接权值网络的初始连接权值由于Sigmoid转换函数的特性,一般要求初始权值分布在-0.50.5之间比较有效。MATLAB神经网络工具箱的应用 在网络训练过程中使用的是Matlab 7.0 for Windows软件,对于BP神经元网络的训练可以使用Neural Networks Toolbox for Matlab。美国的Mat

26、hwork公司推出的MATLAB软件包既是一种非常实用有效的科研编程软件环境,又是一种进行科学和工程计算的交互式程序。MATLAB本身带有神经网络工具箱,可以大大方便权值训练,减少训练程序工作量,有效的提高工作效率. BP神经网络学习算法的MATLAB实现 vMATLAB中BP神经网络的重要函数和基本功能 函 数 名功 能newff()生成一个前馈BP网络tansig()双曲正切S型(Tan-Sigmoid)传输函数logsig()对数S型(Log-Sigmoid)传输函数traingd()梯度下降BP训练函数BP神经网络学习算法的MATLAB实现vMATLAB中BP神经网络的重要函数和基本功

27、能newff()v功能 建立一个前向BP网络v格式 net = newff(PR,S1 S2.SN1,TF1 TF2.TFN1,BTF,BLF,PF)v说明 net为创建的新BP神经网络;PR为网络输入取向量取值范围的矩阵;S1 S2SNl表示网络隐含层和输出层神经元的个数;TFl TF2TFN1表示网络隐含层和输出层的传输函数,默认为tansig;BTF表示网络的训练函数,默认为trainlm;BLF表示网络的权值学习函数,默认为learngdm;PF表示性能数,默认为mse。 BP神经网络学习算法的MATLAB实现vMATLAB中BP神经网络的重要函数和基本功能tansig()v功能 正切

28、sigmoid激活函数v格式 a = tansig(n)v说明 双曲正切Sigmoid函数把神经元的输入范围从(-,+)映射到(-1,1)。它是可导函数,适用于BP训练的神经元。logsig()v功能 对数Sigmoid激活函数v格式 a = logsig(N)v说明对数Sigmoid函数把神经元的输入范围从(-,+)映射到(0,1)。它是可导函数,适用于BP训练的神经元。BP神经网络学习算法的MATLAB实现v例2-3,下表为某药品的销售情况,现构建一个如下的三层BP神经网络对药品的销售进行预测:输入层有三个结点,隐含层结点数为5,隐含层的激活函数为tansig;输出层结点数为1个,输出层的

29、激活函数为logsig,并利用此网络对药品的销售量进行预测,预测方法采用滚动预测方式,即用前三个月的销售量来预测第四个月的销售量,如用1、2、3月的销售量为输入预测第4个月的销售量,用2、3、4月的销售量为输入预测第5个月的销售量.如此反复直至满足预测精度要求为止。 月份123456销量205623952600229816341600月份789101112销量187314781900150020461556BP神经网络学习算法的MATLAB实现%以每三个月的销售量经归一化处理后作为输入vP =v 0.5152 0.8173 1.0000 0.7308 0.1390 0.1087v 0.8173

30、 1.0000 0.7308 0.1390 0.1087 0.3520v 1.0000 0.7308 0.1390 0.1087 0.3520 0%以第四个月的销售量归一化处理后作为目标向量vT=0.7308 0.1390 0.1087 0.3520 0.0000 0.3761;%创建一个BP神经网络,每一个输入向量的取值范围为0 ,1,隐含层有5个神经%元,输出层有一个神经元,隐含层的激活函数为tansig,输出层的激活函数为%logsig,训练函数为梯度下降函数,即2.3.2节中所描述的标准学习算法vnet=newff(0 1;0 1;0 1,5,1,tansig,logsig,train

31、gd);vnet.trainParam.epochs=15000;vnet.trainParam.goal=0.01;%设置学习速率为0.1vLP.lr=0.1;vnet=train(net,P,T); vsim(net,P)vplot(i,T,B+,i,ans,g*)BP神经网络学习算法的MATLAB实现vBP网络应用于药品预测对比图v由对比图可以看出预测效果与实际存在一定误差,此误差可以通过增加运行步数和提高预设误差精度业进一步缩小BP神经网络的特点v非线性映射能力能学习和存贮大量输入能学习和存贮大量输入-输出模式映射关系,而无需事先了解描述输出模式映射关系,而无需事先了解描述这种映射关系

32、的数学方程。只要能提供足够多的样本模式对供网这种映射关系的数学方程。只要能提供足够多的样本模式对供网络进行学习训练,它便能完成由络进行学习训练,它便能完成由n维输入空间到维输入空间到m维输出空间的非维输出空间的非线性映射。线性映射。v泛化能力当向网络输入训练时未曾见过的非样本数据时,网络也能完成由当向网络输入训练时未曾见过的非样本数据时,网络也能完成由输入空间向输出空间的正确映射。这种能力称为泛化能力。输入空间向输出空间的正确映射。这种能力称为泛化能力。v容错能力输入样本中带有较大的误差甚至个别错误对网络的输入输出规律输入样本中带有较大的误差甚至个别错误对网络的输入输出规律影响很小。影响很小。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号