当前位置:文档之家› BP神经网络原理及MATLAB仿真

BP神经网络原理及MATLAB仿真

2008年9月

第23卷第5期渭南师范学院学报

JournalofWeinanTeachersUniversitySept.2008

V01.23No.5

BP神经网络原理及MATIAB仿真

盛仲飙

(渭南师范学院计算机科学系,陕西渭南714000)

摘要:BP网络在人工神经网络中应用最为广泛.它理论完善、结构直观.本文首先介绍了BP神经网络的原理、进行

训练的过程、存在的问题;接着探讨了几种先进的BP训练方法.最后,用Matlab语言,以函数逼近为例实现了BP网络的仿

真训练.

关键词:BP网络;人工神经网络;maflab;仿真

中图分类号:TPl83文献标志码:A文章编号:1009—5128(2008)05—0065—03

收稿日期:20cr7一12一14

作者简介:盛仲飙(1974一),女,陕西渭南人,渭南师范学院计算机科学系讲师,硕士研究生.

人工神经网络(ArtificialNeuralNetworks,ANN),是近几年来国内外一个前沿研究领域,它是对人脑

或自然神经网络若干基本特性的抽象和模拟进行分布式并行信息处理的数学模型.它特有的非线性适应

性信息处理能力,克服了传统人工智能方法对于直觉,如模式、语音识别、非结构化信息处理方面的缺陷,

在神经专家系统、模式识别、智能控制、组合优化等领域取得成功应用….BP网络(BackpropagationNN)是

一种单向传播的多层前向网络,是目前最为广泛、最具影响的人工神经网络学习算法之一.

MATLAB是MathWorks公司开发的“演算纸”式的程序设计语言,又是一种进行科学和工程计算的交

互式程序.MATLAB本身带有神经网络工具箱,它提供了许多有关神经网络设计、训练和仿真的函数.用户

只要根据自己的需要调用相关的程序,从而免除了编写复杂而庞大的算法程序的困扰旧1.

1BP算法的数学描述

1.1BP网络结构

基于BP算法的多层前馈型网络的结

构如图1所示.网络由输入层、一个或多个

隐层、输出层构成.同层节点中没有任何

耦合,每一层节点的输出只影响下一层节

点的输出.网络的学习过程由正向和反向

传播两部分组成”】.反向传播其节点单元

特征通常为Sigmoid型{.f(X)=1/[1+exp

(一Bx)],B>0}.在网络训练阶段用准备

好的样本数据依次通过输入层、隐层和输

出层。比较输出结果和期望值,若没有达

到要求的误差程度或者训练次数,即经过

输出层、隐层和输入层,来调节权值,以便

使网络成为一定适应能力的模型.

1.2BP网络的算法描述翟量反传(擘习算法)

蠢含层

信号蠢

图1基于BP算法的神红元网络的结构信号)

(1)对每一层的权值wij初始化.网络的权值一般在EO,1]之间取值.

(2)对输入数据的预处理,提供训练样本以及目标输出.输入训练样本:x=(x。,五,…以,1)期望输

出:Y=(yl,y2,…L)

(3)计算各层的输出.

对于第k层第i个神经元的输出X/‘有:阢‘=n互+1%玛h1,五+。卜1=l,既∥。=一口,五‘=厂(配‘)

(4)求各层的学习误差d;‘.对于输出层有k=m,有:d;“=五“(1一墨4)(置‘一K),对于其他各层,有

 ·66·盛仲飙:BP神经网络原理及MATLAB仿真第23卷

d‘‘=X‘‘(1一五‘);w名d‘‘”.

(5)修正权系数wi/和阀值a

%(t+1)=既(I)一刀.dj‘.乃卜1,,7为学习速率.

(6)当求出了各层各个权系数之后,可按给定品质指标判别是否满足要求.如果满足要求,则算法结

束;如果未满足要求,则返回(3)执行。

2BP算法的改进

2.1BP算法的缺陷

由于BP算法利用梯度下降法使得误差函数达到最小,因此主要存在两个问题:(1)BP算法的收敛速

度慢,会浪费大量时间.(2)神经网络易陷入局部极小.这在很大程度上限制了多层前馈神经网络的进一

步应用.

2.2BP算法的改进方法

针对BP算法的种种缺陷,提出了很多改进方法.主要通过修改误差函数、增大激励函数的导数以及

与其它智能算法相结合的方法.目前BP网络的改进算法大体上可以分为三类:(1)采用启发式技术,如附

加动量法、自适应学习速率法.例如利用神经网络工具箱中的trainbpx()函数,采用动量法和学习速率自

适应调整策略.可以降低网络对于误差曲面局部细节的敏感性,有效地抑制网络限于局部极小;自适应调

整学习速率有利于缩短学习时间.(2)采用数字优化技术.例如采用共轭梯度法、拟牛顿法、Levenberg—

Marquardt方法.(3)与智能算法相结合的方法.采用梯度下降法和全局优化技术相结合,提出SARPROP

算法,从而提高了网络的学习性能.

图2要遇近的非线性函数

图4训练后的网络仿真结果图3没有训练的网络仿真结果

图5训练误差

3BP网络逼近非线性函数

3.1设计思想使用BP网络逼近非线性函数:f(x)=石=石耘+石=正耘一6

(1)训练输入样本集p--O:O.02:5;训练输出样本集t=f(x).测试输入集取为pl=p.

 2008年第5期渭南师范学院学报·67·

(2)采用三层BP网络,隐层取lO个节点.隐层节点作用函数选择对称型s函数(tansig),输出节点

为线性(purelin).

(3)权值调整算法采用最陡下降法(trainlm).

(4)训练次数为1000次,精度为0.0001.

3.2关键代码及模拟仿真分析

(1)关键代码.

%建立相应的BP网络

net=newff(minmax(p)’[20,1],{tansig’purelinl,trainlm');

%对没有训练的网络进行仿真

yl=aim(net,P);

%训练网络,设定训练时间为1000个单位时间,训练目标的误差小于0.0001

net.trainParam.epochs=1000:

net.trainParam.goal=0.0001:

%对训练后的网络进行仿真

net=train(net,P,t);

(2)结果分析.

针对以上仿真结果可以看出,训练网络的仿真输出曲线和原始曲线非常接近,达到了要求的精度,所

构造的BP网络基本能够逼近原函数,数据拟合的较好.

4结论

BP网络是一种优秀的神经网络。有着广泛的应用.本文在介绍BP网络算法的基础上,详细讨论了网

络的训练过程,最后给出了网络的一个具体应用.通过试验得知一般情况下,网络隐层单元神经元数目越

多,或者训练次数越多,精度越小,也就越能实现对非线性程度越高的函数进行更好地逼近.

参考文献:

[1]飞思科技产品研发中心.Mat.1ab6.5辅助神经网络分析与设计[M].北京:电子工业出版社,2003.

[2]施航,马琳达.人工神经网络在股票价格预测中的应用[J].电脑开发与应用,2007,(9):65.

[3]徐丽娜.神经网络控制[M].北京:电子工业出版社,2003.

[4]徐远芳,周饧,郑华.基于MATLAB的BP神经网络实现研究[J].微型电脑应用,2006,(12).

[5]毕小龙,袁勇.基于BP神经网络的人口预测方法研究[J].武汉理工大学学报(交通科学与工程版),2007,(6).

[6]孙帆,施学勤.基于Matlab的BP神经网络[J].计算机与数字工程,2007,(8).

[责任编辑牛怀岗】

BPNeuralNetworkPrinciplesandMatlabSimulation

SHENGZhong-biao

(DepartmentofComputerScience,WeinanTeachersUniversity。Weinan714000,China)

Abstract:BPnetworkisofthewidest印plication舡嘲intheartificialneural玳帆灯rk,itstheoryisveryperfect,andits

structureisverysimple.ThepaperfirstintroducestheprinciplesofBPneuralnetwork,theoftrainingnetworksandtheexist-

ingproblems.Then,thepapersummarizes¥omekindsofadvancedtrainingmethodsofBP.Finally。thepaperrealizesthesimula·

tionofBPthewayoffunctionpatternassociationwithMatlablanguage.

Keyword:BPne“∞rks;artificial

neural城椭orl【;Matlab;simulation

 BP神经网络原理及MATLAB仿真

作者:盛仲飙, SHENG Zhong-biao

作者单位:渭南师范学院,计算机科学系,陕西,渭南,714000

刊名:渭南师范学院学报

英文刊名:JOURNAL OF WEINAN TEACHERS COLLEGE

年,卷(期):2008,23(5)

被引用次数:1次

1.飞思科技产品研发中心 Matlab 6.5辅助神经网络分析与设计 2003

2.施航.马琳达 人工神经网络在股票价格预测中的应用[期刊论文]-电脑开发与应用 2007(09)

3.徐丽娜 神经网络控制 2003

4.徐远芳.周野旸.郑华 基于MATLAB的BP神经网络实现研究[期刊论文]-微型电脑应用 2006(12)

5.毕小龙.袁勇 基于BP神经网络的人口预测方法研究[期刊论文]-武汉理工大学学报(交通科学与工程版)

2007(06)

6.孙帆.施学勤 基于Matlab的BP神经网络[期刊论文]-计算机与数字工程 2007(08)

1.期刊论文 刘浩.白振兴.LIU Hao.BAI Zhenxing BP网络的Matlab实现及应用研究 -现代电子技术2006,29(2)

人工神经网络以其具有信息的分布存储、并行处理以及自学习能力等优点,已经在信息处理、模式识别、智能控制及系统建模等领域得到越来越广泛

的应用.他的基于误差反向传播算法的多层前馈网络,即BP网络在非线性建模、函数逼近和模式识别中有广泛的应用,介绍了BP网络的基本原理,分析了

Matlab人工神经网络工具箱中有关BP网络的工具函数,并给出了部分重要工具函数的实际应用.

2.学位论文 徐振东 人工神经网络的数学模型建立及成矿预测BP网络的实现 2004

本文是在完成国家地质实验中心2002年基于GIS的多源地学信息整合处理技术算法设计子课题基础上完成的。主要研究人工神经网络数学模型和计算

方法的计算机程序实现,为实现复杂地质信息的非线性整合处理提供技术支持。近年来,作为人工智能主要研究方向之一的人工神经网络

(ArtificialNeuralNetworks缩写为ANN)得到了广泛关注,大量的有关神经网络运行机理、神经计算机、网络模型与学习算法、特征分析等的研究不断涌

现。由于具有非线性、良好的容错性和自学习、自适应性等特征,人工神经网络在地学领域的应用研究发展很快,在岩性分类、线性构造识别、遥感图

像分类与识别、位场特征分类及正反演、地学信息提取与挖掘、资源评价预测等方面均有所应用。本文的主要工作是对人工神经网络的三种常用模型

——BP网、Hopfield网和Kohonen网的拓扑结构和学习算法进行了深入的研究,特别的还针对BP网引入RPROP(弹性BP)算法对传统BP算法进行了改进。此

外,本文还论述了用VisualC++对这几种网络进行实现的过程。

文中实现了BP网络的通用算法,建立了矿产资源综合评价及成矿预测BP模型,从而可以对成矿信息进一步进行智能化知识发现和信息挖掘,自动评

估各地质变量对成矿的贡献,得到区域性的成矿规律和成矿模式,并圈定出成矿靶区。并提供友好的人机交互式界面,使用户可以自己创建、设计和管

理成矿预测BP模型。

3.期刊论文 李随民.姚书振.周宗桂.Li Suimin.Yao Shuzhen.Zhou Zonggui 基于MATLAB的BP网络在矿产资源预测

中的应用 -金属矿山2007,""(8)

人工神经网络(ANN)是近几年兴起的一门综合交叉学科.人工神经网络在进行预测时,是在输出和输入之间建立一个非线性映射关系,ANN可自动模拟各

种成矿因素之间的自然关系,进行全局优化搜索,减少人为干预,提高资源预测的准确率.其中以反向传播网络--BP网络应用最广泛.由于MATLAB提供了跟踪

国外先进计算方法与数学模型的许多工具箱,利用MATLAB中的神经网络工具箱,可方便地实现BP网络模型的学习、训练、拟合及预测(仿真)过程.基于上述

思路以陕西省旬北地区铅锌矿的远景区预测为例,在MATLAB平台中调用其内部函数建立了BP人工神经网络矿产资源预测系统,并在此基础上进行了远景区

预测.

4.学位论文 于宁国 人工神经网络在谐波检测中的应用研究 1998

谐波检测技术要发展就离不开新理论的支持.近几年人工神经网络(ANN)的研究再度掀起高潮,在电力系统中的应用研究十分活跃,可是在电力系统谐

波检测方面的应用研究却进展不大.谐波检测方法来源于信号处理方法,而人工神经网络已成功地用在信号处理领域,因此可以将信号处理领域的新成果用

在谐波检测技术中.人工神经网络是一种并行处理技术,具有自学习、自适应和并行处理能力.该文在对人工神经网络特别是BP网络进行深入分析的基础上

,选择了具有高度非线性映射能力的BP网络进行谐波检测的应用研究.通过对BP网络在谐波检测中应用问题的深入研究,如网络学习算法、网络结构选择和

训练样本的选择等,该文用三层BP网络成功的实现了人工神经网络在谐波检测中的应用.大量校验计算和用该文开发的PC机谐波检测装置实际测试,证明了

经过训练的BP网络不仅可以检测谐波,还能有效克服谐波信号中直流衰减分量的影响,具有一定理论和实践意义.三层BP网络在电力系统谐波检测技术中的

成功应用,为电力系统谐波检测技术提供了一种新理论和新方法,同时也为人工神经网络在谐波检测领域的应用研究打下了基础.

5.期刊论文 冷飞.Leng Fei BP网络及其应用研究 -中国现代教育装备2006,""(12)

本文介绍了人工神经网络的基本概念和研究方法.对BP网络的发展动态和进展进行了系统的分析,讨论了BP算法的基本概念、运行机制和BP网络的训

练.同时对研究和设计神经网络的软件工具MATLAB做了介绍并分析了几个BP网络的应用领域.

6.学位论文 吴涛 钛(氢)合金热变形流变应力的人工神经网络预测 2004

钛(氢)合金热变形流变应力受到变形条件(变形温度、应变速率和应变量等)和氢含量等诸多因素的影响,是一个较复杂的非线性问题.该文研究了渗

氢后TC4合金的热变形行为,并利用人工神经网络(ANN)技术,建立了钛(氢)合金热变形流变应力的预测模型.对TC4合金进行了600℃/1h真空退火和渗氢处

理,得到真空退火状态和4种不同氢含量的合金试样.在Gleeble-1500热模拟试验机上,对处理后的试样进行不同变形条件下的热压缩变形试验,并根据试验

结果分析了变形条件和氢含量对钛(氢)合金流变应力的影响规律.结果表明,随着应变量的增加,流变应力迅速上升,到达峰值后缓慢下降:随着变形温度的

升高和应变速率的降低,合金峰值流变应力降低,峰值应变量减小;随着氢含量的增大,峰值流变应力先减小后增大,峰值应力最小值对应的氢含量与变形温

度有关.从热压缩试验数据中提取样本数据,分别用BP网络和RBF网络建立钛(氢)合金热变形流变应力的模型.模型的输入量为变形温度、应变速率、应变

相关主题