欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    BP神经网络的MATLAB编程实现及讨论.pdf

    • 资源ID:70344162       资源大小:196.30KB        全文页数:4页
    • 资源格式: PDF        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    BP神经网络的MATLAB编程实现及讨论.pdf

    浙江交通职业技术学院学报,第 8 卷第4 期,2 0 0 7 年 1 2 月 J o u r n a l o f Z h e j i a n gI n s t i t u t e o f C o m m u n i c a ti o n s Vo 1 8 N o 4,De c 2 O O 7 0 引言 B P神经网络的 MA T L A B编程实现及讨论 余 晓红(杭州职业技术学院 信息电子工程系,浙江 杭州3 1 0 0 1 8)摘要:B P神经网络具有很强的非线性函数逼近能力。通过 M a t l a b编程实现 了 B P 网络对一个二元函数的逼近,针对 B P网络学习速度慢的缺点,采用含动量项的学 习算法提高了收敛速度。通过M a t la b 仿真方法,研究了学习率和动量因子对算法学 习速度的影响。关键词:神经网络;B P网络;M a t la b;学习算法 中图分类号:T P 3 8 9 1;T P 3 1 1 5 2 文献标识码:A 文章编号:1 6 7 1 2 3 4 X(2 o O 7)0 4 0 0 4 5 04 人工神经网络(A N N)是由许多神经元按照一 定规则互联而成的自适应系统,它模拟生物神经系 统的结构和功能,具有信息的分布存储、并行处理 以及自 学能力等优点。从神经网络的基本模式看,主要有前馈型、反馈型、自组织型及随机型神经网 络 1 l。B P网络是一种多层前馈神经网络,因采用误 差反向传播的学习算法而得名。B P网络是目前最 成熟、应用最广泛的一种神经网络,在信息处理、模式识别、智能控制等诸多领域得到越来越广泛的 应用。B P 网络存在收敛速度慢、训练时间长等缺点,在实际应用中,网络结构的选择和学习算法的改进 对 B P网络性能有很大 的影响【2-3 J。通过 M a t l a b编 程实现了 B P 神经网络对一个二元函数的逼近,通 过仿真探讨 B P神经网络的结构及学习算法中不同 参数对学习速度的影响,得出一些有益的结论。1 B P网络原理 B P 神经网络由多个网络层构成,通常包括一 个输入层、若干个中间层和一个输出层。B P网络 的特点是:各层神经元仅与相邻层神经元之间有连 接;各层内神经元之间没有任何连接;各层神经元 之间也没有反馈连接。B P网络具有很强的非线性 映射能力,根据 K o lr n o g o r o v 定理,一个 3 层 B P 神 经网络能够实现对任意非线性函数进行逼近。一个 典型的3 层 B P 神经网络模型如图1 所示。y 1 y 输出层 r 问层 输 入层 图 1 典型的三层 B P神经网络结构 收稿日期:2 0 0 7 0 7 2 2 作者简介:余晓红(1 9 6 9 一),女,浙江永康人,讲师,Em a il-l h z v-t c e d u c n 维普资讯 http:/ 浙江交通职业技术学院学报 设 B P网络的输入层、中间层和输出层分别有 M、N J 和N K个神经元。中间层第 j 个神经元的输 入为:n e ti=w o o f;=1,2,N J(1)式中,tt,为输入层中第 i 个神经元到中间层第 个神经元的权值;o f 为输入层中第 i 个神经元的 输出。输出层第 k 个神经元的输入为:J n e t =u b o ;k=1,2,(2)式中,t t,为中间层中第 个神经元到输出层第 k 个神经元的权值;o i 为中间层中第 k 个神经元的 输出。输入层、中间层和输出层的输出分别为:O f=n e t f X i (3)Y k。(n et,O k)南。(5)式中,和O k 分别为中间层第 个神经元和输 出层第k 个神经元的阈值。B P 网络的训练采用基于梯度法的 6 学习律,其目标是使网络输出与训练样本的均方误差最小。lJ 练样本为 P个,其 中输入向量为 x ,X 2,x p;输出向量为 Y ,y 2,y P;相应的教师值(样本)向量为 t,t P。则第 P个样本的均 方误差为:=(一 )(6)-=1 式中,和 分别为第 k个输出神经元第P 个样本的教师值和实际输出值。输出层的权值调整为:(n+1)=+(n)(7)=(一 )f k(n e e)(8)式中,7 7 为学习率;a为动量因子。中间层的权值调整为:3 w q(+1)=So?+a w 0 ()(9)-f i(n e e)”(1 0)阈值的调整与权值相类似,不再赘述。2 B P网络的 M a t l a b编程实现 M a t l a b是 M a t h Wo r k s 公司开发的一种科技应用 软件,集数学计算、科学计算、工程绘图和建模仿 真于一体,应用十分广泛【4】。虽然在 M a tl a b中有 神经网络工具箱,但通过编程实现 B P神经网络对 于深刻理解其实质很有帮助。以一个二元函数的逼 近为例,通过 M a fl a b 编程实现了 B P网络,并讨论 算法参数对学习速度的影响。设要求逼近的函数为 Y=(j+;)2,其中 l、X 2 一 1,1 。网络采用 2 5 1 结构,即输入层 2 个节点,隐层 5 个节点,输出层 1 个节 点。输出层的和中间层采用标准 S ig m o id函数 fj(n e 0,。实现流程如图 2所示,具体步骤如下。初始化。权值和阈值取随机数;确定学习率 和动量因子;设定学习误差准则。设置样本。将 I、2 在给定范围内均匀 l O 等分,产生 1 2 1 个训练样本。前向传播:根据式(1)一(5)计算各层输 出。后向传播:根据式(8)和式(1 O)计算各 层误差。根据式(7)和式(9)调整权值和阈值。全部样本是否都已训练?若否,则返回步骤 进行下一样本训练。计算总性能指标。全部样本的误差函数为 P =。判断性能指标 是否满足要求:p=1 E r r S t d,e p o c h M A X T I I d E S)f o r P 1:P 取样本 x t=x te a c h l(P);x t e a c h 2(P);y t=y t e a c h(P);计算各层输出:前向传播 O1=x t;n e t j=w i j *o i:o j=1 (1+e x p(一 n e t k=w j k *o j:o k=1 (1+e x p(一 (n e t j t h e t a j);(n e t kt h e t a k);维普资讯 http:/ 第4 期 余晓红:B P 神经网络的 M A T I A B 编程实现及讨论 4 7 Y=o k;计算各层误差:后向传播 d e l t a k=(y t Y)*o k *(1 一o k);d e l t a j=w j k*d e h a k *o j *(1 一o j);修正权值和阈值 w i j=w i j+e t a*o i*d e l t a j ;t h e t a j=t h e ta j e ta*d e l t a j:w j k=w j k+e t a*o j*d e l t a k :the t a k=the t a ke t a*d e l t a k;保存当前样本的误差 e r r p(P)=S U l l l(y t Y)2;e n d E r r A l l=S U l l l(e r r p);E a l l(e p o c h)=E r r A l l;En d 权值闽值初始化 设置样本 计算各层输 出 计算各层误差 修正权值和阈值 NO 上Y e s :No l Y e S 训练结束 图 2 B P网络买现流程图 经过 3 8 4 5次学习(=O 0 3,无动量项)后达 到设定误差=0 1,误差曲线如 图 3 所 示。用训练 好的 B P网络对测试样本进行测试,测试样本为 X 、x 2 在给定范围内均匀 2 0 等分产生 4 4 1 个数据。测试误差均值为一 0 0 0 2 7,方差为0 0 0 1 2,测试数 据用 Ma t l a b中的 Me s h()三维画图函数得到如图 4 所示结果。00-0 00 图3 B P学习误差曲线 图 4 仿真结果 3 学习算法讨论 在实际应用中,B P算法存在着训练时间长、收敛速度慢的缺点。在 B P 基本算法中增加动量项 是一种常用且有效的方法,通过实验对改进学习算 法中学习率和动量因子对收敛速度的影响进行仿真 研究。不同学习率和动量因子时所需的学习次数如 表 1 所示。表 1 不 同学 习率和动量 因子下所需 的学习次数(单位:次)Q:墨 墨 坠 墨 从表 1 结果中可 以看出:当学 习率不变时,增大动量因子,所需学习次数随之减少。当动 量因子不变时,增大学习率,所需学习次数随之减 少,但学习率不能过大,否则将可能导致学习算法 维普资讯 http:/ 浙江交通职业技术学院学报 不收敛。增加动量项后对学习速度有明显改善。例如,当=O 5时,学习次数通常只需无动量项时 的5 0,当=0 8 时,学习次数通常只需无动量项 时的 2 5。4 结束语 B P网络是一种无反馈的多层前向神经网络,参考文献:有很强的函数逼近能力,应用非常广泛。通过一个 二元函数逼近的实例,对 B P网络的构造和程序实 现进行了研究。针对 B P网络存在训练时间长、收 敛速度慢的缺点,采用动量项的学习算法能有效提 高学习速度,不同参数对 B P网络的收敛速度有很 大影响,仿真结果表明,较大的学习率和动量因子 能提高学习速度,但过大的取值则可能导致学习算 法不收敛。1 蒋宗礼 人工神经网络导论 M 北京:高等教育出版社,2 0 o 1 2 邓静,马传松,李振坤B P 神经网络的 c+实现及讨论 J 微机发展,2 0 0 8,1 3(7):9 3 9 6 3 蒋良 孝,李超群基于 B P神经网络的函数逼近方法及其 M A T E B 实现 J 微型机与应用,2 0 o 4(1):5 2 5 3 4 张智星 fL A T L A B 程序设计与应用 M 北京:清华大学出版社,2 O M a fla b I mp l e me n t a t i o n a n d Di s c u s s i o n o f BP Ne u r a l Ne t wo r k YU X i a o-h o n g (D e p a r t m e n t o f I n f o r m a d o n S c i e n c e a n d E e c t r o n l c,H a n g z h o u V o c a t i o n a l&T e c h n i c a l C o l l e g e,地【l l g D u 3 1 0 0 1 8,C h i n a)Ab s t r a c t:B P n e u r a l n e t w o r k h a s s t r o n g a b i l i t y o f a p p r o a c h i n g n o n l i n e a r f u n c t i o n Ma t l ab p r o g r a t n m i n g o f B P n e t-w o r k w a s i mp l e me n t e d t o a p p r o a c h a 2-d i me n t i o n a l f u n c t i o n T h e c o n v e r g e n c e s p e e d w a s e x p e d i t e d v i a t h e I n o n n t t l m i n t h e l e a r n i n g a l g o r i t h mT h e i n fl u e n c e o f l e a r n i n g r a t e a n d mo me n t u m a g a i n s t the l e a mi n g s p e 耐 w le r ems e d Ke y w o r d s:N e u r a l n e t w o r k;B P n e t w o r k;Ma t 1 ab;L e a r n i n g alg o ri t h m(上接第 4 4页)Li n e r Ro u t i n g De s i g n Ba s e d o n M ATLAB T U Q L 1 一 f e n g,B A I J i p i n g (Z h e j i a n g I n s t i tu t e o f C o m mu n i c a t i o m,H a n l o u 3 1 1 1 1 2,C h i n a)Abst r a c t:On t h e B a s i s o f L i n e a r p l a n n i n g,i t i s f e a s a b l e t o a p p l y MAT L A B i n o p t i mi z i ng l i n e r r o u t i ng,8 0 as t o a c h i e v e ma x i m u m e c o n o m i c p r o fi t s b y ass i g n i ng l i n e r s w i th d i f f e r e n t t y p e s and t o n n a g e s t o d i ff e r e n t r o u te s Ke y w o r d s:MAT L A B;L i n e a r;S h i p R o u t i ng;O p t i mi z e 维普资讯 http:/

    注意事项

    本文(BP神经网络的MATLAB编程实现及讨论.pdf)为本站会员(asd****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

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

    收起
    展开