神经网络预测法.ppt_第1页
神经网络预测法.ppt_第2页
神经网络预测法.ppt_第3页
神经网络预测法.ppt_第4页
神经网络预测法.ppt_第5页
已阅读5页,还剩78页未读, 继续免费阅读

下载本文档

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

文档简介

1、数学建模系列讲座基于神经网络的预测和分类。万民科学研究所,什么是数学建模,用来描述实际问题的数学结构,叫做数学模型;建立数学模型并求解的整个过程称为数学建模。将实际问题转化为数学问题,用数学方法和计算机工具解决。首先,有一个导师来学习神经网络的原理;Matlab实现;BP和RBF在预测和分类中的应用:PNN在分类中的应用,2。在没有导师的情况下学习神经网络原理;Matlab实现;竞争神经网络和SOFM在分类和聚类中的应用,人工神经网络的背景,以及机器智能研究如何利用机器(计算机)模仿人脑从事推理、设计、思考、学习等思维活动来解决和处理复杂问题。人工神经网络是机器智能的一部分,它模拟大脑的神经系

2、统。更简单地说,它是人脑神经系统的数学模型。大脑的神经系统包含大约1000亿个神经元。神经系统是由这些神经元通过高度的组织和相互作用组成的复杂网络。功能:神经元相互作用,神经元模型,神经元模型,神经元如何相互作用。取决于突触连接!突触连接会在外部信息或自我成长过程的影响下发生变化。正是通过神经元及其突触连接的可变性,大脑拥有各种智能,如学习、记忆和认知。突触,突触,突触和突触是可变的。连接权重W对应于突触、突触、输入输出关系、多输入、权重、单输出、阈值、激活函数,其中,连接权重、求和单元、激活函数、净输入、激活函数。一个是突变,另一个是饱和,它精确地模拟了神经细胞兴奋过程中产生的神经冲动和疲劳

3、。人工神经网络神经元连接,人工神经网络,神经网络结构,前馈神经网络,递归神经网络,特点:神经元之间的反馈连接,输入输出关系?输入-输出关系,多输入,权重,单输出,其中,净输入,单神经元,单层前馈神经网络,多层前馈神经网络,输入层,隐藏层,隐藏层,输入-输出关系:权重,总和,激活函数,输出每个隐藏层中的神经元数3,每个神经元的激活函数f,输入-输出关系,人工神经网络,前馈神经网络的学习。这种网络模型如何实现分类、识别和预测等智能行为?通过学习!改变连接重量w!通过样本、p、a、神经网络更新权重和阈值,以苹果和香蕉识别为例,关键点是:调整权重,期望输出t=1-苹果t=0-香蕉,输入:苹果或香蕉,训

4、练样本:期望输出,输入,训练样本:与导师一起学习,将样本的输入送入神经网络,计算实际输出;如果实际输出和预期输出之间的误差不满足精度要求,调整权重w和阈值b以逐渐减小误差,直到满足精度要求。基本思想:神经网络,训练样本,学习过程:通过样本更新权重和阈值,输出目标,输入,w(旧),w(新),学习,网络学习:学习后通过样本调整权重学习网络:权重不再改变,所学知识存储在权重中。下面将给出三种典型的带导师学习的神经网络:神经网络原理、径向基函数、PNN、反向传播神经网络原理。结构2。投入产出关系:激活函数通常采用S型函数,如对数函数和转换函数;输出层激活功能大多采用purelin功能。理论上,带隐层的

5、神经网络可以任意精度逼近任何非线性函数。1.多层前馈网络:前、后两层之间的所有神经元完全连接;同一层的神经元之间没有联系。BP网络的学习算法,学习过程:信号正向传播误差反向传播。BP网络的学习算法是一种典型的监督学习算法:将样本输入神经网络,得到网络的实际输出。如果输出值和预期输出之间的误差不满足精度要求,则误差从输出层向后传播,从而调整权重和阈值,使得网络的输出和预期输出之间的误差逐渐减小,直到满足精度要求。训练样本、p、a、BP神经网络、1。信号正向传播,2。误差反向传播,训练样本:均方误差(单输出),均方误差(多输出),梯度下降法:权重阈值的调整是沿着误差函数下降最快的方向的负梯度方向,

6、权重更新,BP网络BP学习过程,步骤1,选择样本,p=1,P,随机确定初始权重矩阵W(0),步骤2,通过误差反向计算各层的灵敏度,并更新权重和阈值。直到误差满足精度要求。用样本计算网络输出,得出误差。第三步,对BP网络学习算法的改进,总结了BP算法容易形成局部极小值但不能获得全局最优的缺点;训练次数过多会导致学习效率低,收敛速度慢。隐藏节点的选择缺乏理论指导;学习新样本往往会在训练中忘记旧样本。针对上述问题,国内外已经提出了许多有效的改进算法,其中基于线性模型的改进算法是一种常用的算法。改进的BP算法是基于Levenberg-Marquardt方法的,Levenberg-Marquardt方法

7、实际上是梯度下降法和牛顿法的结合,具有网络权值较少时收敛速度快的优点。Levenberg-Marquardt优化算法比传统的BP算法和其他改进算法(如共轭梯度法、附加动量法、自适应调整法和拟牛顿法等)迭代次数少、收敛速度快、精度高。)。但是对于复杂的问题,需要更多的存储空间。MATLAB中的工具函数trainlm()是与Levenberg-Marquardt方法相对应的一种改进算法。1.BP神经网络创建函数:函数newff用于创建一个BP神经网络,其调用格式为:net=newff (p,t,s1s2.sn,tf1tf2.TFN,BTF,BLF,pf),p:输入矩阵,每行对应一个样本的输入向量t

8、:输出。每行对应于样本的预期输出Si:第I个隐藏层中的神经元数量,最后一行是输出层中的神经元数量TFi:第一个隐藏层的激活函数(隐藏层的默认值为tansig,输出层的默认值为purelin) BTF:网络训练函数(默认值为trainlm) BLF:权重/阈值学习函数(默认值为learngdm) PF:性能函数(默认值为均方误差函数),训练函数决定算法的框架(全局),学习函数决定权重的调整(局部),样本:P1,t1,p2 p2=0.98,0.75,t2=0P50=0.87,0.6,t50=0.2如何创建三层BP神经网络学习样本?让隐藏层中的神经元数量为6。P=0.1,0.2;0.98,0.75;

9、0.87,0.6;每个样本的%输入T=0.70.8;0.2;%每条线对应样本的预期产量,网络=newff (p,t,6,tansig,purelin,trainlm,leran GDM,MSE),网络结构:2-6-1,网络=newff (p,t,6),BP神经网络的Matlab工具箱函数,2。神经网络训练函数:用于训练已建立的神经网络。其调用格式为:net,tr,Y,E=train(net,P,T),P:输入矩阵,每行对应一个样本的输入向量T:输出矩阵,每行对应一个样本的预期输出tr:训练记录。包括迭代次数和性能、网络输出矩阵、网络误差向量、训练前的网络、纽夫生成的神经网络、训练后的神经网络、

10、权值不再变化、神经网络的Matlab工具箱功能等。BP神经网络的仿真函数:函数sim是利用训练好的BP网络进行仿真预测,其调用格式为y,E,perf=sim (net,p),BP神经网络通过网络:训练,网络p通过训练得到:输入向量/矩阵,每行对应一个样本的输入向量Y3360网络输出向量/矩阵,每行对应该样本的预测输出E:网络误差向量Perf:网络性能, BP神经网络用于预测、分类和生成训练集/测试集、创建/训练BP网络、创建/训练RBF网络、创建/训练PNN网络、模拟测试、性能评估、1。 生成训练集/测试集:(待定,培训),(p _)。通常,训练集中的样本数占样本总数的2/3-3/4,剩余的1

11、/4-1/3用作测试集。训练集和测试集是随机生成的。为了分析网络模型的泛化能力,需要对非训练样本(称为测试样本)的误差进行表示和评估,这是将总样本分为训练样本和非训练样本的主要原因之一。最直接、最客观的指标是从总样本中随机选取的非训练样本(测试样本)的误差是与训练样本的误差一样小还是稍大。非训练样本的误差接近或小于训练样本的误差。一般来说,可以认为所建立的网络模型有效地逼近了训练样本中包含的规律。否则,如果存在许多差异(例如几倍、几十倍甚至几千倍),则意味着所建立的网络模型不能有效地逼近训练样本中包含的规律,而只能逼近这些训练样本点。2.创建/训练BP神经网络:newff。在创建列车之前,需要

12、确定网络的结构:具有一个隐藏层的MLP网络可以以任意精度逼近任何有理函数。在设计BP网络时,应优先考虑三层BP网络(即有一个隐层),通过增加隐层节点的数量可以获得较低的误差。确定隐层节点数量的最基本原则是在满足精度要求的前提下,尽可能少的取隐层节点。隐藏层神经元的最佳数量可以参考以下公式:其中n是输入层中的神经元数量;l是隐藏层中神经元的数量;a是0到10之间的常数。3.模拟测试:在T_sim=sim(net,P_test)网络被创建和训练后,测试集的输入变量被发送到网络,网络的输出就是预测结果。训练神经网络的基本任务是确保被训练的网络模型对于非训练样本具有良好的泛化能力(泛化),即有效地逼近

13、样本中包含的内在规律,而不是看网络模型对。因此,只给出训练样本误差的大小而不给出测试样本误差的大小是没有意义的。4.性能评估:通过计算测试集的预测值和真实值之间的误差来评估网络性能(即泛化能力)。相对误差:误差决定了: R2的系数。相对误差越小,模型的性能越好。决定系数越接近1,模型的性能越好。越接近0,情况就越糟。BP神经网络用于预测/分类、样本收集、归一化、训练样本和测试样本的随机选择。BP网络构造/训练(newff/train) :的性能评估使用测试样本来计算预测误差,该预测误差用于评估网络的泛化能力。如果泛化能力满足要求,经过训练的神经网络可以进行预测/分类。否则,需要调整网络参数以继

14、续学习,直到泛化能力满足要求。人口预测以下是北京统计年鉴1983-2013年北京郊区户籍人口的统计结果。建立人工神经网络模型,预测2014年北京郊区登记人口。北京人口统计表:生成训练集/测试集、创建/训练神经网络、创建/训练径向基函数网络、创建/训练PNN网络、模拟和测试、性能评估、利用神经网络的预测和分类思想、问题分析,为了使网络具有这种预测能力(投入产出关系),有必要通过样本对其进行训练。如何构建样本?P1=83,84,85,86,t1=87,P2=84,85,86,87,t2=88,P27=09,10,11,12,t27=13,训练参数设置网。net . TrainParam . goa

15、l=1e-5;net . Trainiparam . lr=0.15;net . TrainParam . MC=0.9;%培训网络网络=培训(网络、培训、培训);%生成训练集/测试集,并从总样本中随机选择(22,5) P_train (22*4矩阵)和T_train (22*1矩阵);P_test (5*4矩阵),T_test (5*1矩阵),%模拟测试T_sim=sim(网络,P _ test);%性能评估,计算相对误差Erro=abs(T_sim-T_test)。/T _ test;模型评估:通过测试样本来测试网络的泛化能力。测试结果表明,2006年、2007年、2008年、2009年和2010年的预测值分别为0.7258、0.7340、0.7405、0.7460和0.7503。结果恢复到725.8、734.0、740.5、746.0和750.3万人。实际值分别为716.2、725.5、735.9、743.8和752.6。相对误差分别为0.013、0.011、0.006、0.002和0.003,最大误差为0.013。测试结果误差小,能够达到预测效果。也就是说,经过训练的网络可以用于预测。问题解决:Y=sim(网,P),其中P=07年、2008年、2009年和10年的人数,恢复结果为753.4万;也就是说,预计到2011年北京的人口将达

温馨提示

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

评论

0/150

提交评论