收藏 分销(赏)

实验四Matlab神经网络及应用于近红外光谱的汽油辛烷值预测.docx

上传人:二*** 文档编号:4595148 上传时间:2024-09-30 格式:DOCX 页数:10 大小:19.04KB
下载 相关 举报
实验四Matlab神经网络及应用于近红外光谱的汽油辛烷值预测.docx_第1页
第1页 / 共10页
本文档共10页,全文阅读请下载到手机保存,查看更方便
资源描述
实验四 Matlab神经网络以及应用于汽油辛烷值预测一、实验目的 1. 掌握MATLAB创建BP神经网络并应用于拟合非线性函数 2. 掌握MATLAB创建REF神经网络并应用于拟合非线性函数 3. 掌握MATLAB创建BP神经网络和REF神经网络解决实际问题 4. 了解MATLAB神经网络并行运算二、实验原理 2. 1 BP神经网结 2. 1. 1 BP神经网络概述 BP神经网络Rumelhard和McClelland于1 9 8 6年提出。从结构上将,它 是一种典型的多层前向型神经网络,具有一个输入层、一个或多个隐含层和一个输 出层。层与层之间采用权连接的方式,同一层的神经元之间不存在相互连接。理论 上已经证明,具有一个隐含层的三层网络可以逼近任意非线性函数。 隐含层中的神经元多采用S型传递函数,输出层的神经元多采用线性传递函 数。图1所示为一个典型的BP神经网络。该网络具有一个隐含层,输入层神经元 数据为R,隐含层神经元数目为S1,输出层神经元数据为S2,隐含层采用S型传 递函数tansig,输出层传递函数为purclin。 P: 输入数据矩阵(训练集的输入向量作为列构成的矩阵) T:输出数据矩阵(训练集的期望向量作为列构成的矩阵) S:隐合层节点数 TF:节点传递函数,包括硬限幅传递函数hardlim,对称硬限幅传递函数 hardl ims,线性传递函数purel in,正切S型传递函数tansig,对数S型传递函数 logsig. BTF:训练函数,包括梯度卜-降BP算法训练函数traingd,动量反传的梯度下 降BP算法训练函数traingdm.动态自适应学习率的梯度下降BP算法训练函数 traingda,动量反传和动态自适应学习率的梯度下降BP算法训练函数traingdx、 Levenberg_Marquardl 的 BP 算法训练函数 Lrainlnio 图1含一个隐含层的BP网络结构 2.1.2 BP神经网络学习规则 BP网络是一种多层前馈神经网络,其神经元的传递函数为S型函数,因此输 出量为0到1之间的连续量,它可以实现从输入到输出的任意的非线性映射。由于 其权值的调整是利用实际输出与期望输出之差,对网络的各层连接权由后向前逐层 进行校正的计算方法,故而称为反向传播(Back-Propogation)学习算法,简称为 BP算法。BP算法主要是利用输入、输出样本集进行相应训练,使网络达到给定的 输入输出映射函数关系。算法常分为两个阶段:第一阶段(正向计算过程)由样本 选取信息从输入层经隐含层逐层计算各单元的输出值;第二阶段(误差反向传播过 程)由输出层计算误差并逐层向前算出隐含层各单元的误差,并以此修正前一层权 值。 BP网络的学习过程主要由以下四部分组成: 1)输入样本顺传播 输入样本传播也就是样本由输入层经中间层向输出层传播计算。这一过程主 要是 输入样本求出它所对应的实际输出。 1隐含层中第i个神经元的输出为 ②输出层中第k个神经元的输出为: 其中fl(-), f2 (・)分别为隐含层和输出层的传递函数。 2)输出误差逆传播 在第一步的样本顺传播计算中我们得到了网络的实际输出值,当这些实际的 输出值与期望输出值不一样时,或者说其误差大于所限定的数值时,就要对网络进 行校正。 首先,定义误差函数 E (w, b)= 其次,给出权值的变化 ①输出层的权值变化 从第i个输入到第k个输出的权值为: 其中: ②隐含层的权值变化 从第j个输入到第i个输出的权值为: (n为学习系数) 其中: EKI 由此可以看出:①调整是与误差成正比,即误差越大调整的幅度就越大。② 调整量与输入值大小成比例,在这次学习过程中就显得越活跃,所以与其相连的权 值的调整幅度就应该越大,③调整是与学习系数成正比。通常学习系数在0. To. 8 之间,为使整个学习过程加快,乂不会引起振荡,可采用变学习率的方法,即在学 习初期取较大的学习系数随着学习过程的进行逐渐减小其值。 最后,将输出误差由输出层经中间层传向输入层,逐层进行校正。 2. 1.3 BP神经网络的训练 对BP网络进行训练时,首先要提供一组训练样本,其中每个样本由输入样本 和输出对组成。当网络的所有实际输出与其期望输出小于指定误差时,训练结束。 否则,通过修正权值,使网络的实际输出与期望输出接近一致(图2)。 实际上针对不同具体情况,BP网络的训练有相应的学习规则,即不同的最优 化算法,沿减少期望输出与实际输出之间误差的原则,实现BP网络的函数逼近、 向量分类和模式识别。 图2 神经网络的训练 2.2 R B F神经网络 2.2. 1 RBF神经网络概述 1985年,Powell提出了多变量插值的径向基函数(Radical Basis Function, RBF)方法。1988年,Moody和Darken提出了一种神经网络结构,即RBF神经网 络,属于前向神经网络类型,它能够以任意精度逼近任意连续函数,特别适合于解 决分类问题。 RBF网络的结构与多层前向网络类似,它是一种三层前向网络。输入层由信 号源节点组成;第二层为隐含层,隐单元数视所描述问题的需要而定,隐单元的变 换函数RBF ()是对中心点径向对称且衰减的非负非线性函数;第三层为输出层, 它对输入模式的作用作出响应。从输入空间到隐含层空间的变换是非线性的,而从 隐含层空间的输出层空间变换是线性的。 RBF网络的基本思想是:用RBF作为隐单元的“基”构成隐含层空间,这样 就可以将输入向量直接(即不需要通过权接)映射到隐空间。当RBF的中心点确定 以后,这种映射关系也就确定了。而隐含层空间到输出空间的映射是线性的,即网 络的输出是隐单元输出的线性加权和。此处的权即为网络可调参数。由此可见,从 总体上看,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又 是线性的。这样网络的权就可由线性方程直接解出,从而大大加快学习速度并避免 局部极小问题。 径向基神经网络的神经元结构如图3所示。径向基神经网络的激活函数采用 径向基函数,通常定义为空间任一点到某一中心之间欧氏距离的单调函数。由图3 所示的径向基神经元结构可以看出,径向基神经网络的激活函数是以输入向量和权 值向量之间的距离13 作为自变量的。径向基神经网络的激活函数(高斯函数)的一般表达式为[X I 图3径向基神经元模型 随着权值和输入向量之间距离的减少,网络输出是递增的,当输入向量和权 值向量一致时,神经元输出1。在图3中的b为阈值,用于调整神经元的灵敏度。 利用径向基神经元和线性神经元可以建立广义同归神经网络,该种神经网络适用于 函数逼近方面的应用;径向基神经元和竞争神经元可以组建概率神经网络,此种神 经网络适用于解决分类问题。 由输入层、隐含层和输出层构成的一般径向基神经网络结构如图4所示。 S S 图4径向基神经网络结构 2. 2.2 RBF神经网络的学习算法 径向基函数网络是由输入层,隐含层和输出层构成的三层前向网络(以单个 输出神经元为例),隐含层采用径向基函数作为激活函数,该径向基函数一般为高 斯函数,隐含层每个神经元与输入层相连的权值向量□ 和输入矢量a (表示第q个输入向量)之间的距离乘上阈值□ ,作为本身的输入(图5)。 图5径向基神经网络神经元的输入与输出 由此可得隐含层的第 个神经元的输入为: 输出为: 径向基函数的阈值可以调节函数的灵敏度,但实际工作中更常用另一参数C (称为扩展常数)。 a 和C的关系有多种确定方法,在MATLAB神经网络工具箱中,a 和c的关系为 ,此时隐含层神经元的输出变为: 在MATLAB神经网络工具箱中,C值用参数spread表示,由此可见,spread 值的大小实际上反映了输出对输入的响应宽度。spread值越大,隐含层神经元对 输入向量的响应范围将越大,旦神经元间的平滑度也较好。 输出层的输入为各隐含层神经元输出的加权求和。由于激活函数为纯线性函 数,因此输出为: RBF网络的训练过程分为两步:第一步为无教师式学习,确定训练输入层与 隐含层间的权值3 ;第二步为有教师式学习,确定训练隐含层与输出层间的权值3 .在训练以前需要提供输入向量回 、对应的目标向量□ 和径向基函数的扩展常数Co训练的目的是求取两层的最终权值a a和阈值 aa 在RBF网络训练中,隐含层神经元数量的确定是一个关键问题,简便的做法是使其与输入向量的个数相等(称为精确(exact) RBF)。显然,在输入向量个数 很多时,过多的隐含层单元数是难以让人接受的。其改进方法是从1个神经元开始 训练,通过检查输出误差使网络自动增加神经元。每次循环使用,使网络产生的最 大误差所对应的输入向量作为权值向量,产生一个新的隐含层神经元,然后检查新 网络的误差,重复此过程直到达到误差要求或最大隐含层神经元数为止(称为近似 (approximate) RBF)。 2. 3 RBF神经网络与BP神经网络的比较 在理论上,RBF网络和BP网络一样能以任意精度逼近任何非线性函数。但由 于它们使用的激活函数不同,其逼近性能也不相同。Poggio和Girosi已经证明, RBF网络是连续函数的最佳逼近,而BP网络不是。BP网络使用的Sigmoid函数具 有全局特性,它在输入值的很大范围内每个节点都对输出值产生影响,并旦激活函 数在输入值的很大范围内相互重叠,因而相互影响,因此BP网络训练过程很长。 此外,由于BP算法的固有特性,BP网络容易陷入局部极小的问题不可能从根本上 避免,并且BP网络隐层节点数目的确定依赖于经验和试凑,很难得到最优网络。 采用局部激活函数的RBF网络在很大程度上克服了上述缺点,RBF不仅有良好的泛 化能力,而且对于每个输入值,只有很少几个节点具有非零激活值,因此只需很少 部分节点及权值改变。学习速度可以比通常的BP算法提高上千倍,容易适应新数 据,其隐含层节点的数目也在训练过程中确定,并且其收敛性也较BP网络易于保 证,因此可以得到最优解。 2.4 BP神经网络与RBF神经网络的MATLAB实现 2. 4. 1BP神经网络的相关函数 (1) newff: BP神经网络参数设置函数 函数功能:构建一•个BP神经网络 函数形式:net=newff(P, T, S, TF, BTF, BLF, PF, I PF, OPF, DDF)
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服