2010年10月 湘南学院学报 Oct..2010 第31卷第5期 Journal of Xiangnan Umve ̄ity V0J.3l No.5 Bp神经网络的Matlab实现 石 云 (安徽建筑工业学院机械与电气工程学院,安徽合肥230601) 摘 要:介绍Bp神经网络以及利用Matlab神经网络工具箱构造Bp网络的方法,并阐述实现网络的关键问题,包括网 络设计流程、学习规则选择、权重和阈值的训练与网络仿真.给出具体应用实例,构造一个典型三层结构的神经网络实 现了具有函数逼近功能的Bp网络设计. 关键词:Bp神经网络;Maflab仿真;函数逼近 中图分类号:TP389.1 文献标识码:A 文章编号:1672—8173(2010)05—0086—03 0引言 误差反向传播网络(Back Propagation Net—work,简称Bp网络)是目前人工神经网络模式中最具代表性,应 用得最广泛的一种模型,具有自学习、自组织、自适应和很强的非线性映射能力,可以以任意精度逼近任意连 续函数.近年来,为了解决Bp网络收敛速度慢,训练时间长等不足,提出了许多改进算法¨].然而,在针对实际 问题的Bp网络建模过程中,选择多少层网络,每层多少个神经元节点,选择何种传递函数等,均无可行的理论 指导,只能通过大量的实验计算获得.MATLAB中的神经网络工具箱(Neural Network Toolbox,简称NNbox),为解 决这一问题提供了便利的条件.神经网络工具箱功能十分完善,提供了各种MATLAB函数,包括神经网络的建 立、训练和仿真等函数,以及各种改进训练算法函数,用户可以很方便地进行神经网络的设计和仿真,也可以 在MATLAB源文件的基础上进行适当修改,形成自己的工具包以满足实际需要. 1 Bp网络模型 输 Bp网络是一种多层前馈神经网络,由输入层、隐层和输出层组成. 图1为一个典型的三层BP网络的拓扑结构,层与层之间采用全互连方 式,同一层之间不存在相互连接,隐层可以有一层或多层.层与层之间有 两种信号在流通:一种是工作信号(用实线表示),它是施加输入信号后 向前传播直到在输出端产生实际输出的信号,是输入和权值的函数.另 输入层 隐层 输出层 一种是误差信号(用虚线表示),网络实际输出与期望输出间的差值即为 图1典型Bp网络模型 误差,它由输出端开始逐层向后传播.Bp网络的学习过程程由前向计算 过程和误差反向传播过程组成.在前向计算过程中,输入量从输入层经隐层逐层计算,并传向输出层,每层神 经元的状态只影响下一层神经元的状态.如输出层不能得到期望的输出,则转入误差反向传播过程,误差信号 沿原来的连接通路返回,逐次调整网络各层的权值和阈值,直至到达输入层,再重复向计算.这两个过程一次 反复进行,不断调整各层的权值和阈值,使得网络误差最小或达到人们所期望的要求时,学习过程结束. 收稿日期:2010—08—06 基金项目:安徽建筑工业学院青年科研基金专项项目 作者简介:石 云(1980一),女,安徽庐江人,讲师,研究方向:神经网络 ・86 ・ 2 Matlab神经网络工具箱 Matlab作为国际公认最优秀的数学应用软件,它集数值分析、矩阵运算、信号处理和图形显示于一体,构成 了一个方便的、界面友好的用户环境,它相继推出的工具箱为各领域的研究提供了有力的工具,借助于它们, 我们可以直观、方便地进行分析、计算及仿真工作_2j.神经网络工具箱是Matlab以神经网络为基础,包含着大 量Bp网络的作用函数和算法函数,为Bp网络的仿真研究提供了便利的工具.运用神经网络工具箱一般按照 图2的顺序进行. 匝 匦一叵 一匝 匦 图2 NNbox的应用 首先创建Bp神经网络:Matlab的NNbox提供了建立神经网络的专用函数neurff()用newff函数来确定网络 层数、每层中的神经元数和传递函数,其语法为:net=newff(PR,Si,{ m},BTF,BLF,PF)其中PR是一个由每个 输入向量的最大最小值构成的Rx2矩阵;Si是第i层网络的神经元个数;TFj是第i层网络的传递函数;B 一 字符串变量,为网络的训练函数名;BLF一字符串变量,为网络的学习函数名;B卜字符串变量,为网络的性能 函数.使用newff创建l3p神经网络后,网络会自动地初始化权值和阈值,缺省值都是0.如果要设置这些初始 值,可以使用函数init(),格式:net=init(net). 初始化后的网络即可用于训练,即将网络的输人和输出反复作用于网络,不断调整其权重和阈值,以使网 络误差达到期望值.训练格式为[net,tr]=train(NET,P,T),其中P和T分别为输入输出矩阵,NET为由newff 定义的网络,net为修正后的网络,tr为训练的记录(训练步数epochs和性能perf).train根据在newff函数中确 定的训练函数来训练.NNbox中给出了十多种网络学习、训练函数,其采用的算法可分为基本梯度下降法和快 速算法,各种算法的推导参见文献 J. 在Matlab中神经网络的仿真是用函数sim()来实现的.函数sim()的调用格式为v:sim(net,P).其中Y为 网络输出;net为神经网络对象;P为输入向量或矩阵,如果P为向量,则为单点仿真;P为矩阵,则为多点仿真. 3 Bp网络的Matlab仿真实现 利用Matlab对实际问题进行网络仿真一般按照图3的流程设计.在设计过程中,Bp神经网络的结构一定 程度上决定了整个仿真的结果.Bp网络的输入与输出结点数是由实际问题的本质决定的,与网络性能无关. 网络结构的一个关键点是确定隐层结点数L,隐层结点数的选择与其说具有科学性,不如说更具有技巧性,往 往与输入数据中隐含的特征因素有关L的选择至今仍得不到一个统一的规范.L的初始值可先由以下两个公 式中的其中之一来确定 l:、 =(1) (2)  ̄/0.43m忍+0.12 +2.54m+0.77陀+0.35+051 其中ITI、n分别为输入结点数目与输出结点数目. 这里有21组单输入矢量和相对应的目标矢量:一0.96—0.577—0.0729 0.377 0.641 0.66 0.461 0.1336—0. 201—0.434—0.5—0.393—0.1647 0.0988 0.3072 0.396 0.3449 0.1816—0.0312—0.2183—0.3201以下将 设计神经网络来实现这对数组的函数关系.由此,我们确定输入层和输出层的神经元数都为1,隐含层神经元 数由以上公式可设为2.实现函数逼近BP神经网络设计的MATLAB的in文件如下: P:一1:0.1:1: T:l一0.96—0.577—0.0729 0.377 0.641 0.66 0.461 0.1336—0.201—0.434—0.5—0.393—0.1647 0.0988 0.3072 0.396 0.3449 0.1816—0.0312—0.2183—0.3201]; plot(P,T,’r+’); net=newef(minmax(P),[1,2,1],{’logsig’,’tansig’,’purelin’},’traingdx’);%创建三层前向回馈网络 net.trainParam.epochs=60OO;%初始化训练次数 net.trainParam.goal=9.5238e一004;%sse:0.02%初始化误差值 net.trainParam.1r=0.15: ・87 ・ [net,tr]=train(net,P,T);%训练网络 Y=sier(net,P);%计算结果 plot(P,Y,’r一’) hold plot(P,T,’r+’); hold off 程序运行结果如图4所示.“figurel”窗口中:“+”代表的是初始网络输出波形 图,“一”代表的是训练后网络的输出波形.网络训练前的均方误差为1.850 4,网 络训练后的均方误差为0.012.窗口“Training with TRA INLM”显示的为训练过程中 的网络误差记录曲线,随着训练次数的增加误差越来越小,本例中程序所设置的 训练次数为6 000次,而仿真过程中,当训练次数达到1 080次左右时,网络误差 已经满足程序中所要求的0.02,故在epochs=1 084时网络便学习结束,停止训 练.由仿真结果可见,因为反向传播法采用的是连续可微分函数,所以网络对输入 图3仿真设计流程图 /输出的逼近是平滑的. 用MATLAB神经网络工具箱编写Bp网络程序,用户只要根据需要调用相关函数,就能方便进行神经网络 的设计与仿真,从而免除了编写复杂而庞大的算法程序的困扰,助于提高神经网络设计的效率. 参考文献: [1]巨军让,卓戎.Bp神经网络在MATLAB上的方便实现[J].石油学院学报,1999,11(2):42. [2]楼顺天,施阳.基于MAT[AB的系统分析与设计[M].西安:西安电子科技大学出版社,2002:23 [3]M.T.Hagan,H.B.Demuth.Neural Network Desig—n.PWS publishing company[J].Boston,1996:67. [4]高大启.有教师的线性基本函数前向三层神经网络结构研究[J].计算机学报,1998,21(1):8O. (下转第111页) ・88 ・ Study of Art Quality for Latin Dancing Professional Athlete in Physical Education Dance U Shan (Department of Public Course,Xingnan University,Chenzhou 423000,China) Abstract:This article asks for help of dance art theories and other related courtesies,combining the sports dance features and its experience,elaborating the restricting sports dance art qualities for the dances Latin athletics.1. psychology(1)estheticism(2)understndiang(3)ideation 2.artistic culture(1)humanity quality(2)contesta— nts’recognition of artistic form(3)contestants’understanding of art lnguagea 3.professional quality(1)music reception capability(2)physical quality(3)body lngauage expressive ability.The question of how to cultivate sports dance Latin dance professional athlete artistic qualities is put forward in the article. Key words:sports dance;Latin dance;professional athlete;artistic quality;teaching and training 、 p l1j ≯0 、0 、 、 、 、 、 、 、 tj ≯、。 、0》、; 、0 、 ) (上接第88页) Realization of Bp Neural Network Based on Matlab SHI Yun (Architecture School of Mechanical and Electrical Engineering, Anhni Universiy,Heftei 230601,China) Abstract:This article introduces Bp neural network,and a method using the Matlb neural net taool kit to design Bp network was introduced.Moreover the key issues of network’S realization,which includes designing process of network,selecting learning regulation,evolutionary training weight,threshold value and network emulation were illustrated in detail,and some application examples are given out.The design of a typical three—layer structure Bp Neural Network of function approximation is implemented. Key words:Bp neural network;Madab simulation;function approximation