首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多输入多输出(MIMO)系统的神经网络

多输入多输出(MIMO)系统的神经网络
EN

Stack Overflow用户
提问于 2013-01-24 12:52:50
回答 1查看 11.6K关注 0票数 0

我想为多输入多输出(MIMO)系统建立一个神经网络,描述为:

代码语言:javascript
复制
y1(t)= f1( x1(t), x2(t),...xn(t))
y2(t)= f2( x1(t), x2(t),...xn(t))
.....
.....
ym(t)= fm( x1(t), x2(t),...xn(t))

我所读的书描述了单输入单输出系统的例子,主要用于形式y= f(t)的函数逼近,其中神经网络被训练为输入t(自变量)和输出y,我使用matlab神经网络工具箱,可以很容易地解决标量情况。然而,如何构造或解决MIMO问题呢?如何转换或表示输入或输出,以解决matlab内置的函数问题?

EN

回答 1

Stack Overflow用户

发布于 2013-04-19 12:56:58

首先是一个非常简单的例子:

  1. 首先,您需要为输入数据创建一个矩阵,为输出数据创建另一个矩阵。这里我使用的是MATLAB预置的数据。您应该尝试使输入输出数据的结构如下所示: InData,TarData = engin_dataset; 这里我们有两个输入和两个输出(MIMO) 2→2
  2. 现在你应该创建网络。我选择了前馈网络: net1 = newff(minmax(InData),10,2,{'tansig','purelin'},'trainlm') 在这里,我定义了输入数据的范围,每个层中神经元的数量(包括输出层= 2),函数的类型和训练算法的类型。
  3. 现在你可以训练你的网络了: net2 =列车(net1,InData,TarData)

这里的代码来自MATLAB自动生成的一个示例:

代码语言:javascript
复制
% 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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14501832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档