
matlab中 BP神经网络怎么构建多个隐层
我设计的程序newff是:net=newff(minmax(p),[4,1],{‘tansig’,‘purelin’},‘trainlm’);只有一个隐层,现在想构建多隐...
我设计的程序newff是:
net=newff(minmax(p),[4,1],{‘tansig’, ‘purelin’},‘trainlm’);
只有一个隐层,现在想构建多隐层,上网查了下,都说只要在[4,1]中间加一个数代表第二隐层的节点数就可以,我试过了,改成
net=newff(minmax(p),[4,6,1],{‘tansig’, ‘purelin’},‘trainlm’);
语句报错,请教,怎么实现bp神经网络的多隐层编程啊??
程序如下:
clear all
close all
p1=[1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30];
t=[];
t_m=t.';
pr=[1 30];
for i=1:12
net=newff(pr,[200,200,1],{'tansig' 'tansig' 'purelin'},'trainlm');
net.trainparam.goal=0.00001;
net.trainparam.epochs=10000;
[net,tr]=train(net,p1,t_m(i,:));
A(i,:)=sim(net,p1);
figure
plot(p1,t(:,i),'r')
hold on
plot(p1,A(i,:),'b:o')
hold on
end
t太长 没有写 正如1楼说的 少加了一个传输函数 不过加上之后还是报错 报错如下:
??? Maximum variable size allowed by the program is exceeded.
Error in ==> calcjejj at 121
JJ = Jx * Jx';
Error in ==> trainlm at 265
[je,jj,normgX]=calcjejj(net,Pd,Zb,Zi,Zl,N,Ac,El,Q,TS,mem_reduc);
Error in ==> network.train at 278
[net,tr,Ac,El] = feval(trainFcn,net,Pd,Tl,Ai,Q,TS,VV,TV);
Error in ==> Untitled11 at 17
[net,tr]=train(net,p1,t_m(i,:)); 展开
net=newff(minmax(p),[4,1],{‘tansig’, ‘purelin’},‘trainlm’);
只有一个隐层,现在想构建多隐层,上网查了下,都说只要在[4,1]中间加一个数代表第二隐层的节点数就可以,我试过了,改成
net=newff(minmax(p),[4,6,1],{‘tansig’, ‘purelin’},‘trainlm’);
语句报错,请教,怎么实现bp神经网络的多隐层编程啊??
程序如下:
clear all
close all
p1=[1 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30];
t=[];
t_m=t.';
pr=[1 30];
for i=1:12
net=newff(pr,[200,200,1],{'tansig' 'tansig' 'purelin'},'trainlm');
net.trainparam.goal=0.00001;
net.trainparam.epochs=10000;
[net,tr]=train(net,p1,t_m(i,:));
A(i,:)=sim(net,p1);
figure
plot(p1,t(:,i),'r')
hold on
plot(p1,A(i,:),'b:o')
hold on
end
t太长 没有写 正如1楼说的 少加了一个传输函数 不过加上之后还是报错 报错如下:
??? Maximum variable size allowed by the program is exceeded.
Error in ==> calcjejj at 121
JJ = Jx * Jx';
Error in ==> trainlm at 265
[je,jj,normgX]=calcjejj(net,Pd,Zb,Zi,Zl,N,Ac,El,Q,TS,mem_reduc);
Error in ==> network.train at 278
[net,tr,Ac,El] = feval(trainFcn,net,Pd,Tl,Ai,Q,TS,VV,TV);
Error in ==> Untitled11 at 17
[net,tr]=train(net,p1,t_m(i,:)); 展开
1个回答
展开全部
把报错内容写以下吧,我猜可能是你传输函数没有加吧
{‘tansig’, ‘purelin’}改成{‘tansig’,‘tansig’, ‘purelin’}试试?
{‘tansig’, ‘purelin’}改成{‘tansig’,‘tansig’, ‘purelin’}试试?
本回答被提问者采纳

你对这个回答的评价是?

2025-08-07 广告
广州赛恩科学仪器有限公司(原中大科仪)始创于2032年,是全球领先的精密测量仪器供应商和微弱信号检测方案提供商。公司以锁相放大器为核心产品,陆续推出光学斩波器、源表、功率放大器、电化学工作站、电流源等一系列产品。赛恩科仪推出的锁相放大器,覆...
点击进入详情页
本回答由赛恩科仪提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询