BP 算法的改进在M a tlab 的实现研究

姚文俊

(中南民族大学电子信息工程学院 湖北武汉 430074)

摘 要:利用M atlab 中的神经网络工具箱提供的丰富网络学习和训练函数,对BP 网络和BP 算法的优化方案进行仿真,得到较优的BP 算法。

关键词:人工神经网络;BP 网络;M atlab ;N eu ral N etw o rk Too lbox

中图分类号:T P 39119 文献标识码:A 文章编号:1004373X (2003)2109504

Rea l iza tion of Progress BP A lgor ith m s on M a tlab

YAO W en jun

(Co llege of E lectronics and Info r m ati on Engineering ,SCU FN ,430074,Ch ina )

Abstract :In th is paper ,the concrete op ti m al techn iques fo r train ing BP neu ral netw o rk and BP learn ing algo rithm are ap 2

p lied 1By the m any neu ral netw o rk s and train ing functi on s in N eu ral N etw o rk Too lbox of M atlab ,w e get op ti m al train ing BP algo 2

rithm 1

Keywords :artifical neu ral netw o rk s ;BP neu ral netw o rk ;M atlab ;neu ral netw o rk too lbox

收稿日期:20030813

1 引 言

人工神经网络(A rtificial N eu ral N etw o rk s ,

NN )系统从20世纪40年代末诞生至今仅短短半个多世纪,但由于他具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛的应用。尤其是基于误差反向传播(E rro r B ack P rop agati on )算法的多层前馈网络(M u lti p le L ayer Feedfo rw ard N etw o rk )(简称B P 网络),可以以任意精度逼近任意的连续函数,所以广泛应用于非线性建模、函数逼近、模式分类等方面。

近年来,为了解决B P 网络收敛速度慢、训练时间长等缺陷,提出了许多改进算法,但在应用B P 网络解决实际问题的过程中,选择多少层网络、每层多少个神经元节点;选择何种传输函数、何种训练算法等,均无可行的理论指导,只能通过实验计算获得。这无形中增加了研究工作量和编程计算量。

在目前工程计算领域较为流行的软件M atlab 中,提供了一个现成的神经网络工具箱(N eu ral N etw o rk Too lbox ,NN Too l ),为解决这个问题提供了便利条

件[1]。本文针对B P 网络和B P 算法的优化方案,在介

绍NN Too l 的基础上,给出优化的仿真结果。2 BP 算法的分析211 B P 算法原理[2,3]

误差反向传播算法(B P 算法)是基于最优化的梯度下降算法,采用有导师的学习方式,他适用于多层前向网络。但是,他也存在明显的不足之处:

(1)B P 算法是按照均方误差的梯度下降方向收敛的,但均方误差的梯度曲线存在不少局部和全局最小点,这就使得神经网络易陷入局部最小;

(2)B P 学习算法的收敛速度较慢,可能会浪费大量时间;

(3)神经网络隐层的结点个数难以确定合适的数值;

(4)如何选取合适的学习样本解决网络的推广(泛化)问题,即使网络能正确处理未学习过的输入。

针对这些问题,需要对标准B P 算法做必要的改进,以加快收敛速度、达到最优化。212 B P 算法的改进

B P 算法最优化的方向主要有权值调整、自适应学习速率调整、网络结构调整等。常用的改进方法有以下几种:

(1)加入动量项;

(2)自适应学习速率调整;

5

9

最优隐神经元数目 算法 matlab,BP算法的改进在Matlab的实现研究相关推荐

  1. Stanford UFLDL教程 反向传播算法(BP算法)

    反向传播算法(BP算法) 假设我们有一个固定样本集 ,它包含  个样例.我们可以用批量梯度下降法来求解神经网络.具体来讲,对于单个样例,其代价函数为: 这是一个(二分之一的)方差代价函数.给定一个包含 ...

  2. 《机器学习与数据挖掘》实验五 编程实现误差逆传播算法(BP算法)

    前言: 摘要:本文对机器学习实验五 标准BP算法的代码进行实现,如果不了解的BP算法的话,可以自行上网搜索BP算法的详解. 实验题目:编程实现误差逆传播算法(BP算法) 实验目的:掌握误差逆传播算法( ...

  3. 反向传播算法(BP算法)学习总结

    反向传播算法(BP算法)学习总结 1.简介   BP算法是由学习过程由信号的正向传播与误差的反向传播两个过程组成.由于多层前馈网络的训练经常采用误差反向传播算法,人们也常把将多层前馈网络直接称为BP网 ...

  4. 温故知新——前向传播算法和反向传播算法(BP算法)及其推导

    1. 前向传播算法 所谓的前向传播算法就是:将上一层的输出作为下一层的输入,并计算下一层的输出,一直到运算到输出层为止. 从上面可以看出,使用代数法一个个的表示输出比较复杂,而如果使用矩阵法则比较的简 ...

  5. 【预测模型】基于人工鱼群算法优化BP神经网络实现数据预测matlab源码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

  6. 【BP分类】基于鸟群算法优化BP神经网络实现数据分类附matlab代码

    1 简介 ​BSA 算法优化 BP 神经网络的基本思想是: 利 用 BSA 算法的全局搜索能力, 优化 BP 神经网络初始的权值和阈值, 也就是决策变量, 其中每一组决策变量均包含在鸟群个体所处的空间 ...

  7. 【BP预测】基于布谷鸟算法优化BP神经网络数据回归预测含Matlab源码

    1 简介 锂电池健康状态(SOH)的预测是电动汽车锂电池管理系统的最重要的关键技术之一;传统的误差逆向传播(BP)神经网络容易使权值和阈值陷入局部最优,从而导致预测结果不精确;结合布谷鸟搜索算法(CS ...

  8. 基于帝企鹅算法优化BP神经网络实现数据预测matlab代码

    1 算法介绍 1.1 BP神经网络 1. 反向传播算法应用领域 反向传播算法应用较为广泛,从字面意思理解,与前向传播相互对应.在简单的神经网络中,反向传播算法,可以理解为最优化损失函数过程,求解每个参 ...

  9. 【预测模型】基于灰狼算法优化BP神经网络实现数据预测matlab代码

    1 简介 信息化时代的快速发展,给人们的生活带来了很大的便捷.越来越多的人习惯在网上办事.网络购物.在线支付,俨然成为了一种常态.通过网络来获取各类信息也更加方便,这就给网络钓鱼带来了肥沃的生存土壤. ...

最新文章

  1. 简单动态启停图 js jquery css3
  2. exchange 2007 碰到NDR
  3. 每日一皮:996标配工位原来是这样的!
  4. 指针是c语言的灵魂,C语言之灵魂 指针学习
  5. yum安装出现No package vim available解决办法
  6. Lucene:QueryParser
  7. pcb成型板aoi检测_基于AOI技术的PCB常见质量缺陷检测
  8. JS 获取链接(url)参数以及锚链接(anchor)结合富ajax的应用(ajax前进/后退的问题)...
  9. fifa15服务器位置,《FIFA 15》系统菜单界面图文详解 各游戏模式详解
  10. Pravega Flink connector 的过去、现在和未来
  11. @Aspect不生效
  12. webrtc Native C++视频旋转/裁减/绿屏问题
  13. 【uniapp】[Vue warn]: Invalid component name: “.-pages-Myblock-uni_myMessage“. Component names should
  14. Java基础篇——三大特性(封装)
  15. 播放器上音频断续问题的原因
  16. hdu-5976 Detachment 解题报告(乘法逆元、贪心?)
  17. Hadoop实战——MapReduce对英文单词文本进行统计和排序(超详细教学,算法分析)
  18. Springboot集成ItextPdf
  19. Mysql - 左连接、右连接、内连接、全连接
  20. HDBaseT和HDMI的区别?

热门文章

  1. Apache Lucene 7.0即将发布!
  2. 使用Java 8处理并行数据库流
  3. 使用JavaSymbolSolver解决Java代码中的方法调用
  4. java未检查异常_Java中已检查和未检查的异常
  5. 内存不足:杀死进程或牺牲孩子
  6. 使用JCA的密码术–提供者中的服务
  7. Spring Security第2部分–密码加密,自定义404和403错误页面
  8. OAuth与Spring Security
  9. MySQL分页查询语句
  10. QPW 手机短信验证码发送日志表(tf_sms_send_log)