27

21

I have a dataset containing 34 input columns and 8 output columns.

One way to solve the problem is to take the 34 inputs and build individual regression model for each output column.

I am wondering if this problem can be solved using just one model particularly using Neural Network.

I have used Multilayer Perceptron but that needs multiple models just like linear regression. Can Sequence to Sequence be a viable option?

I am using TensorFlow. I have code but I think it is more important to understand what I am missing out in terms of the multilayer perceptron theory.

I understand that in MLP if you have one output node it will provide one output. If you have 10 output nodes then it is a multi class problem. You pick the class with the highest probability out of the 10 outputs. But in my case it is certain there will be 8 outputs for same input.

Lets say, for a set of inputs you will get the 3D coordinate of something (X,Y,Z). Like, Inputs = {1,10,5,7} Output = {1,2,1}. So for the same input {1,10,5,7} I need to make models for X value Y value and Z. One solution is to have 3 different models using MLP. But I would like to see if I can have one model. So I thought about using seq2seq. Because the encoder takes a series of input and the decoder provides series of output. But it seems seq2seq in tensorflow cannot handle float values. I can be wrong about this though.

You seem to have some problems understanding multilayer perceptron NN model, and also TensorFlow - your statements about these are incorrect. However, it is not clear why you have that misunderstanding, which means an answer cannot help you fix this. Predicting e.g. 8 regression outputs in a single NN model is trivially easy in most NN frameworks, no need for sequences in your case. So I think it may be important to look at what your last paragraph is based on in order to help you - could you add some detail of what you have seen or tried in order to come to those thoughts? – Neil Slater – 2017-02-11T08:36:12.190

Would it be possible for you provide an answer how to get 8 regression outputs using one single NN model? Thanks. – sjishan – 2017-02-11T16:18:10.640

Probably, if you explain a few things by editing your question: 1) In what framework? 2) What is your code (or design, if you have no code) so far? 3) What is preventing you from doing this yourself? I need 1 and 2 in order to reply with something you can use. I need 3 in order to understand what your problem is and explain the solution. – Neil Slater – 2017-02-11T16:45:26.207

>

I understand that in MLP if you have one output node it will provide one output. If you have 10 output nodes then it is a multi class problem. You pick the class with the highest probability out of the 10 outputs.

But in my case it is certain there will be 8 outputs for same input.

Let me show a different example, Lets say, for a set of inputs you will get the 3D coordinate of something (X,Y,Z). Like, Inputs = {1,10,5,7} Output = {1,2,1} – sjishan – 2017-02-11T17:02:06.027

So for the same input {1,10,5,7} I need to make models for X value Y value and Z. One solution is to have 3 different models using MLP. But I would like to see if I can have one model.

So I thought about using seq2seq. Because the encoder takes a series of input and the decoder provides series of output. But it seems seq2seq in tensorflow cannot handle float values. I can be wrong about this though. – sjishan – 2017-02-11T17:07:02.730