《第5章人工神经网络matlab工具箱.ppt》由会员分享,可在线阅读,更多相关《第5章人工神经网络matlab工具箱.ppt(39页珍藏版)》请在优知文库上搜索。
1、模式识别讲义模式识别讲义第第5章章 人工神经网络人工神经网络 matlab神经网络工具箱神经网络工具箱主要内容主要内容l0 引例引例:神经网络函数拟合神经网络函数拟合(预测预测)l1 matlab神经网络工具箱神经网络工具箱l2 人工神经网络人工神经网络(ANN)简介简介l3 前馈神经网络前馈神经网络(BP网络网络)l4 实例:多元神经网络预测实例:多元神经网络预测l5 实验:神经网络分类实验:神经网络分类0 引例引例:神经网络函数拟合神经网络函数拟合(预测预测)试构造合适的神经网络模型拟合如下数据点试构造合适的神经网络模型拟合如下数据点,并预测并预测x=10的值的值:x00.511.522.
2、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);lnet.trainParam.epochs=100;lnet.trainParam
3、.goad=0.000001;lnet=train(net,x,y);lx1=0:0.1:10;ly1=sim(net,x1);lfigure;plot(x,y,.);hold on;plot(x1,y1,r);ffffffxyw11w12w13w14w15w21w22w23w24w25b1b2b3b4b5b网络结构网络结构221()1xxef xey=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函
4、数函数1 matlab神经网络工具箱神经网络工具箱1.1 网络数据对象的建立网络数据对象的建立net=newff(xm,xM,h1,hk,f1,fk);lxm,xM分别为列向量分别为列向量(行数为变量个数行数为变量个数),分别,分别存储每个变量的最小值和最大值。存储每个变量的最小值和最大值。lh1,hk表示网络各层的节点数表示网络各层的节点数,一共有一共有k层层.lf1,fk表示各层使用的传输函数,默认表示各层使用的传输函数,默认为为tansig,即,即Sigmoid函数。还可使用函函数。还可使用函数数purelin,即,即f(x)=x。l其它可看其它可看matlab帮助帮助:help new
5、ff1.2 网络数据对象网络数据对象net的属性的属性lnet.IW:来自输入层的加权矩阵。:来自输入层的加权矩阵。BP网络网络只用只用net.IW1,表示各个输入变量对第表示各个输入变量对第1层各层各节点的加权矩阵。节点的加权矩阵。lnet.LW:来自中间层的加权向量。:来自中间层的加权向量。BP网络网络用用net.IW2,1表示第表示第1隐层个节点向下一层隐层个节点向下一层个节点的加权矩阵;个节点的加权矩阵;net.IW3,2表示第表示第2隐隐层向下一层的加权矩阵层向下一层的加权矩阵lnet.b:各层的偏移。:各层的偏移。Net.b1表示第表示第1隐层隐层个节点的偏移个节点的偏移lnet.
6、trainParam.epochs:最大训练步数。不过:最大训练步数。不过当误差准则满足时,即使没达到此步数也停当误差准则满足时,即使没达到此步数也停止训练。缺省为止训练。缺省为100。lnet.trainParam.goad:网络误差准则,当误差:网络误差准则,当误差小于此准则时停止训练,缺省为小于此准则时停止训练,缺省为0。lnet.trainFcn:训练算法。缺省为:训练算法。缺省为 trainlm,即即Levenberg-Marquardt算法。还可使用算法。还可使用traingdx,即带动量的梯度下降算,即带动量的梯度下降算法;法;traincgf,即共轭梯度法。,即共轭梯度法。l其
7、它可看其它可看matlab帮助帮助:help-contents-Neural Network Toobox-Network Object Reference;lhelp(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 tr
8、ainlm training,but reduce memory requirements by setting net.trainParam.mem_reduc to 2 or more.(See help trainlm.)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是函数是函
9、数newff建立的数据对象。建立的数据对象。lX为为n*m的矩阵的矩阵,n为输入变量个数为输入变量个数,m为样为样本数本数(即把每个样本是一个列向量即把每个样本是一个列向量)。lY为为k*m的矩阵的矩阵,k为数出变量个数。为数出变量个数。ltr返回训练的跟踪信息返回训练的跟踪信息,tr.epochs为训练步为训练步数数,tr.perf为各步目标函数的值。为各步目标函数的值。lY1和和E返回网络最终的输出和误差。返回网络最终的输出和误差。l训练结束后可以用训练结束后可以用plotperf(tr)来绘制目标来绘制目标值随着训练步数变化的曲线。值随着训练步数变化的曲线。1.4 网络的泛化网络的泛化(
10、预测预测)Y=sim(net,X);lnet是函数是函数newff建立的数据对象。建立的数据对象。lX为为n*m的矩阵的矩阵,n为输入变量个数为输入变量个数,m为样为样本数本数(即把每个样本是一个行向量即把每个样本是一个行向量)。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研究的目的和意义研究的目的
12、和意义l(1)(1)通过揭示物理平面与认知平面之间的映射,了解通过揭示物理平面与认知平面之间的映射,了解它们相互联系和相互作用的机理,从而揭示思维的本它们相互联系和相互作用的机理,从而揭示思维的本质,探索智能的本源。质,探索智能的本源。l(2)(2)争取构造出尽可能与人脑具有相似功能的计算机,争取构造出尽可能与人脑具有相似功能的计算机,即即ANNANN计算机。计算机。l(3)研究仿照脑神经系统的人工神经网络,将在模式研究仿照脑神经系统的人工神经网络,将在模式识别、组合优化和决策判断等方面取得传统计算机所识别、组合优化和决策判断等方面取得传统计算机所难以达到的效果。难以达到的效果。2.3 人工神
13、经网络人工神经网络研究的局限性研究的局限性l(1)ANN研究受到脑科学研究成果的限制。研究受到脑科学研究成果的限制。l(2)ANN缺少一个完整、成熟的理论体系。缺少一个完整、成熟的理论体系。l(3)ANN研究带有浓厚的策略和经验色彩。研究带有浓厚的策略和经验色彩。l(4)ANN与传统技术的接口不成熟。与传统技术的接口不成熟。l l 一般而言一般而言,ANN与经典计算方法相比与经典计算方法相比并非优越并非优越,只有当常规方法解决不了或效果不佳时只有当常规方法解决不了或效果不佳时ANN方法才方法才能显示出其优越性。尤其对问题的机理不甚了解或能显示出其优越性。尤其对问题的机理不甚了解或不能用数学模型
14、表示的系统不能用数学模型表示的系统,如故障诊断、特征提取如故障诊断、特征提取和预测等问题和预测等问题,ANN往往是最有利的工具。另一方面往往是最有利的工具。另一方面,ANN对处理大量原始数据而不能用规则或公式描述对处理大量原始数据而不能用规则或公式描述的问题的问题,表现出极大的灵活性和自适应性。表现出极大的灵活性和自适应性。3 前馈神经网络前馈神经网络(BP网络网络)3.1 前馈神经网络前馈神经网络(BP网络网络)的特点的特点l非线性映照能力非线性映照能力:神经网络能以任意精度逼:神经网络能以任意精度逼近任何非线性连续函数。在建模过程中的许近任何非线性连续函数。在建模过程中的许多问题正是具有高
15、度的非线性。多问题正是具有高度的非线性。l并行分布处理方式并行分布处理方式:在神经网络中信息是分:在神经网络中信息是分布储存和并行处理的,这使它具有很强的容布储存和并行处理的,这使它具有很强的容错性和很快的处理速度。错性和很快的处理速度。l 自学习和自适应能力自学习和自适应能力:神经网络在训练时,能:神经网络在训练时,能从输入、输出的数据中提取出规律性的知识,从输入、输出的数据中提取出规律性的知识,记忆于网络的权值中,并具有泛化能力,即将记忆于网络的权值中,并具有泛化能力,即将这组权值应用于一般情形的能力。神经网络的这组权值应用于一般情形的能力。神经网络的学习也可以在线进行。学习也可以在线进行
16、。l 数据融合的能力数据融合的能力:神经网络可以同时处理定量:神经网络可以同时处理定量信息和定性信息,因此它可以利用传统的工程信息和定性信息,因此它可以利用传统的工程技术(数值运算)和人工智能技术(符号处技术(数值运算)和人工智能技术(符号处理)。理)。l 多变量系统多变量系统:神经网络的输入和输出变量的数:神经网络的输入和输出变量的数目是任意的,对单变量系统与多变量系统提供目是任意的,对单变量系统与多变量系统提供了一种通用的描述方式,不必考虑各子系统间了一种通用的描述方式,不必考虑各子系统间的解耦问题。的解耦问题。3.2 BP网络输入网络输入/输出变量的确定输出变量的确定lBP网络的输入变量即为待分析系统的内生网络的输入变量即为待分析系统的内生变量(影响因子或自变量)数,一般根据专变量(影响因子或自变量)数,一般根据专业知识确定。业知识确定。若输入变量较多,一般可通过若输入变量较多,一般可通过主成份分析方法压减输入变量主成份分析方法压减输入变量,也可根据剔,也可根据剔除某一变量引起的系统误差与原系统误差的除某一变量引起的系统误差与原系统误差的比值的大小来压减输入变量。比值的大小来压减