首先是一个非常简单的例子:
首先,您需要为输入数据制作一个矩阵,为输出数据制作另一个矩阵。在这里,我使用来自 MATLAB 的预设数据。您应该尝试使输入输出数据的结构如下:
[InData, TarData] = engin_dataset;
所以这里我们有两个输入和两个输出 (MIMO) 2 → 2
现在您应该创建网络。我选择了前馈网络:
net1 = newff(minmax(InData),[10,2],{'tansig','purelin'},'trainlm')
这里我定义了输入数据范围、每层神经元个数(包括输出层=2)、函数类型和训练算法类型。
现在您可以训练您的网络:
net2 = train(net1,InData,TarData)
这里的代码来自 MATLAB 自动生成的示例之一:
% load data
[inputs,targets] = engin_dataset;
%inputs = engineInputs;
%targets = engineTargets;
% Create a Fitting Network
hiddenLayerSize = 10;
net = fitnet(hiddenLayerSize);
% Setup Division of Data for Training, Validation, Testing
net.divideParam.trainRatio = 70/100;
net.divideParam.valRatio = 15/100;
net.divideParam.testRatio = 15/100;
% Train the Network
[net,tr] = train(net,inputs,targets);
% Test the Network
outputs = net(inputs);
errors = gsubtract(targets,outputs);
performance = perform(net,targets,outputs)
% View the Network
view(net)