教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

matlab辅助神经网络设计(8)

来源:网络收集 时间:2026-08-29
导读: 利用函数trainbp对构造的BP网络进行训练: df=10 me=8000 eg=0.02 lr=0.01 tp=[df me eg lr] [w1,b1,w2,b2,ep,tr]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp) 其中df指定两次显示间的训练次数,其缺省值25;m

利用函数trainbp对构造的BP网络进行训练: df=10 me=8000 eg=0.02 lr=0.01 tp=[df me eg lr]

[w1,b1,w2,b2,ep,tr]=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp)

其中df指定两次显示间的训练次数,其缺省值25;me指定训练的最大次数,其缺省值100;eg指定误差平方和指标,其缺省值0.02;lr指定学习速率,其缺省值0.01;

训练结果与理想输出对比分析:

Function Approximation0.80.60.40.20-0.2-0.4-0.6-0.8-1-1Output: -, Target: +-0.8-0.6-0.4-0.20Input0.20.40.60.81 图4.5 训练结果与理想输出对比分析

网络的训练过程中,网络收敛效果一定程度上要受网络初始化的初始值的影响,实际输出和理想输出的误差的变化情况可以反映网络学习的效果,这一点可以通过如图4.6反映:

ploterr(tr, eg)

其中tr为网络学习的循环次数。

26

2Sum-Squared Network Error for 535 Epochs10101Sum-Squared Error10010-110-2050100150200250300Epoch350400450500 图4.6 误差曲线

% 读入训练数据和测试数据

Input = []; Output = []; str = {'Test','Check'}; Data = textread([str{1},'.txt']);

% 读训练数据 Input = Data(:,1:end-1); % 取数据表的前五列(主从成分)

Output = Data(:,end); % 取数据表的最后一列(输出值) Data = textread([str{2},'.txt']);

% 读测试数据 CheckIn = Data(:,1:end-1); % 取数据表的前五列(主从成分)

CheckOut = Data(:,end);

27

% 取数据表的最后一列(输出值)

Input = Input'; Output = Output'; CheckIn = CheckIn'; CheckOut = CheckOut';

% 矩阵赚置

[Input,minp,maxp,Output,mint,maxt] = premnmx(Input,Output);

% 标准化数据

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%

% 神经网络参数设置 %====可以修正处 Para.Goal = 0.0001; % 网络训练目标误差 Para.Epochs = 800; % 网络训练代数 Para.LearnRate = 0.1; % 网络学习速率

%==== Para.Show = 5; % 网络训练显示间隔

Para.InRange = repmat([-1 1],size(Input,1),1);

% 网络的输入变量区间

Para.Neurons = [size(Input,1)*2+1 1];

% 网络后两层神经元配置 Para.TransferFcn= {'logsig' 'purelin'};

% 各层的阈值函数 Para.TrainFcn = 'trainlm';

28

% 网络训练函数赋值 % traingd : 梯度下降后向传播法 % traingda : 自适应学习速率的梯度下降法

% traingdm : 带动量的梯度下降法

% traingdx :

% 带动量,自适应学习速率的梯度下降法

Para.LearnFcn = 'learngdm';

% 网络学习函数 Para.PerformFcn = 'sse'; % 网络的误差函数 Para.InNum = size(Input,1);

% 输入量维数

Para.IWNum = Para.InNum*Para.Neurons(1);

% 输入权重个数

Para.LWNum = prod(Para.Neurons);

% 层权重个数

Para.BiasNum = sum(Para.Neurons);

% 偏置个数

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%

Net = newff(Para.InRange,Para.Neurons,Para.TransferFcn,...

Para.TrainFcn,Para.LearnFcn,Para.PerformFcn);

% 建立网络

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% …… 此处隐藏:292字,全部文档内容请下载后查看。喜欢就下载吧 ……

matlab辅助神经网络设计(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/518856.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)