神经网络讨论问题.ppt

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
神经网络讨论问题

一 曲线过拟合 为了得到一致假设而使假设变得过度复杂称为过拟合。 想像某种学习算法产生了一个过拟合的分类器,这个分类器能够百分之百的正确分类样本数据,但也就为了能够对样本完全正确的分类,使得它的构造如此精细复杂,规则如此严格,以至于任何与样本数据稍有不同的文档它全都认为不属于这个类别。 标准定义:给定一个假设空间H,一个假设h属于H,如果存在其他的假设h’属于H,使得在训练样例上h的错误率比h’小,但在整个实例分布上h’比h的错误率小,那么就说假设h过度拟合训练数据。? ?? ?----《Machine Learning》Tom M.Mitchell 曲线拟合 clc; clear; p=[-1:0.05:1]; k=1; t=sin(k*pi*p); plot(p,t,‘-’); title(‘要逼近函数’); xlabel(时间‘); ylabel(非线性函数); n=10; %隐含层节点数为10 net=newff(minmax(p),[n,1],{tansig purelin},trainlm); y1=sim(net,p); plot(p,t,‘-’,p,y1,‘--’);title(‘未训练网络仿真结果’); xlabel(时间‘); ylabel(非线性函数); net.trainParam.epochs=50; net.trainParam.goal=0.01; net=train(net,p,t); y2=sim(net,p); plot(p,t,‘-’,p,y1,‘--’,p,y2,‘+’);title(‘训练后仿真结果); xlabel(时间‘); ylabel(非线性函数); 二、BP网络问题—依据要解决对象 1.神经网络层数:一般2级或3级 2.隐含层和输出层节点数 隐含层神经元个数有经验公式可以参考, h_num=sqrt(i_num*(o_num+1)+1) 输出层,以分类(6类)为例 输出层节点最好为3个 000 001 010 011 100 101 110 111选6个; 输出层节点也可以为6个 000001 000010 000100…… 3.数据归一化问题:向量的方向性 4.神经网络的收敛性问题 不收敛原因:数据占很大一块,尤其是当输入相同时候,输出不同。 5.神经网络泛化性 BP神经网络经验谈 BP网络的激活函数必须是处处可微的。 S型激活函数所划分的区域是一个非线性的超平面组成的区域,它是比较柔和、光滑的任意界面,因而它的分类比线性划分精确、合理,这种网络的容错性较好。另一个重要特点是由于激活函数是连续可微的,它可以严格利用梯度法进行推算。 一般情况下BP网络结构均是在隐含层采用S型激活函数,而输出层采用线性激活函数。?? 动手编写网络的程序设计之前,需要确定神经网络的结构,其中包括以下内容:网络的层数、每层的神经元数、每层的激活函数。 trainbp.m提供了两层和三层的BP训练程序,用户可以根据程序来选取不同的参数。 BP神经网络经验谈 BP神经网络具有泛化性能,但是该性能只能对被训练的输入/输出对在最大值范围内的数据有效,即网络具有内插植特性,不具有外插植特性,超出最大训练的输入必将产生大的输出误差。 理论上已经证明:具有偏差和至少一个S型隐含层加上一个线性输出层的网络,能够逼近任何有理函数。 隐含层层数的经验选择:对于线性问题一般可以采用感知器或自适应网络来解决,而不采用非线性网络,因为单层不能发挥出非线性激活函数的特长;非线性问题,一般采用两层或两层以上的隐含层,但是误差精度的提高实际上也可以通过增加隐含层中的神经元数目获得,其训练效果也比增加层数更容易观察和调整,所以一般情况下,应优先考虑增加隐含层中的神经元数。 BP神经网络经验谈 隐含层的神经元数的经验确定:通过对不同神经元数进行训练对比,然后适当的增加一点余量。 初始权值的经验选取:威得罗等人分析了两层网络是如何对一个函数进行训练后。提出一种选定初值的策略:选择权值的量级为S1的r次方,其中S1为第一层神经元数目。利用他们的方法可以在较少的训练次数下得到满意的训练结果。在Matlab工具箱中可以采用nwlog.m和nwtan.m来初始化隐含层权值W1和B1。其方法仅需要使用在第一层隐含层的初始值的选取上,后面层的初始值仍然采用(-1,1)之间的随机数。 BP神经网络经验谈 学习速率的经验选择:一般情况下倾向于选取较小的学习速率以保证系统的稳定性,学习速率的选取范围在0.01-0.8之间。 期望误差的选取:一般情况下,作为对比,可以同时对两个不同的期望误差值的网络进行训练,最后通过综合因素的考虑来确定其中一个网络。 采用附加动量法使反向传播减少了网络在误

文档评论(0)

liudao + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档