BP神经网络的学习要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BP神经网络的学习
王贵腾
摘要:人工神经网络是近年来的热点研究领域,是人类智能研究的重要组成部分。BP神经网络作为目前应用较多的一种神经网络结构,具有良好的逼近性能,且结构简单,性能优良。但仍存在收敛速度慢,易陷入局部极小值的问题,通过附加动量项法、自适应学习率法、数据归一化法、遗传算法等,可大幅度改善其性能,可广泛应用于多输入多输出的非线性系统。
关键词:BP神经网络;BP算法;动量项;自适应学习率;归一化;遗传算法
1.绪论
1.1人工神经网络概述
人工神经网络(Artificial Neural Network),简称神经网络(NN),是由大量处理单元(神经元)组成的非线性大规模自适应系统。它具有自组织,自适应和自学习能力,以及具有非线性、非局域性,非定常性和非凸性等特点。它是在现代神经科学研究成果的基础上提出的,试图通过模拟大脑神经网络处理,记忆信息的方式设计一种新的机器使之具有人脑那样的信息处理能力。
神经网络作为计算智能与控制的重要分支,在控制领域具有如下优点:
1)能逼近任意L2范数上的非线性函数;
2)信息分布式存储与处理,鲁棒性和容错性强;
3)便于处理多输入多输出问题;
4)具有实现高速并行计算的潜力;
5)具有学习能力,对环境变化具有自适应性,对模型依赖性不强,主要用于解决非线性系统的控制问题。
同时,神经网络控制在多种控制结构中得到应用,如PID控制、模型参考自适应控制、前馈反馈控制、内模控制、逆系统控制、预测控制等。
目前神经网络的研究主要集中在三个方面:理论研究、实现技术研究、应用研究。
1.2 BP神经网络概述
BP神经网络是1986年由Rumelhart和McClelland一同提出的一种多层前馈神经网络。该网络采用BP算法——一种误差反向传播(Back Propagation)算法,其方法是依据负梯度下降方向迭代调整网络的权值和阀值以实现训练误差目标函数的最小化。
由于BP神经网络在实际应用中存在着收敛速度慢、网络结构难以确定、容易陷入局部极小值、泛化能力不强的缺陷,近年来,许多学者为满足实际应用中需要提出了许多改进方法,在网络自身性能的改善方面做了大量而有实际意义的工作,并且在BP神经网络的理论方面的研究和实际问题上应用也取得了丰硕的成果。对BP神经网络的理论研究,概括起来大致分为三个方面:改进激励函数,权值选取优化和网络拓扑结构。
1.3本文研究内容
本文从神经网络出发,研究其中应用最为广泛的BP神经网络模型,分析其缺点和不足,提出改进措施,并探讨其应用。具体研究内
容包括:
1)研究人工神经网络的基本原理;
2)对BP神经网络进行分析,探讨BP算法的缺陷;
3)提出对BP神经网络的改进和优化;
4)基于MATLAB的BP神经网络的建模仿真。
2.神经网络基本原理
神经网络,主要是模拟人的神经系统。其神经元特性、网络结构、学习算法是神经网络的三要素。
2.1神经元特性
神经网络是由大量简单处理单元组成,通过可变权值连接而成的并行分布式系统,神经元是神经网络的基本处理单元。1943年提出的MP模型,经不断改进形成了现在广泛应用的BP神经元模型,MP 模型如图2-1所示。
图2-1 人工神经元模型
模型基于以下六点假设:
1)神经元是多输入单输出的信息处理单元;
2)神经元输入:兴奋性输入和抑制性输入;
3)神经元具有空间整合特性和阀值特性;
4)输入和输出间有固定时滞(突触延搁);
5)忽略时间整合作用和不应期;
6)突触时延和突触强度为常数(时不变)。
神经元信号处理特性(转移函数)是决定人工神经网络整体性能的三大要素之一。包括阀值型转移函数、连续非线性转移函数、分段线性转移函数、概率型转移函数等。
2.2神经网络结构
神经网络拓扑结构是决定神经网络特性的第二大要素。包括:1)层次型结构。包括单纯型层次网络结构、输出层到输入层有连接的层次网络结构、层内有互连的层次网络结构。
2)互连型结构。包括全互连型、局部互连型、稀疏连接型。
按信息流向类型可分为前馈型网络和反馈型网络。
2.3神经网络学习算法
神经网络的学习方式是决定神经网络信息处理性能的第三大要素。神经网络的工作方式分为两个阶段:学习期和工作期。
神经网络的学习类型包括有导师学习(有监督学习)、无导师学习(无监督学习)、灌输式学习(死记硬背学习)、再励式学习。
3.BP神经网络
3.1 BP神经网络结构
采用BP算法的神经网络模型称为BP神经网络,一般由输入层、隐层和输出层组成,隐层可以是一层或者多层,每个层中又包含许多单个神经元,在BP神经网络中,层与层之间的神经元是全连接,层内部的神经元之间是无连接的。各隐层节点的激活函数使用Sigmoid 函数,其输入层和输出层激励函数可以根据应用的不同需要而异。因此,BP神经网络是前向反馈网络的一种,其网络结构可以采用简要的形式来描述,如图3-1。
输入层隐层输出层
图3-1 BP神经网络结构
3.2 BP算法
BP算法即误差反向传播(Back Propagation)算法,其主要思想是是把学习过程分为两个阶段:第一阶段(正向传播过程),给出输入信息通过输入层经隐含层处理并计算每个单元的实际输出值;第二阶段(反向过程),若在输出层未能得到期望的输出值,则逐层递归地计算实际输出与期望输出之差值(即误差),以便根据此差值调节
权值。
BP 算法的基本步骤如下:
1) 设置初始权值W(0)为较小的随机非零值。
2) 给定输入/输出样本集合{,}p p p u d ,
误差指标 2
1()2p ip ip i
E d y =-∑ 总误差指标
1P all p p E E ==∑ 重复下列过程直至满足收敛条件(all
E ε≤)
a) 对于任意一个样本p ,计算 正向过程 1,,,,
,l l p p p p u O x y - 反向过程 ()()()'11'1,1,1l L ip
ip ip ip l l l l ip mp mi ip m p l l ip jp l ij
d y f x w f x l L E O l L w δδδδ++-⎧⎪=--•⎪⎪⎛⎫⎪=••<<⎨ ⎪⎝⎭⎪⎪∂⎪=•<≤∂⎪⎩∑ b) 修正权值()()1,0l l
ij ij l ij E w t w t w ηη∂+=->∂ 包括两种学习方式:
模式(Pattern )学习方式: