您好, 访客   登录/注册

基于BP神经网络算法机理及应用探究

来源:用户上传      作者:王芳芳

  摘   要:BP神经网络结构简单,操作性强,被广泛应用到各个领域。本文介绍了BP神经网络的算法机理,根据实际经验总结了训练过程、Matlab程序实现及注意事项,总结BP神经网络在应用中的局限及改进方法,对后续研究有一定的指导意义。
  关键词:BP神经网络  算法  原理  应用  局限性
  中图分类号:TP39                                   文献标识码:A                       文章编号:1674-098X(2020)05(a)-0150-02
  神经网络(ANN)通过建立数学模型,模拟人脑神经,对数据及相关信息进行处理。此网络具有较强的容错性、融合非线性函数等优点,可解决许多非线性问题。神经网络包含多个神经元,利用简单网络组合在一起,基于以上优点,BP神经网络被广泛应用于各个行业领域。笔者参阅相关文献,从BP神经网络的基本原理、结构、算法机理、实现过程及局限性等方面系统进行分析,有效指导实践。
  1  BP神经网络(BPNN)理论
  1.1 BP神经网络概述
  BP神经网络是一种多层前馈神经网路,最早由 Romelhart和Mc2clelland两位学者提出,通过对函数权值进行优化,将相应误差进行传播,形成三层网络,操作过程简单、方便,应用广泛,在函数逼近等方面中得到应用[1-2]。
  1.2 操作过程
  (1)信号传送(正向);(2)误差传送(反向);(3)反复训练、修正;(4)检查收敛性。
  BP神经网络信息传播是双向的,结构之间的联系是单向的。对于给定的训练样本,经过信号顺向传播、误差反向传播、训练记忆,最终达到期望收敛值。
  1.3 网络结构
  BP网络包括输入层、隐含层和输出层,神经元为基本元素,采用全互连方式将各层连接,单层应用广泛[3]。神经元传播结构见图1。
  1.4 运算机理
  假定BP 神经网络输入层节点:M个,隐含层节点:Q 个,输出层节点:L个,令wij:输入层与隐含层神经元之间的权值,wjk:隐含层与输出层之间的权值;其中,隐含层和输出层传送函数分别:f(x)、g(x)。
  (1)输入层数学表示(输出):
  (2)隐含层数学表示(输入):;(输出):
  (3)输出层数学表示(输入):;(输出):
  (4)通过对网络权值的调整,性能指标函数表示为:期望输出dk与实际输出ok之差的平方和
  其中:E为函数误差数学表示。
  2  BP神经网络训练步骤及程序过程
  2.1 训练步骤
  (1)归一化处理:重点对网络权值及神经元阈值进行归一化处理;
  (2)前向传播处理:按照隐含层及输出层的传递函数进行计算,得出各层之间的误差;
  (3)后向传播处理:根据误差调整权值和阈值,满足条件后训练结束。
  以上步骤训练后的BP神经网络,具备了识别能力,预测样本数据中的非隐含线性关系,训练结束后的网络,用来进行结果预测。
  注意事项:
  (1)在学习前,需要对训练样本进行归一化处理,确保输入、输出值在[-1,1]或[0,1]范围内。常见处理方法有:Matlab数学软件、使用Premnmx()函数等。
  (2)隐含层节点数选取。
  关于隐含层节点数的确定,没有固定方法,通常使用经验公式法及试验法,找出符合条件的隐含层节点数[4]。
  常见公式有:;;;
  其中:k,m,n-分别为隐含层、输入层、输出层节点数, -参数,一般取1-10之间,N-样本总量。
  2.2 编程方法
  BP神经网络在Matlab程序中的函数格式为:
  其中:P,T-分別代表输入、输出值;Si-代表神经元个数数目;TFi-代表传递函数类型。隐含层一般选用tansig函数,输出层一般选用purelin函数。
  3  BP神经网络局限性分析及改进方法
  3.1 局限性分析
  传统方法缺点表现为以下几方面:收敛速度不快,不容易达到预测目标,网络结构不好确定,收敛时间不确定,神经网络容易出现训练瘫痪。
  3.2 改进方法
  针对BP神经网络出现的问题,国内外相关学者分别从收敛速度、优化网络结构等方面提出了改进方法,主要分为以下几方面。
  (1)算法优化。
  随着网络的发展,部分学者将BP神经网络与进化计算[5]、人工免疫算法[4]等新的智能算法相结合,提出一些混合智能算法,设计出较好的BP网络。同时还有将BP算法与模糊数学、小波理论、混沌理论等结合,提出模糊神经网络、小波神经网络、混沌神经网络等,以上算法均在一定程度上提升了收敛速度。
  (2)结构优化。
  传统网络结构隐含层节点确定没有固定方法,多是根据经验公式进行确定,对网络的收敛性产生一定影响。国内外多数研究,根据环境要求,调整网络结构,动态找到合适的神经网络模型。
  4  结语
  (1)本文对BP神经网络基本原理、学习过程及Matlab程序实现等方面进行系统的综述,同时对BP算法存在局限性和改进方法进行探讨。
  (2)由于BP神经网络和算法存在缺陷比较突出,还可以从多个角度对其进行改进,对于如何选择初始值、隐含层节点数、泛化能力的提高及容错性的提高等方面,值得深入研究,不断提高算法精度及收敛速度。
  参考文献
  [1] 吕砚山,赵正琦.BP神经网络的优化及应用研究[J]. 北京化工大学学报:自然科学版,2001,28(1):67-69.
  [2] 孙娓娓.BP神经网络的算法改进及应用研究[D].重庆大学,2009.
  [3] 史春朝.BP神经网络算法的改进及其在PID控制中的应用研究[D].天津大学,2006.
  [4] 黄宏运,朱家明,李诗争.基于遗传算法优化的BP神经网络在股指预测中的应用研究[J].云南大学学报:自然科学版,2017,39(3):350-355.
  [5] 罗俊松.基于神经网络的BP算法研究及在网络入侵检测中的应用[J].现代电子技术,2017, 40(11):91-94.
转载注明来源:https://www.xzbu.com/1/view-15255043.htm