BP神经网络预测理论及程序-学习

 12、智能算法 
 12.1 人工神经网络    1、人工神经网络的原理 假如我们只知道一些输入和相应的输出,但是不清楚这些输入和输出之间的具体关  系是什么,我们可以把输入和输出之间的未知过程看成是一个“网络”,通过不断的网络 输入和相应的输出进行“训练”(学习),网络根据输入和对应输出不断调整连接网络的 权值,直到满足我们的目标要求,这样就训练好了一个神经网络,当我们给定一个输入, 网络就会计算出一个相应的输出。
2、网络结构 神经网络一般有一个输入层,多个隐层,和一个输出层。隐层并非越多越好。 如下图所示:
12.2 Matlab 神经网络工具箱    MATLAB 神经网络工具箱几乎涵盖了所有的神经网络的基本常用模型,如感知器、 BP 网络和 RBFNN 等。它由 nftool,nctool,nprtool,nntraintool 和 nntool 组成。主要应用于 函数逼近和数据拟合、信息处理和预测、神经网络控制和故障诊断等领域。  在实际应用中,针对具体的问题,首先需要分析利用神经网络来解决问题的性质, 然后依据问题的特点,提取训练和测试数据样本确定网络模型,最后通过对网络进行训练、仿真等检验网络的性能是否满足要求。具体过程如下:
(1)确定信息表达的方式,主要包括数据样本已知;数据样本之间相互关系不明确; 输入/输出模式为连续的或离散的;数据样本的预处理;将数据样本分成训练样本和测试 样本。
(2)网络模型的确定。 确定选择何种神经网络以及网络层数。
(3)网络参数的选择,如输入输出神经元个数的确定,隐层神经元的个数等 。
(4)训练模式的确定,包括选择合理的训练算法、确定合适的训练步数、指定适当的训练目标误差等
(5)网络测试,选择合理的样本对网络进行测试。
简单来讲就是三个步骤:建立网络(newXX)—训练网络(trainXX)—仿真网络(sim)
12.3 BP 神经网络的 Matlab 相关函数
BP 算法的基本思想:学习过程由信号的正向传播与误差的反向传播两个过程组成。 正向传播时,输入样本从输入层传入,经各隐层逐层处理后,传向输出层。若输出层的 实际输出与期望输出(教师信号)不符,则转入误差的反向传播阶段。误差反传是将输 出误差以某种形式通过隐层向输入层逐层反传,并将误差分摊给各层的所有单元,从而 获得各层单元的误差信号,此误差信号作为修正各单元权值的依据。权值不断调整的过 程就是神经网络的学习训练过程。
BP 神经网络的设计内容:
(1)网络层数的确定。模式样本较少时,选用较少的隐层节点,一般采用两层 BP 网络;当模式样本较多时,减少网络规模,可以增加一个隐层。   
(2)输入层节点数的确定。输入层起到缓冲存储器的作用,其节点个数取决于输 入矢量的维数。
(3)输出层节点数的确定。取决于两个方面,输出数据类型和表示该类型所需的 数据大小。当 BP 网络用语模式分类时,以二进制形式来表示不同模式的输出结果,则 输出层的节点数可根据分类模式数来确定。若待分类模式的总数为 m,则有两种方法确 定输出层的节点数:
1)节点数即待分类模式总数 m,输出为对应的第 j 个分量为 1,其余为 0; 
2)节点数取经验值 log2 m ,对应 m 种输出模式的二进制编码。
(4)隐层节点数的确定。一般通过反复测试获取较好的节点数。对于模式识别/分类的 BP 网络,根据经验公式 +a,n1 为输入节点数,n0 为输出节点数,a 取1~10 之间的常数。
  (5)传输函数。一般采用 S 型函数训练方法及其参数选择。Matlab 工具箱提供了多种训练函数可供选择。
神经网络预测
6)训练方法及其参数选择。Matlab 工具箱提供了多种训练函数可供选择。 Matlab 工具箱
中与 BP 神经网络相关的函数: (1)创建一个 BP 网络的函数 newff,调用形式为: net=newff();在对话框中创建一个 BP 网络    net=newff(PR,[S1 S2 ... SN],{TFN},BTF,BLF,PF);  PR:由每组输入(共 R 组)元素的最大值和最小值组成的 R×2 维德矩阵;Si:第 i 层的 长度,共有 N 层;TFi:第 i 层的传递函数,默认为 tansig;BTF:BP 网络的训练函数,默认 为 trainlm;BLF:权值和阈值的学习算法,默认为 learngdm;PF 网络的性能函数,默认为    mse.    (2)传递函数 有 logsig,dlogsig(导函数),tansig(双曲正切),dtansgi,purelin,dpurelin 等 (3)学习函数 有 learngd(梯度下降权值/阈值学习函数),learngdm(梯度下降动量学习 函数)等  (4)训练函数 有 trainbfg(BFGS 准牛顿算法),traingd,traingdm 等; (5)性能函数 有 mse,msereg,mae 等  (6)显示函数 有 plotperf,plotes(误差曲面),plotep,errsurf 等.

本文发布于:2024-09-22 11:22:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/361813.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:网络   输出   确定   样本   训练   神经网络   函数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议