[MATLAB] BP神经网络

问题遇到的现象和发生背景

trainin为108×8的输入矩阵,trainout为108×1的输出矩阵,现想建立8-12-1的三层BP神经网络

问题相关代码,请勿粘贴截图

input_train = trainin.'
output_train = trainout.'
input_test = testin.'
output_test = testout.'
inputnum=8; %输入层神经元
hiddennum=13%隐含层神经元
outputnum=1 %输出层神经元
[inputn,inputps]=mapminmax(input_train)%归一化到[-1,1]之间,inputps用来作下一次同样的归一化
[outputn,outputps]=mapminmax(output_train)
net=newff(inputn,outputn,hiddennum,{'tansig','logsig'},'trainlm')
net.trainParam.epochs=5000 % 训练次数,这里设置为1000次
net.trainParam.lr=0.05 % 学习速率,这里设置为0.01
net.trainParam.goal=0.001
net.trainParam.show = 10
net.divideFcn = ''
net = train(net,inputn,outputn)
inputn_test=mapminmax('apply',input_test,inputps)
an=sim(net,inputn_test)
test_simu=mapminmax('reverse',an,outputps)

运行结果及报错内容

img

我的解答思路和尝试过的方法
我想要达到的结果

请问我的代码写的对吗,为什么performance降不下去,0-1分类标签output_train需要归一化吗。

你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,已经为您补发到账户,我们后续会持续优化,扩大我们的服务范围,为您带来更好地服务。