当前位置:   article > 正文

matlab输出神经网络权值,matlab神经网络能做什么_matlab怎么将神经网络参数导出

matlab怎么将神经网络参数导出

1、matlab神经网络工具箱训练出来的函数,怎么输出得到函数代码段

这样:

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]的输出ÿ

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/738984
推荐阅读
相关标签
  

闽ICP备14008679号