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