【发布时间】:2018-01-30 10:04:49
【问题描述】:
虽然在 Matlab 中不推荐使用 newff,但我正在尝试为函数 y=x^2 创建一个神经网络:
- 1 个输入层
- 1 个输出层
- 2 个隐藏层,每层有 4 个神经元
代码如下(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)。
任何帮助将不胜感激!
【问题讨论】:
-
为了加强您所说的关于
newff被贬值的说法,来自文档:“在 R2010b NNET 7.0 中已废弃。最后在 R2010a NNET 6.0.4 中使用。”。因此,除非有人可以帮助运行feedforwardnet吗?
标签: matlab neural-network