BP神经网络的学习
更新时间:2024-05-18 11:17:01 阅读量: 综合文库 文档下载
- 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)互连型结构。包括全互连型、局部互连型、稀疏连接型。 按信息流向类型可分为前馈型网络和反馈型网络。
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) 给定输入/输出样本集合
{up,dp}p,
误差指标
12Ep??(dip?yip)
2i 总误差指标
Eall??Ep
p?1P重复下列过程直至满足收敛条件(a) 对于任意一个样本p,计算
Eall??)
l?1lu,?,O,y,正向过程 pp,xp?p
反向过程
??l???d?y?f'Lx?ipip??ip??ip??l?1?'l?ll?1??ip????mp?wmi??f?xip?,1?l?L?m??
??Ep?l?l?ip?l?1Ojp,1?l?L???wijlb) 修正权值
?Ewij?t?1??wij?t???l,??0
?wijl包括两种学习方式:
模式(Pattern)学习方式:
lwij?t?1??wij?t???l?Ep?wijl,??0
训练(Epoch)学习方式:
l?Eallwij?t?1??wij?t???l,??0
?wijl3.3 BP神经网络存在的缺陷
由于BP神经网络是基于负梯度下降算法的网络模型,就不可避免的存在着一些缺陷和不足:
1)BP学习算法采用梯度下降法来收敛实际输出与期望输出之间误差。因为误差是高维权向量的复杂非线性函数,故易陷入局部极小值;
2)网络在学习过程收敛速度慢;
3)在网络训练过程中容易发生振荡,导致网络无法收敛;
4)网络的结构难以确定(包括隐层数及各隐层节点数的确定);
5)在学习新样本时有遗忘以学过样本的趋势,因为每输入一个样本,网络的权值就要修改一次;
6)学习样本的数量和质量影响学习效果(主要是泛化能力)和学习速度。
4. BP算法的改进
标准的 BP 算法是基于梯度下降法,通过计算目标函数对网络权值和阈值进行修正的。改进算法一种是在标准梯度下降法的基础上,只用到目标函数对权值和阈值的一阶导数(梯度)信息。
4.1附加动量项法
它的实质就是改变学习率?来提高网络性能,其网络连接权的迭代关系式由传统 BP 算法
l?Ewij?t?1??wij?t???l,??0
?wijl变成
l?Ewij?t?1??wij?t???l???wij?t??wij?t?1????
?wijl其中?为动量因子,0???1。
动量项???wij?t??wij?t?1???的作用在于记忆上一时刻的连接权的变化方向(即变化量的值),这样就可以用较大的学习速率系数?以提高学习速度。附加动量项利用其“惯性效应”来抑制网络训练中可能出现的振荡,起到了缓冲平滑的作用。此外,附加动量项还有利于脱离平坦区。
4.2自适应学习率法
该方法被认为是一种最简单最有效的方法。在 BP 算法中,连接权的调整决定于学习速率和梯度,但是,在基本 BP 算法中,学习速率是不变的。实际上学习速率对收敛速度的影响也很大,通过对它的在线调整,可以大大提高收敛速度。
学习速率的调整原则上是使它在每一步保持尽可能大的值,而又不致使学习过程失去稳定性。学习速率可以根据误差变化的信息和误差函数对连接权梯度变化的信息进行启发式调整,也可以根据误差函数对学习速率的梯度直接进行调整。
对于批处理可以根据总误差变化的信息进行启发式调整,其规则是:
1)若总误差
Eall减小,则学习率增加。
2)若总误差
Eall增加,则学习率减小。当新误差与老误差之比超过一定值,
则学习率快速下降。
上述规则可用如下迭代方程来描述:
?a??n?1?,ifEall??w?n????Eall??w?n?1???,a?1???b??n?1?,ifEall??w?n????kEall??w?n?1???,b?1 ?????n?1?,else4.3输入输出数据归一化
各输入数据往往具有不同的物理含义和量纲,取值范围差异可能较大,归一化将避免取值较小的输入分量的作用被淹没;
对于S型转移函数,归一化可防止因神经元净输入过大而使其输出饱和,避免进入误差曲面平坦区;
对输出进行归一化,可使各神经元输出在误差指标中具有等量的作用。
4.4利用遗传算法优化
遗传算法优化神经网络主要包括三方面:网络结构优化、权值优化、学习规则优化,这里主要讨论的是权值优化。
首先,用遗传算法对初始权值分布进行优化,在解空间中找出一个较好的搜索空间;然后,再用 BP 算法在这个较小的解空间中搜索出最优解。用改进的遗传算法优化神经网络权值,能够更好地防止搜索陷入局部极小值。遗传算法优化神经网络权值的主要步骤如图4-1所示。
图4-1 遗传算法优化 BP 神经网络权值流程
5. 基于MATLAB的建模仿真
MATLAB中的神经网络工具箱由许多子程序组成,这些子程序已完成了神经网络算法中所涉及的许多运算和操作,使用者根据需要调用相关函数即可。
对于一个实际问题,选用哪种BP算法很难判断,它取决于很多因素,包括问题的复杂程度、学习样本的多少、隐层的节点数目、误差目标等。
例:创建一个含一个隐层(含 3 个神经元)的单输出 BP 神经网络,采用各种不同的算法训练该网络,并对一位整数奇偶性判别问题进行测试。训练样本为p=[0 1 2 3 4 5 6 7 8 9],t=[0 1 0 1 0 1 0 1 0 1]。
选取的BP网络有10个输入层神经元,4个隐含层神经元,1个输出层神经元。以p作为网络输入,t作为网络输出,并对网络进行初始化。通过大量的仿真试验,分别对基本BP算法、附加动量项法、自适应学习率法对该网络进行训练,通过大量的仿真实验,得到网络训练的误差曲线如图5-1~图5-3所示。
图5-1 基本BP算法的训练误差曲线
图5-2 附加动量项法的训练误差曲线
图5-3 自适应学习率法的训练误差曲线
从图中可以看出,采用附加动量之后,其所加入的动量项实际上相当于阻尼项,它减小了学习过程的震荡趋势,从而改变了收敛性,因此它经过 3633 次学
习后训练结束,网络训练步数减少,训练速度加快,而误差的收敛速度也加快了很多;图 5-3的自适应学习率法具有较快的收敛速度,经过 202 次学习后即停止训练,比普通的训练算法快 10 倍以上。
6. 结束语
本文以神经网络中目前应用最广、最具代表性的BP神经网络为研究对象,分析了其基本特征和缺陷,探讨了优化改进思路,并用MATLAB进行了仿真验证。
BP神经网络能同时描述多个控制或预测量的非线性系统。其多种改进算法适用于不同网络结构,适用于关系复杂的多元非线性系统建模,具有非线性映射能力、自学习和自适应能力、泛化能力、容错能力等优点。
正在阅读:
BP神经网络的学习05-18
动物福利将写入我国兽医教材06-12
齐齐哈尔专科学校有哪些02-16
燃料电池电动汽车的结构组成 - 图文01-06
2017新年贺卡图片02-10
幼儿园大班开学安全教育第一课教案05-21
优秀共青团员事迹材料10篇07-31
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 神经网络
- 学习
- 食堂审计方案初稿
- 汽车设计习题库(含答案) - 图文
- 消防大队全年汇报材料
- 人教版小学一年级下册词语表
- 社区国学知识竞赛活动(试题)(458)
- 万达广场深基坑开挖模拟与支护设计(基于flac3D)
- 材料工程基础复习测试题
- 高中语文试讲教案《锦瑟》
- 中级食品检验工复习题1
- 八路军第115师各时期战斗序列及主要干部授衔情况
- 行政文员实习日志30篇
- 湖南省醴陵一中、攸县一中、浏阳一中2013届高三第五次联合考试文
- 机械能含动量2
- 2017届江苏苏州市高三期中调研数学试卷
- 2017年百校大联考高三语文试卷(word版含答案)
- 医学影像设备学题库
- 青年官兵婚恋思考
- 事业单位面试整理
- 党课讲稿:党风廉政建设党课
- 200马力轮式推土机驱动桥设计说明书 - 图文