matlab net.lw,matlab神经网络工具箱中net.train..._网络编辑_帮考网

ffd6ac8b64ae3ad2c6d02f2b36d5143f.png

头上的蔷薇

新兵答主

02-07

TA获得超过5212个赞

举个例子就知道了

clear;

%输入数据矩阵

p1=zeros(1,1000);

p2=zeros(1,1000);

%填充数据

for i=1:1000

p1(i)=rand;

p2(i)=rand;

end

%输入层有两个,样本数为1000

p=[p1;p2];

%目标(输出)数据矩阵,待拟合的关系为简单的三角函数

t = cos(pi*p1)+sin(pi*p2);

%对训练集中的输入数据矩阵和目标数据矩阵进行归一化处理

[pn, inputStr] = mapminmax(p);

[tn, outputStr] = mapminmax(t);

%建立BP神经网络

net = newff(pn, tn, [200,10]);

%每10轮回显示一次结果

net.trainParam.show = 10;

%最大训练次数

net.trainParam.epochs = 5000;

%网络的学习速率

net.trainParam.lr = 0.05;

%训练网络所要达到的目标误差

net.trainParam.goal = 10^(-8);

%网络误差如果连续6次迭代都没变化,则matlab会默认终止训练。为了让程序继续运行,用以下命令取消这条设置

net.divideFcn = '''';

%开始训练网络

net = train(net, pn, tn);

%训练完网络后要求网络的权值w和阈值b

%获取网络权值、阈值

netiw = net.iw;

netlw = net.lw;

netb = net.b;

w1 = net.iw{1,1}; %输入层到隐层1的权值

b1 = net.b{1} ; %输入层到隐层1的阈值

w2 = net.lw{2,1}; %隐层1到隐层2的权值

b2 = net.b{2} ; %隐层1到隐层2的阈值

w3 = net.lw{3,2}; %隐层2到输出层的权值

b3 = net.b{3} ;%隐层2到输出层的阈值

%在默认的训练函数下,拟合公式为,y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;

%用公式计算测试数据[x1;x2]的输出,输入要归一化,输出反归一化

in = mapminmax(''apply'',[x1;x2],inputStr);

y=w3*tansig(w2*tansig(w1*in+b1)+b2)+b3;

y1=mapminmax(''reverse'',y,outputStr);

%用bp神经网络验证计算结果

out = sim(net,in);

out1=mapminmax(''reverse'',out,outputStr);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值