| 查看: 2162 | 回复: 3 | |||
[交流]
《MATLAB智能算法30个案例》中,遗传算法优化BP神经网络部分运行出错 已有3人参与
|
|
运行时出现: 错误使用 network/subsasgn>network_subsasgn (line 553) 无法从 double 转换为 cell。 出错 network/subsasgn (line 13) net = network_subsasgn(net,subscripts,v,netname); 出错 Bpfun (line 33) net.b(1)=reshape(B1,hiddennum,1); 源代码:function err=Bpfun(x,P,T,hiddennum,P_test,T_test) %%训练与测试BP网络 %%输入 %x:一个个体的初始权值和阈值 %P:训练样本输入 %T:训练样本输出 %hiddennum:隐含层神经元数 %P_test:测试样本输入 %T_test:测试样本期望输出 %%输出 %err:预测样本的预测误差的范数 inputnum=size(P,1); %输入层神经元的个数 outputnum=size(T,1); %输出层神经元的个数 %新建BP网络 net=newff(P,T,[hiddennum,outputnum],{'tansig','logsig'},'trainlm'); %%设置网络参数;训练次数为1000,训练目标为0.011,学习速率为0.1 net.trainParam.epochs=1000; net.trainParam.goal=0.01; Lp.lr=0.1; %BP神经网络初始权值和阈值 w1num=inputnum*hiddennum; %输入层到隐含层的权值个数 w2num=outputnum*hiddennum; %隐含层到输出层的权值个数 w1=x(1:w1num); %初始输入层到隐含层的权值 B1=x(w1num+1:w1num+hiddennum); %隐含层神经元阈值 w2=x(w1num+hiddennum+1:w1num+hiddennum+w2num); %初始隐含层到输入层的权值 B2=x(w1num+hiddennum+w2num+1:w1num+hiddennum+w2num+outputnum); %输出层阈值 net.iw{1,1}=reshape(w1,hiddennum,inputnum); net.lw{2,1}=reshape(w2,outputnum,hiddennum); net.b(1)=reshape(B1,hiddennum,1); net.b(2)=reshape(B2,outputnum,1); %训练网络 net=train(net,P,T); %测试网络 Y=sim(net,P_test); err=norm(Y-T_test) 求各位大神帮帮小弟,感激不尽 |
» 猜你喜欢
2026年国自然面上资助率
已经有20人回复
一个有机合成实验室都需要哪些设备?
已经有5人回复
面上再次挂了,太难了,躺也躺不了,倦也卷不过,小学校之殇!
已经有22人回复
微信指数没变化,科研之友没阅读
已经有18人回复
基础研究怎么拉横向,学校到款任务越来越多,难以完成 拉横向,都有哪些途径啊
已经有8人回复
HXDI做水性聚氨酯乳液,是不是特别容易出渣
已经有3人回复
系统今天又提示维护了,估计离放榜不远了
已经有15人回复
你们的时间戳变了吗
已经有4人回复
产物和副产物价值比较
已经有5人回复
时间戳他又来了
已经有17人回复
怀梦星空攀
新虫 (职业作家)
- 应助: 0 (幼儿园)
- 金币: 7556.2
- 散金: 2655
- 红花: 4
- 沙发: 7
- 帖子: 4223
- 在线: 225.5小时
- 虫号: 7757462
- 注册: 2018-01-11
- 性别: GG
- 专业: 制造系统与自动化
2楼2018-03-07 22:53:13
3楼2018-03-11 10:14:06
4楼2018-08-02 00:35:05










回复此楼