BP神经网络训练算法的分析与比较.pdf
~
箜 坌 些墼
Ana1ysisandCompareofBPNeura1Network’STrainingArithmetic
陈明忠
Chen Mjngzhong
(南京铁道职业技术学院,江苏 南京 210015)
(NanjJng InstituteofRailwayTechnology,JiangsuNanjing210015)
摘 要 :BP神经网络被广泛应用于模式识别、信号处理和 自动控制等领域,其广泛性是由于它能实现任何连续映射,但 由
于BP网络训练所 固有 的复杂性,目前 尚没有任何一种完全 的算法能适用于任何 BP网络的训练。本文介绍 了MATLAB神经网络
工具箱中各种训练算法的特点及其函数的参数形式,并对它们的收敛速度和内存消耗情况进行 了比较,说明了其各 自适用的
网络。
关键词:BP神经网络;训练算法;分析;比较
中图分类号:TP311 文献标识码:A 文章编号:l671-4792-(2010)3-0024-04
Abstract:BP neuralnetworkshavebeenwidelyused jn pattern recognition,signa1 processing.automatic
control, etc. It owns unJversality,because it can make any continuous mapping come true, but, presently,
there is not a compatible training arithmetic because of its complexity.This papm’ introduces the charac—
teristics of training arithmetic in the MATLAB’s Neu,,al Network Toolbox and the parameters of their func—
tions,then makes a compare of speed and memory among them,and explains which kinds of network they can be
applled in.
Keywords:BPNeuralNetwork;TrainingArithmetic;Analysis;Comparison
0 引言 值是NaN,训练状态将不会被显示。如果网络的训练次数大
BP神经网络的训练算法是通过计算性能函数的梯度, 于epochs,网络的性能函数值小于goal或者训练时间超过
再沿负梯度方 向调整权值和阀值,从而使性能函数达到最 了time秒,网络的训练都将停止;参数max—fail的值与初
小。梯度下降算法有两种模式:递增模式和批处理模式[i1。在 期终止技术 (网络泛化)有关。
递增模式中,当每个样本输入应用于网络之后,就对网络的 1.2动量梯度下降算法 (traingdm)
权值和阀值进行调整。而在批处理模式中,只有当所有的样 动量梯度下降算法是一种批处理的前馈神经网络的训
本输入都应用于网络之后,网络的权值和阀值才会得到调 练算法,它不仅考虑误差在梯度上的作用,而且考虑在误差
整。MATLAB神经网络工具箱提供了多种训练函数,它们都是 曲面上变化趋势的影响[21。由于引人了一个动量项 (相当于
属于批处理模式的训练函数,主要可以分为启发式训练函数 一 个阻尼项),有效地避免了局部最小问题在网络训练中的
和快速训练函数。 出现。所谓动量项的加入就是指在网络每次的权值和阀值改
1启发式训练算法