虽然在Matlab中不推荐使用 newff ,但我试图为函数 y = x ^ 2 创建一个神经网络:
代码如下(Sample3.m):
% providing inputs and outputs
x=-10:0.1:10;
y=x.*x;
% creating 2 hidden layers with 4 neurons each
hidden_layer_l2=[4 2];
% tansig=transfer function for layer 1
% logsig=transfer function for layer 2
% purelim=transfer function for output layer
network_l2=newff(x,hidden_layer_l2,{'tansig' 'logsig' 'purelin'},'trainlm');
view(network_l2);
net_train_l2=train(network_l2,x,y);
% simulate the data
simulated_data_l2=sim(net_train_l2,x);
plot(x,y,x,simulated_data_l2,'x');
弹出以下错误:
Error using network/train (line 272)
Output data size does not match net.outputs{2}.size.
Error in Sample3 (line 40)
net_train_l2=train(network_l2,x,y);
我浏览了互联网并了解到我提供了x * 2矩阵以使其正常工作,目前我正在传递一个矢量。我是matlab和神经网络的新手,不知道如何制作正确的输入集和输出集(x和y)。
非常感谢任何帮助!!
答案 0 :(得分:0)
% Create a Pattern Recognition Network
% net = patternnet(17); % 1 hidden layer
net = patternnet([17,10]); % 2 hidden layers