[已答复] 简单BP网络无法训练怎么办?

[复制链接]
ellentao 发表于 2012-9-4 10:04:02
本帖最后由 ellentao 于 2012-9-4 16:39 编辑

clear;
clc;

%加载训练的数据
a=xlsread('F:\MATLAB7\work\example1.xls');
P=a';
% P=[123 456 67];
T=[010; 101; 111];
S1=6;%隐层神经元个数
S2=1;%输出层神经元个数

% net=newff([S1,S2],{'tansig','purelin'});
net=newff(minmax(P),[S1,S2],{'tansig','purelin'})

%net.performFcn='mse';
%训练网络模型
net=train(net,P,T);
% [net,tr]=train(net,P,T);
% y=sim(net,P_train);
% plot y;


3 条回复


math 发表于 2012-9-5 08:32:49
直接给出错误信息,你有读取文件,我们无法运行你的程序。

ellentao 发表于 2012-9-6 10:25:41
math 发表于 2012-9-5 08:32
直接给出错误信息,你有读取文件,我们无法运行你的程序。

您好  !先谢谢您了!是网络隐层个数的问题,现在修改了,程序是通了。但是每次运行结果都不一样……有时候甚至不收敛,请问有什么办法控制吗?

yinhefeng 发表于 2012-9-6 10:54:38
ellentao 发表于 2012-9-6 10:25
您好  !先谢谢您了!是网络隐层个数的问题,现在修改了,程序是通了。但是每次运行结果都不一样……有时 ...

每次运行结果都不一样是因为初始权值和阈值是随机赋值的,你可以把效果不错的网络的最后的权值和阈值作为它们的初始值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表