人工神经网络matlab工具箱.ppt

上传人:wuy****n92 文档编号:86907339 上传时间:2023-04-15 格式:PPT 页数:39 大小:320KB
返回 下载 相关 举报
人工神经网络matlab工具箱.ppt_第1页
第1页 / 共39页
人工神经网络matlab工具箱.ppt_第2页
第2页 / 共39页
点击查看更多>>
资源描述

《人工神经网络matlab工具箱.ppt》由会员分享,可在线阅读,更多相关《人工神经网络matlab工具箱.ppt(39页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、模式识别讲义模式识别讲义第第5章章 人工神经网络人工神经网络xxx嘉应学院 matlab神经网络工具箱神经网络工具箱主要内容主要内容l0 引例引例:神经网络函数拟合神经网络函数拟合(预测预测)l1 matlab神经网络工具箱神经网络工具箱l2 人工神经网络人工神经网络(ANN)简介简介l3 前馈神经网络前馈神经网络(BP网络网络)l4 实例:多元神经网络预测实例:多元神经网络预测l5 实验:神经网络分类实验:神经网络分类0 引例引例:神经网络函数拟合神经网络函数拟合(预测预测)试构造合适的神经网络模型拟合如下数据点试构造合适的神经网络模型拟合如下数据点,并预测并预测x=10的值的值:x00.5

2、11.522.533.544.5y00.430.690.740.610.360.08-0.17-0.34-0.4x55.566.577.588.599.5y-0.35-0.23-0.080.060.160.210.20.150.07-0.01matlab代码代码lx=0:0.5:9.5;ly=0,0.43,0.69,0.74,0.61,0.36,0.08,-0.17,-0.34,-0.4,-0.35,-0.23,-0.08,0.06,0.16,0.21,0.2,0.15,0.07;lnet=newff(0,9.5,5,1);l=100;l=0.000001;lnet=train(net,x,y

3、);lx1=0:0.1:10;ly1=sim(net,x1);lfigure;plot(x,y,.);hold on;plot(x1,y1,r);ffffffxyw11w12w13w14w15w21w22w23w24w25b1b2b3b4b5b网络结构网络结构y=f(w21*f(w11*x+b1)+w25*f(w15*x+b5)+b)w1=net.IW1;w2=net.LW2;b1=net.b1;b2=net.b2;a=tansig(w1*x0+b1);y=tansig(w2*a+b2)Sigmoid函数函数1 matlab神经网络工具箱神经网络工具箱1.1 网络数据对象的建立网络数据对象的建

4、立net=newff(xm,xM,h1,hk,f1,fk);lxm,xM分别为列向量分别为列向量(行数为变量个数行数为变量个数),分别,分别存储每个变量的最小值和最大值。存储每个变量的最小值和最大值。lh1,hk表示网络各层的节点数表示网络各层的节点数,一共有一共有k层层.lf1,fk表示各层使用的传输函数,默认为表示各层使用的传输函数,默认为tansig,即,即Sigmoid函数。还可使用函数函数。还可使用函数purelin,即,即f(x)=x。l其它可看其它可看matlab帮助帮助:help newff1.2 网络数据对象网络数据对象net的属性的属性lnet.IW:来自输入层的加权矩阵。

5、:来自输入层的加权矩阵。BP网络只网络只用用net.IW1,表示各个输入变量对第表示各个输入变量对第1层各节层各节点的加权矩阵。点的加权矩阵。lnet.LW:来自中间层的加权向量。:来自中间层的加权向量。BP网络网络用用net.IW2,1表示第表示第1隐层个节点向下一层隐层个节点向下一层个节点的加权矩阵;个节点的加权矩阵;net.IW3,2表示第表示第2隐隐层向下一层的加权矩阵层向下一层的加权矩阵lnet.b:各层的偏移。:各层的偏移。Net.b1表示第表示第1隐层个隐层个节点的偏移节点的偏移l:最大训练步数。不过当误差准则满足时,即:最大训练步数。不过当误差准则满足时,即使没达到此步数也停止

6、训练。缺省为使没达到此步数也停止训练。缺省为100。l:网络误差准则,当误差小于此准则时停止训:网络误差准则,当误差小于此准则时停止训练,缺省为练,缺省为0。lnet.trainFcn:训练算法。缺省为:训练算法。缺省为 trainlm,即,即Levenberg-Marquardt算法。算法。还可使用还可使用traingdx,即带动量的梯度下,即带动量的梯度下降算法;降算法;traincgf,即共轭梯度法。,即共轭梯度法。l其它可看其它可看matlab帮助帮助:help-contents-Neural Network Toobox-Network Object Reference;lhelp(

7、net.trainFcn)lhelp newfflCaution:trainlm is the default training function because it is very fast,but it requires a lot of memory to run.If you get an out-of-memory error when training try doing one of these:Slow trainlm training,but reduce memory requirements by setting to 2 or more.(See help train

8、lm.)Use trainbfg,which is slower but more memory-efficient than trainlm.Use trainrp,which is slower but more memory-efficient than trainbfg.1.3 网络的训练网络的训练net,tr,Y1,E=train(net,X,Y);lnet是函数是函数newff建立的数据对象。建立的数据对象。lX为为n*m的矩阵的矩阵,n为输入变量个数为输入变量个数,m为为样本数样本数(即把每个样本是一个列向量即把每个样本是一个列向量)。lY为为k*m的矩阵的矩阵,k为数出变量个数

9、。为数出变量个数。ltr返回训练的跟踪信息返回训练的跟踪信息,tr.epochs为训练为训练步数步数,tr.perf为各步目标函数的值。为各步目标函数的值。lY1和和E返回网络最终的输出和误差。返回网络最终的输出和误差。l训练结束后可以用训练结束后可以用plotperf(tr)来绘制目标来绘制目标值随着训练步数变化的曲线。值随着训练步数变化的曲线。1.4 网络的泛化网络的泛化(预测预测)Y=sim(net,X);lnet是函数是函数newff建立的数据对象。建立的数据对象。lX为为n*m的矩阵的矩阵,n为输入变量个数为输入变量个数,m为为样本数样本数(即把每个样本是一个行向量即把每个样本是一个

10、行向量)。lY为为k*m的矩阵的矩阵,k为数出变量个数。为数出变量个数。2 人工神经网络人工神经网络(ANN)简介简介2.1 人工神经网络人工神经网络(ANN)的研究内容的研究内容l(1)理论研究理论研究:ANN模型及其学习算法,试图从模型及其学习算法,试图从数学上描述数学上描述ANN的动力学过程,建立相应的的动力学过程,建立相应的ANN模模型,在该模型的基础上,对于给定的学习样本,找型,在该模型的基础上,对于给定的学习样本,找出一种能以较快的速度和较高的精度调整神经元间出一种能以较快的速度和较高的精度调整神经元间互连权值,使系统达到稳定状态,满足学习要求的互连权值,使系统达到稳定状态,满足学

11、习要求的算法。算法。l(2)实现技术的研究实现技术的研究:探讨利用电子、光学、生物:探讨利用电子、光学、生物等技术实现神经计算机的途径。等技术实现神经计算机的途径。l(3)应用的研究应用的研究:探讨如何应用:探讨如何应用ANN解决实际问解决实际问题,如模式识别、故障检测、智能机器人等。题,如模式识别、故障检测、智能机器人等。2.2 ANN2.2 ANN研究的目的和意义研究的目的和意义l(1)(1)通过揭示物理平面与认知平面之间的映射,了解通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思维的本它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。质,

12、探索智能的本源。l(2)(2)争取构造出尽可能与人脑具有相似功能的计算机,争取构造出尽可能与人脑具有相似功能的计算机,即即ANNANN计算机。计算机。l(3)研究仿照脑神经系统的人工神经网络,将在模式研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。难以达到的效果。2.3 人工神经网络人工神经网络研究的局限性研究的局限性l(1)ANN研究受到脑科学研究成果的限制。研究受到脑科学研究成果的限制。l(2)ANN缺少一个完整、成熟的理论体系。缺少一个完整、成熟的理论体系。l(3)ANN研究带有浓厚的策

13、略和经验色彩。研究带有浓厚的策略和经验色彩。l(4)ANN与传统技术的接口不成熟。与传统技术的接口不成熟。l l 一般而言一般而言,ANN与经典计算方法相比与经典计算方法相比并非优越并非优越,只有当常规方法解决不了或效果不佳时只有当常规方法解决不了或效果不佳时ANN方法才方法才能显示出其优越性。尤其对问题的机理不甚了解或能显示出其优越性。尤其对问题的机理不甚了解或不能用数学模型表示的系统不能用数学模型表示的系统,如故障诊断、特征提取如故障诊断、特征提取和预测等问题和预测等问题,ANN往往是最有利的工具。另一方面往往是最有利的工具。另一方面,ANN对处理大量原始数据而不能用规则或公式描述对处理大

14、量原始数据而不能用规则或公式描述的问题的问题,表现出极大的灵活性和自适应性。表现出极大的灵活性和自适应性。3 前馈神经网络前馈神经网络(BP网络网络)3.1 前馈神经网络前馈神经网络(BP网络网络)的特点的特点l非线性映照能力非线性映照能力:神经网络能以任意精度逼:神经网络能以任意精度逼近任何非线性连续函数。在建模过程中的许近任何非线性连续函数。在建模过程中的许多问题正是具有高度的非线性。多问题正是具有高度的非线性。l并行分布处理方式并行分布处理方式:在神经网络中信息是分:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。错性

15、和很快的处理速度。l自学习和自适应能力自学习和自适应能力:神经网络在训练时,能:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。神经网络的这组权值应用于一般情形的能力。神经网络的学习也可以在线进行。学习也可以在线进行。l数据融合的能力数据融合的能力:神经网络可以同时处理定量:神经网络可以同时处理定量信息和定性信息,因此它可以利用传统的工程信息和定性信息,因此它可以利用传统的工程技术(数值运算)和人工智能技术(符号处理)。技术(数值运算

16、)和人工智能技术(符号处理)。l多变量系统多变量系统:神经网络的输入和输出变量的数:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式,不必考虑各子系统间了一种通用的描述方式,不必考虑各子系统间的解耦问题。的解耦问题。3.2 BP网络网络输入输入/输出变量的确定输出变量的确定lBP网络的输入变量即为待分析系统的内生变网络的输入变量即为待分析系统的内生变量(影响因子或自变量)数,一般根据专业量(影响因子或自变量)数,一般根据专业知识确定。知识确定。若输入变量较多,一般可通过主若输入变量较多,一般可通过主成份分析方法压减

17、输入变量成份分析方法压减输入变量,也可根据剔除,也可根据剔除某一变量引起的系统误差与原系统误差的比某一变量引起的系统误差与原系统误差的比值的大小来压减输入变量。值的大小来压减输入变量。l输出变量即为系统待分析的外生变量(系统输出变量即为系统待分析的外生变量(系统性能指标或因变量),可以是一个,也可以性能指标或因变量),可以是一个,也可以是多个。一般将一个具有多个输出的网络模是多个。一般将一个具有多个输出的网络模型转化为多个具有一个输出的网络模型效果型转化为多个具有一个输出的网络模型效果会更好,训练也更方便。会更好,训练也更方便。3.3 BP网络网络数据的预处理数据的预处理l 由于由于BP神经网

18、络的隐层一般采用神经网络的隐层一般采用Sigmoid转换函数,为提高训练速度和灵敏性以及转换函数,为提高训练速度和灵敏性以及有效避开有效避开Sigmoid函数的饱和区函数的饱和区(即输入值即输入值若大于若大于1,则取为,则取为1),一般要求输入数据的一般要求输入数据的值在值在01之间之间(每个数都除于最大值每个数都除于最大值)。l如果输出层节点也采用如果输出层节点也采用Sigmoid转换函数,转换函数,输出变量也必须作相应的预处理,为保证输出变量也必须作相应的预处理,为保证建立的模型具有一定的外推能力,最好使建立的模型具有一定的外推能力,最好使数据预处理后的输出变量的值在数据预处理后的输出变量

19、的值在0.20.8之之间间。l预处理的数据训练完成后,网络输出的结预处理的数据训练完成后,网络输出的结果要进行果要进行反变换反变换才能得到实际值。才能得到实际值。3.4 BP网络隐层数的确定网络隐层数的确定l一般认为,一般认为,增加隐层数可以降低网络误差增加隐层数可以降低网络误差(也有文献(也有文献认为不一定能有效降低),提高精度,但也使网络复认为不一定能有效降低),提高精度,但也使网络复杂化,从而增加了网络的训练时间和出现杂化,从而增加了网络的训练时间和出现“过拟合过拟合”的倾向。的倾向。lHornik等早已证明:若输入层和输出层采用线性转等早已证明:若输入层和输出层采用线性转换函数,隐层采

20、用换函数,隐层采用Sigmoid转换函数,则含一个隐层转换函数,则含一个隐层的的MLP网络能够以任意精度逼近任何有理函数。显网络能够以任意精度逼近任何有理函数。显然,这是一个存在性结论。在设计然,这是一个存在性结论。在设计BP网络时可参考网络时可参考这一点,这一点,应优先考虑应优先考虑3层层BP网络网络(即有即有1个隐层个隐层+输入输入层输出层层输出层)。一般地,靠增加隐层节点数来获得较低。一般地,靠增加隐层节点数来获得较低的误差,其训练效果要比增加隐层数更容易实现。的误差,其训练效果要比增加隐层数更容易实现。l对于对于没有隐层的神经网络模型没有隐层的神经网络模型,实际上就是一个线性,实际上就

21、是一个线性或非线性(取决于输出层采用线性或非线性转换函数或非线性(取决于输出层采用线性或非线性转换函数型式)回归模型。型式)回归模型。3.5 BP网络隐层节点数的确定网络隐层节点数的确定l在在BP 网络中,隐层节点数的选择非常重要,网络中,隐层节点数的选择非常重要,它不仅对建立的神经网络模型的性能影响很它不仅对建立的神经网络模型的性能影响很大,而且是训练时出现大,而且是训练时出现“过拟合过拟合”的直接原的直接原因,但是因,但是目前理论上还没有一种科学的和普目前理论上还没有一种科学的和普遍的确定方法遍的确定方法。l确定隐层节点数的最基本原则是:在满足精确定隐层节点数的最基本原则是:在满足精度要求

22、的前提下取尽可能紧凑的结构,即度要求的前提下取尽可能紧凑的结构,即取取尽可能少的隐层节点数尽可能少的隐层节点数。l研究表明,隐层节点数不仅与输入研究表明,隐层节点数不仅与输入/输出层输出层的节点数有关,更与需解决的问题的复杂程的节点数有关,更与需解决的问题的复杂程度和转换函数的型式以及样本数据的特性等度和转换函数的型式以及样本数据的特性等因素有关。因素有关。在确定隐层节点数时必须满足下列条件:在确定隐层节点数时必须满足下列条件:l(1)隐层节点数必须小于隐层节点数必须小于N-1(其中(其中N为训练为训练样本数),否则,网络模型的系统误差与训样本数),否则,网络模型的系统误差与训练样本的特性无关

23、而趋于零,即建立的网络练样本的特性无关而趋于零,即建立的网络模型没有泛化能力,也没有任何实用价值。模型没有泛化能力,也没有任何实用价值。同理可推得:输入层的节点数(变量数)必同理可推得:输入层的节点数(变量数)必须小于须小于N-1。l(2)训练样本数必须多于网络模型的连接权训练样本数必须多于网络模型的连接权数,一般为数,一般为210倍,否则,样本必须分成几倍,否则,样本必须分成几部分并采用部分并采用“轮流训练轮流训练”的方法才可能得到的方法才可能得到可靠的神经网络模型。可靠的神经网络模型。3.6 BP网络的训练算法网络的训练算法l由于由于BP网络采用误差反传算法,其实质是一个无网络采用误差反传

24、算法,其实质是一个无约束的非线性最优化计算过程,在网络结构较大时约束的非线性最优化计算过程,在网络结构较大时不仅计算时间长,而且很容易限入局部极小点而得不仅计算时间长,而且很容易限入局部极小点而得不到最优结果。不到最优结果。l目前虽已有改进目前虽已有改进BP法、遗传算法(法、遗传算法(GA)和模拟退)和模拟退火算法等多种优化方法用于火算法等多种优化方法用于BP网络的训练网络的训练(这些方这些方法从原理上讲可通过调整某些参数求得全局极小点法从原理上讲可通过调整某些参数求得全局极小点),但在应用中,这些参数的调整往往因问题不同,但在应用中,这些参数的调整往往因问题不同而异,较难求得全局极小点。而异

25、,较难求得全局极小点。l这些方法中应用最广的是增加了冲量(动量)项的这些方法中应用最广的是增加了冲量(动量)项的改进改进BP算法。算法。3.7 BP网络的学习率和冲量系数的选择网络的学习率和冲量系数的选择l学习率学习率影响系统学习过程的稳定性。大的学习影响系统学习过程的稳定性。大的学习率可能使网络权值每一次的修正量过大,甚至会率可能使网络权值每一次的修正量过大,甚至会导致权值在修正过程中超出某个误差的极小值呈导致权值在修正过程中超出某个误差的极小值呈不规则跳跃而不收敛;但过小的学习率导致学习不规则跳跃而不收敛;但过小的学习率导致学习时间过长,不过能保证收敛于某个极小值。所以,时间过长,不过能保

26、证收敛于某个极小值。所以,一般倾向选取较小的学习率以保证学习过程的收一般倾向选取较小的学习率以保证学习过程的收敛性(稳定性),通常在敛性(稳定性),通常在0.010.8之间。之间。l增加冲量项增加冲量项的目的是为了避免网络训练陷于较浅的目的是为了避免网络训练陷于较浅的局部极小点。理论上其值大小应与权值修正量的局部极小点。理论上其值大小应与权值修正量的大小有关,但实际应用中一般取常量。通常在的大小有关,但实际应用中一般取常量。通常在01之间,而且一般比学习率要大。之间,而且一般比学习率要大。3.8 BP网络的初始连接权值网络的初始连接权值lBP算法决定了误差函数一般存在(很)多个局部极算法决定了

27、误差函数一般存在(很)多个局部极小点,不同的网络初始权值直接决定了小点,不同的网络初始权值直接决定了BP算法收敛算法收敛于哪个局部极小点或是全局极小点。因此,要求计于哪个局部极小点或是全局极小点。因此,要求计算程序算程序(matlab)必须通过多次(通常是几十次)改必须通过多次(通常是几十次)改变网络初始连接权值求得相应的极小点,才能通过变网络初始连接权值求得相应的极小点,才能通过比较这些极小点的网络误差的大小,确定全局极小比较这些极小点的网络误差的大小,确定全局极小点。由于点。由于Sigmoid转换函数的特性,一般要求转换函数的特性,一般要求初始权初始权值分布在值分布在-0.50.5之间比较

28、有效之间比较有效。l神经网络的训练过程本质上是求非线性函数的极小神经网络的训练过程本质上是求非线性函数的极小点问题,因此,即使网络误差相同,各个网络连接点问题,因此,即使网络误差相同,各个网络连接权值也可能有较大的差异,这有时也会使各个输入权值也可能有较大的差异,这有时也会使各个输入变量的重要性发生变化,检验样本和测试样本的网变量的重要性发生变化,检验样本和测试样本的网络计算结果会产生很大变化,即多模式现象。络计算结果会产生很大变化,即多模式现象。3.9 BP网络的性能和泛化能力网络的性能和泛化能力l因为训练样本的误差可以达到很小,因此,因为训练样本的误差可以达到很小,因此,用从总样本中随机抽

29、取的一部分测试样本用从总样本中随机抽取的一部分测试样本的误差表示网络模型计算和预测所具有的的误差表示网络模型计算和预测所具有的精度(网络性能)是合理的和可靠的。精度(网络性能)是合理的和可靠的。l值得注意的是,判断网络模型泛化能力的值得注意的是,判断网络模型泛化能力的好坏,主要不是看测试样本误差大小的本好坏,主要不是看测试样本误差大小的本身,而是要看测试样本的误差是否接近于身,而是要看测试样本的误差是否接近于训练样本和检验样本的误差。训练样本和检验样本的误差。4 实例:多元神经网络预测实例:多元神经网络预测实验实验号号臭氧臭氧浓浓度度(mg/L)入口入口UV254UV254去除率去除率(%)1

30、1.160.11650.221.350.10459.531.720.07858.841.860.10766.251.970.13665.562.150.08264.572.230.12573.682.480.07676.492.790.12278.5102.850.09279.2113.070.08181.4123.450.06890.3133.590.07793.1143.800.10898.2153.930.12897.3164.140.06398.1174.460.13597.3184.550.07098.8194.840.12696.9205.030.08798.6训训练练样样本本实验

31、实验号号臭氧臭氧浓浓度度(mg/L)入口入口UV254UV254去除率去除率(%)11.420.08658.122.510.07178.833.210.10789.644.290.09696.555.240.6597.8检验样本检验样本 网络分为网络分为4层。各层节点数分别为:输入层层。各层节点数分别为:输入层2个;第一隐层个;第一隐层12个;第二隐层个;第二隐层6个;输出层个;输出层1个。个。输入层输入层输出层输出层隐层隐层1和和2BP网络模型网络模型臭氧浓度臭氧浓度入口入口UV254UV254去除率去除率网络结构网络结构模型的参数模型的参数l数据预处理,输入数据和输出数据都规格化数据预处理

32、,输入数据和输出数据都规格化为为0到到1:l最大训练步数最大训练步数=100000l收敛误差界值收敛误差界值 n=0.0001BP网络训练误差曲线网络训练误差曲线UV254值值臭氧浓度臭氧浓度 mg/LUV254去除率,去除率,网网络络模模型型实验号实验号 臭氧臭氧(mg/L(mg/L)UVUV254254去除率去除率(%)(%)相对误差相对误差(%)实测值实测值网络预测值网络预测值1 11.421.4258.158.149.349.3-15.115.12 22.512.5178.878.876.676.6-2.85-2.853 33.213.2189.689.681.981.98.628.624 44.294.2996.596.597.797.71.251.255 55.245.2497.897.897.197.10.70.7模型预测结果与实测值比较模型预测结果与实测值比较5 实验:神经网络分类实验:神经网络分类

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁