Matlab BP神经网络笔记

matlab 创建神经网络

创建神经网络:

1、tf为神经网络的传输函数,默认为’tansig’函数为隐层的传输函数,

2、purelin函数为输出层的传输函数

%TF1 = ‘tansig’;TF2 = ‘logsig’;

%TF1 = ‘logsig’;TF2 = ‘purelin’;

%TF1 = ‘logsig’;TF2 = ‘logsig’;

%TF1 = ‘purelin’;TF2 = ‘purelin’;

TF1=‘tansig’;TF2=‘purelin’;
 

旧版的语法:

net=newff(minmax(p),[10,1],{TF1 TF2},'traingdm');%网络创建

新版本语法:

net2 = newff( input,output', [10] , { 'logsig' 'purelin' } , 'traingdx' ) ;    %新版本

网络参数设定:

net.trainParam.epochs=10000;%训练次数设置

net.trainParam.goal=1e-7;%训练目标设置

net.trainParam.lr=0.01;%学习率设置,应设置为较少值,太大虽然会在开始加快收敛速度,但临近最佳点时,会产生动荡,而致使无法收敛

net.trainParam.mc=0.9;%动量因子的设置,默认为0.9

net.trainParam.show=25;%显示的间隔次数

指定训练参数

net.trainFcn = 'traingd'; % 梯度下降算法

net.trainFcn = 'traingdm'; % 动量梯度下降算法

net.trainFcn = 'traingda'; % 变学习率梯度下降算法

net.trainFcn = 'traingdx'; % 变学习率动量梯度下降算法

% (大型网络的首选算法)

net.trainFcn = 'trainrp'; % RPROP(弹性BP)算法,内存需求最小

% 共轭梯度算法

net.trainFcn = 'traincgf'; %Fletcher-Reeves修正算法

net.trainFcn = 'traincgp'; %Polak-Ribiere修正算法,内存需求比Fletcher-Reeves修正算法略大

net.trainFcn = 'traincgb'; % Powell-Beal复位算法,内存需求比Polak-Ribiere修正算法略大

% (大型网络的首选算法)

net.trainFcn = 'trainscg'; % ScaledConjugate Gradient算法,内存需求与Fletcher-Reeves修正算法相同,计算量比上面三种算法都小很多

net.trainFcn = 'trainbfg'; %Quasi-Newton Algorithms - BFGS Algorithm,计算量和内存需求均比共轭梯度算法大,但收敛比较快

net.trainFcn = 'trainoss'; % OneStep Secant Algorithm,计算量和内存需求均比BFGS算法小,比共轭梯度算法略大

% (中型网络的首选算法)

net.trainFcn = 'trainlm'; %Levenberg-Marquardt算法,内存需求最大,收敛速度最快

net.trainFcn = 'trainbr'; % 贝叶斯正则化算法

 有代表性的五种算法为:'traingdx','trainrp','trainscg','trainoss', 'trainlm'

%在这里一般是选取'trainlm'函数来训练,其算对对应的是Levenberg-Marquardt算法

训练 train

net.trainParam.epochs = 500; %`训练的最大次数
net.trainParam.goal = 1e-5;  %全局最小误差
net.trainParam.showWindow = 1;
net.trainParam.lr = 0.01;
net = train(net,ttraindata,tLabel); %训练一个神经网络

神经网络预测

 O = sim(net,tempcharactmat{i}'); %使用网络仿真

结果分析
matlab神经网络训练结果常用评价指标_入间同学的博客-CSDN博客_matlab神经网络regression图

r如果需要对BP神经网络进行优化,可以参考如下连接
PSO优化的BP神经网络_卿云阁的博客-CSDN博客_pso优化bp神经网络

参考连接:

Train shallow neural network - MATLAB train- MathWorks 中国

Simulate neural network - MATLAB sim- MathWorks 中国

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值