- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第五章 BP网络;回 顾;;Function Approximation;Supervised Learning;监督学习基础;Typical Applications of NN;数学表示;预测有意义吗?;;;标准BP算法的误差空间是N维空间中一个形状极为复杂的曲面;在以下几个缺陷:;;;;5.6 BP网络的MATLAB实现;一、神经网络归一化;为什么要归一化处理?;;(4)S形激活函数在(0,1)区间以外区域很平缓,区分度太小。例如S形函数f(X)在参数a=1时,f(100)与f(5)只相差0.0067。;归一化算法;Matlab数据归一化处理函数 ;premnmx语句;tramnmx;postmnmx;二、网络的结构选择;;所谓过拟合问题;据我的理解,包括样本要具有典型性、样本间相关性小等等。这里所说的典型,是指有限的训练样本应该尽可能的反映整个输入空间的统计特性,举个最简单的例子,如果系统的输入是三维笛卡尔空间中某个空间范围的点,那么训练样本就应该尽可能均匀的分布在这个区域。否则,如果训练样本集中在某个子区域,或者甚至共线,那么借此估计出的函数关系肯定是有误差的,坐井观天式的视野如何能够看清广阔世界的道理,又凭什么能够获得泛化能力?;训练中精度要求;;;三、学习速率的选取;四、训练集和测试集数据;;五、期望误差的选取;logsig
导数
matlab 函数:dA_dN = dlogsig(N,A)
tansig
matlab 函数:dA_dN = dtansig(N,A)
;;七、神经网络MATLAB工具箱介绍;;在训练前馈网络之前,权重和偏置必须被初始化。这个命令建立了网络对象并且初始化了网络权重和偏置,因此网络就可以进行训练了。
我们可能要多次重新初始化权重或者进行自定义的初始化。初始化权重和偏置的工作用命令init来实现。这个函数接收网络对象并初始化权重和偏置后返回网络对象。
net = init(net);
可以通过设定网络参数net.initFcn和net.layer{i}.initFcn这一技巧来初始化一个给定的网络。;;;IW: 输入层到隐含层的权重矩阵
LW: 隐含层和输出层间的权重矩阵
b: 阀值向量
如网络为net, 输入层和输出均为一个接点情况下,则用
net.IW{1,1}可以看到第一个输入接点到第一隐含层的权重向量;注意I表示输入,第2个表示源,第1个表示目的。
net.LW{2,1}可以看到隐含层到输出层的权值向量;注意L表示层的权重,
net.b{1,1}是隐含层的阀值向量,
net.b{2,1}???输出接点的阀值;
在多输入输出下先用
net.IW
net.LW
net.b
查看各矩阵结构,再相应用net.IW{?,?}等语句查到相关的向量;train函数;sim函数;建立一个神经网络;具体m程序;多层网络的简化表示; BP神经网络进行交通预测的Matlab源代码;;%数据归一化处理
%mapminmax函数默认将数据归一化到[-1,1],调用形式如下
%[y,ps] =mapminmax(x,ymin,ymax)
%x需归化的数据输入
%ymin,ymax为需归化到的范围,不填默认为归化到[-1,1]
%y归一化后的样本数据
%ps处理设置,ps主要在结果反归一化中需要调用,或者使用同样的settings归一化另外一组数据
%---------------------------------------------------
[normInput,ps] = mapminmax(p);
[normTarget,ts] = mapminmax(t);;%将输入的15组数据的20%,即3组,用来作为测试数据;
% 样本的20%,即3组,用来作为变化数据;
%另外9组用来正常输入,用来训练;
%dividevec()用来重新随机抽取上述三种分类的数据,原来的顺序被打乱
%函数调用的语法
%[trainV,valV,testV] = dividevec(p,t,valPercent,testPercent)
%输入p为输入数据,t为输出数据
%valPercent为训练用的变化数据在总输入中的百分比
%testPercent为训练用的测试数据在总输入中的百分比
%输出trainV,valV,testV分别为按乱序及相应百分比,抽取得到的数据;%---------------------------------------------------
testPercent = 0.20; % Adjust as desired
validatePercent = 0.20; % Adust as desired
[trainSamples,validateSamples,testSample
文档评论(0)