我试图学习如何在Matlab中使用神经网络,我从一个简单的例子开始,这个例子使用了四个数据点,我将这些数据点分成两行向量。其中一个是输入,另一个是温度。输入向量是从1到4的向量。
接下来,我运行一些从示例中发现的神经网络编码。现在我想用神经网络来预测一个样本输入向量的结果,这个样本输入向量是一个行向量[56]。
clear all
clc
Input = [1,2,3,4];
Temp = [.25,.15,.1,.07];
Smpl = [5,6]
net = newff(minmax(Input),[20,1],{'logsig','purelin','trainlm'})
net.trainparam.epochs = 500;
net.trainparam.goal = 1e-25;
net.trainparam.lr = .01;
net = train(net,Input,Temp)
TempPr = net(Input)
error = TempPr - Temp
TempPrSmpl = net(Smpl)
神经网络生成的行向量temppr与目标向量temp完全匹配。然而,我似乎无法正确地预测价值。例如,我试图预测输入5和6的温度值,我希望它们小于0.07。
但是Matlab代码返回:
趋势=
0.3560 0.3560
两个问题:
为什么从Matlab返回的值大于.07?
为什么没有从Matlab返回两个不同的值(一个用于5,一个用于6)?