神经网络之BP神网络_第1页
神经网络之BP神网络_第2页
神经网络之BP神网络_第3页
神经网络之BP神网络_第4页
神经网络之BP神网络_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

神经网络与应用11月16日1第六章BP网络2BP网基本概念目前实际应用中最常用采用(BackPropagation-BP)学习算法多层前馈型神经网络隐藏层神经元传递函数为S型函数可以解决非线性问题用于函数逼近、模式识别和数据压缩等3BP神经元模型4BP神经元常用的f函数5BP神经元常用的f函数6BP神经元常用的f函数purelin-线性函数仅限于最后一层(输出层),目的是扩大输出的取值范围7BP神经元常用的f函数BP网络所采用的传递函数均是可微的单调递增函数,非线性主要由S函数体现以上三个函数分别有对应的导函数(对于学习算法十分重要)logsig():dlogsig()tansig():dtansig()purelin():dpurelin()8BP网络结构的一般结构9两层BP网络结构10BP神经网络的构建NEWFF(PR,[S1S2...SNl],{TF1TF2...TFNl},BTF,BLF,PF)PR-Rx2矩阵,确定R维输入的变化范围.Si-表示第i层有几个神经元.TFi–第i层的传递函数,默认为

'tansig'.BTF–训练函数,默认为'trainlm'.BLF–学习函数,默认为'learngdm'.PF-表现(评价)函数,默认为'mse'11创建BP神经网络实例例一:创建一个两层的BP网络设置训练样本,非线性对比训练前后网络输出的变化每次训练的结果并不相同对比不同的神经元数对解决非线性问题的影响(1个、5个、10个)Demo1:要解决的问题越复杂,需要的隐藏层神经元个数越多(匹配与过调)12基本BP学习算法什么是BP?

-反向传播什么东西被反向传播?

-误差为什么要反向传播误差?

-使得每一层都有误差为什么要使得每一层都有误差?

-根据误差修正权值和阈值13如何反向传递误差输出节点的误差通过输出层的权值反向传播成为隐藏节点的误差14如何根据误差求梯度15如何根据误差求修正值16实际训练分类模式递增:每次增加一个输入样本重新计算批处理:同时利用所有样本(常用)具体学习算法traingd,traingdm,traingdx,trainrp,traincgf,traincgp,traincgb,trainscg,trainbfg,trainoss,trainlm,trainbr等等17梯度下降法traingd:最基本的BP算法例二:梯度法进行BP网络训练基本BP算法的收敛速度慢Demo2:局部极值18改进BP算法的思路启发式学习算法:对于表现函数梯度加以分析,从而改进算法采用更有效的优化算法:基于数值最优化理论的改进19有动量的梯度下降法修正权值时不但考虑当前时刻的负梯度,还考虑到上一个时刻的负梯度

wji(k+1)=wji(k)+η[(1-α)D(k)+αD(k-1)]

α:∈[0,1]动量因子,决定影响比例

net.trainParam.mc增加阻尼,减少振荡,改善收敛性例三:traingdm训练函数,收敛速度较慢Demo3:动量因子对振荡的影响(学习率)20有自适应学习率的梯度下降法根据误差调大或调小学习率学习率增长比:net.trainParam.lr_inc学习率下降比:net.trainParam.lr_dec同时保证收敛速度和精度例四:traingda训练函数,速度显著提高有动量和自适应学习率的梯度下降法:

-traingdxDemo4:学习率和变化率的影响21弹性(能复位的)梯度下降法为了克服S函数的压缩效果,防止出现由于梯度减小,没有达到目的训练停止的现象根据两次训练间符号是否变化调整修正权值增加量:net.trainParam.delt_inc权值减小量:net.trainParam.delt_dec例五:trainrp训练函数,精度高22共轭梯度法23Fletcher-Reeves共轭梯度法24Polak-Ribiére共轭梯度法25Powell-Beale共轭梯度法26量化共轭梯度法基本思想:融合置信区间法和共轭梯度法,避免一维搜索

matlab中对应的函数:trainscg例九:训练步骤平均1027拟牛顿算法28一步正割的BP训练法介于拟牛顿和共轭迭代之间,节约存储空间,简化计算matlab中对应的函数:trainoss例十一:收敛步骤平均25,以时间换取空间29LM(Levenberg-Marquardt)法30应用BP网络的几个关键问题训练算法:

视目标要求、网络规模和系统性能等而定学习率:

训练速度和稳定性的矛盾避免局部最优:

神经元的非线性导致神经元个数:

不适性和过适性31作业1:BP训练神经网络1)训练集:X=2*pi*rand(1,300);Y=sin(X)+0.2*randn(1,length(X))plot(X,Y,’+’)测试集:X2=2*pi*rand(1,300);Y2=sin(X2)+0.2*randn(1,length(X2))plot(X2,Y2,’o’)32作业1:BP训练神经网络2)网络结构:输入:1;隐含:7tanh元;输出1线性元训练算法:BP算法,Levenberg-Marquardt算法3)要求:a)比较一般BP算法(trainbp),自适应变步长BP算法(trainbpa),Levenberg-Marquardt(trainlm)算法的收敛时间和精度,给出每一次迭代后的性能指标;b)测试以上模型的精度。c)比较20个隐含元的神经网络建模精度,初始权值的影响,得出你的结论。33作业1附加:BP网络用于Xor问题要求(检验样本)

p=[0011;0101]; t=[0110];方法不限34应用BP网络进行函数逼近例十三:逼近频率可变的正弦函数,观察函数非线性程度与BP网络隐藏层神经元数目的关系,以及训练时间和误差等的变化实现步骤构建待模拟函数(频率可调)构建BP神经网络(隐藏神经元个数可调)对网络进行训练(采用lm方法)35应用BP网络进行函数逼近讨论:误差量、训练速度提高待模拟函数频率,隐藏层神经元数量不变待模拟函数频率不变,减少隐藏层神经元数量同步提高待模拟函数频率和神经元个数36应用BP网络进行系统辨识例十四:已知大量输入输出样本,用神经网络描述输入输出之间的关系。多输入对多输出实现步骤导入输入输出样本分别选取用于训练、测试和验证的样本集训练(防止过适应)37应用BP网络进行系统辨识讨论对三路输出分别进行线性回归分析根据结果评价网络拟合效果可能的修正方法修改训练算法修改网络结构修改隐藏神经元个数38应用BP网络进行模式识别例十五:印刷体字母识别输入信号:特征向量 网格图像-------特征向量(35个元素)0010001010010101000111111100011000139应用BP网络进行模式识别输出信号:识别向量维数:26(只考虑大写)表示方法:相应位为“1”,其余为“0”网络结构:35维输入,26维输出隐藏层神经元个数随意(10)为了使输出在0-1之间,输出层也采用S函数40应用BP网络进行模式识别无噪声训练用理想输入信号进行训练对于有噪声信号的效果不好有噪声训练用有噪声的信号进行训练对于理想信号的识别也采用有噪声方法,浪费综合训练无噪声-有噪声-无噪声41应用BP网络进行模式识别网

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论