【问题标题】:Matlab: creating input and output dataset for multiple hidden layers of neural networkMatlab:为神经网络的多个隐藏层创建输入和输出数据集
【发布时间】: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


【解决方案1】:
% Create a Pattern Recognition Network

% net = patternnet(17);  % 1 hidden layer

net = patternnet([17,10]); % 2 hidden layers

【讨论】:

    猜你喜欢
    • 2011-07-31
    • 2013-01-04
    • 1970-01-01
    • 1970-01-01
    • 2012-03-21
    • 2018-01-25
    • 1970-01-01
    • 2017-05-21
    • 2015-11-27
    相关资源
    最近更新 更多