用matlab训练BP神经网络训练精度低,总达不到要求,您能帮忙看一下程序吗? 200

clearallloadinputloadoutputT=[input,output];%载入数据10000*7indices=crossvalind('Kfold',1... clear all
load input
load output
T=[input,output];%载入数据10000*7
indices=crossvalind('Kfold',10000,10);%分割数据集
i=1;
test=(indices==i);
traiin=~test;
traiinin=(T(traiin,1:3))';%输入的训练数据
traiinout=(T(traiin,4:7))';%对应的输出训练数据
testin=(T(test,1:3))';%输入的一个测试集
testout=(T(test,4:7))';%对应的输出测试集
[traiininn,ps_in]=mapminmax(traiinin);%数据归一化
[traiinoutn,ps_out]=mapminmax(traiinout);
testinn=mapminmax('apply',testin,ps_in);
net=newff(traiininn,traiinoutn,150,{'tansig','purelin'},'trainlm');%构建网络
net.trainParam.epochs=500;
net.trainParam.goal=1e-4;
net.trainParam.lr=0.01;
net.divideFcn='';
net=train(net,traiininn,traiinoutn);%网络训练
p=sim(net,testinn);%测试集的预测结果
P1=mapminmax('reverse',p,ps_out);%预测结果的反归一化
E1=abs((P1-testout)./testout)
展开
 我来答
lhmhz
高粉答主

2020-09-04 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17014

向TA提问 私信TA
展开全部

用matlab训练BP神经网络训练精度低,总达不到要求?一般可以修改net下列参数:

1、首选项,训练模式

net=newff(traiininn,traiinoutn,150,{'tansig','purelin'},'trainlm');%构建网络

2、次选项,训练步数

net.trainParam.epochs=500;

3、次选项,训练精度

net.trainParam.goal=1e-4;
net.trainParam.lr=0.01;

追答
如还有问题,可以把相关代码贴出来,或私信交流。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式