MATLAB Answers

How do I create a neural network that will give multiple input and outputs?

142 views (last 30 days)
Junghyun Im
Junghyun Im on 22 Nov 2019
Answered: Greg Heath on 1 Jan 2020
Hi I am trying to design a ffnn neural network. I have input data of 900x4, and I want to design with output data of 900x2. Here's how I designed it: But you can't assign function output to this expression. Error occurs.
How do you solve this?
clear all; close all; clc;
a = xlsread('input2.xlsx');
[ I 4 ] = size(input)
[ O 2 ] = size(target)
input = [a(:,3) a(:,4) a(:,5) a(:,6)];
target = [a(:,1) a(:,2)];
net = feedforwardnet(10);
net = train(net, input', target');
y = net(input);
perf = perform(net,y,target)

  0 Comments

Sign in to comment.

Answers (2)

Bhargavi Maganuru
Bhargavi Maganuru on 26 Nov 2019
Inputs for the train should be R-by-Q matrix where R is input size and Q is batch size. Input size is 900x4 (Q- 900 and R-4) and target size is 900x2(Q-900 and R-2) in your case. So there is no issue with the below line
net = train (net, input', target');
But the lines
y = net(input);
perf = perform(net,y,target)
will give you an error because sizes don’t match. You could try using transpose for both input and target.
y = net(input');
perf = perform(net,y,target');
Hope this helps!

  0 Comments

Sign in to comment.


Greg Heath
Greg Heath on 1 Jan 2020
ALWAYS arrange your data so that
[ I N ] = size(input)
[ O N ] = size(output)
Hope this helps.
Greg

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!