Neural Network for Multiple Output Regressionalgorithm for For multiple input parameters gives multiple outputidentifying input sequence using neural networkProperties for building a Multilayer Perceptron Neural Network using Keras?Tensorflow RNN not learning when output included in training variablesInput for individual perceptron in input layer in MLPNeural Network for Multiple Float OutputGet multiple output from KerasEncog neural network multiple outputsis a 4 output regression equivalent to 4 single output regression superposition?Multiple-output vs single-output NNsNeural network for Multiple integer output

Should I be concerned about student access to a test bank?

Can other pieces capture a threatening piece and prevent a checkmate?

What is the significance behind "40 days" that often appears in the Bible?

Existence of a celestial body big enough for early civilization to be thought of as a second moon

What is the English word for a graduation award?

What does Deadpool mean by "left the house in that shirt"?

Calculate the frequency of characters in a string

I got the following comment from a reputed math journal. What does it mean?

Should I use acronyms in dialogues before telling the readers what it stands for in fiction?

Is there a term for accumulated dirt on the outside of your hands and feet?

gerund and noun applications

Comment Box for Substitution Method of Integrals

Light propagating through a sound wave

What can I do if I am asked to learn different programming languages very frequently?

Is there a hypothetical scenario that would make Earth uninhabitable for humans, but not for (the majority of) other animals?

Am I eligible for the Eurail Youth pass? I am 27.5 years old

How can an organ that provides biological immortality be unable to regenerate?

Brake pads destroying wheels

Are dual Irish/British citizens bound by the 90/180 day rule when travelling in the EU after Brexit?

Optimising a list searching algorithm

Using Past-Perfect interchangeably with the Past Continuous

Unfrosted light bulb

How to get the n-th line after a grepped one?

How do hiring committees for research positions view getting "scooped"?



Neural Network for Multiple Output Regression


algorithm for For multiple input parameters gives multiple outputidentifying input sequence using neural networkProperties for building a Multilayer Perceptron Neural Network using Keras?Tensorflow RNN not learning when output included in training variablesInput for individual perceptron in input layer in MLPNeural Network for Multiple Float OutputGet multiple output from KerasEncog neural network multiple outputsis a 4 output regression equivalent to 4 single output regression superposition?Multiple-output vs single-output NNsNeural network for Multiple integer output













16












$begingroup$


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.










share|improve this question











$endgroup$











  • $begingroup$
    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?
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 8:36











  • $begingroup$
    Would it be possible for you provide an answer how to get 8 regression outputs using one single NN model? Thanks.
    $endgroup$
    – sjishan
    Feb 11 '17 at 16:18










  • $begingroup$
    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.
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 16:45











  • $begingroup$
    1. Tensorflow. 2. 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. 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
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:02










  • $begingroup$
    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.
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:07
















16












$begingroup$


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.










share|improve this question











$endgroup$











  • $begingroup$
    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?
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 8:36











  • $begingroup$
    Would it be possible for you provide an answer how to get 8 regression outputs using one single NN model? Thanks.
    $endgroup$
    – sjishan
    Feb 11 '17 at 16:18










  • $begingroup$
    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.
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 16:45











  • $begingroup$
    1. Tensorflow. 2. 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. 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
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:02










  • $begingroup$
    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.
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:07














16












16








16


7



$begingroup$


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.










share|improve this question











$endgroup$




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.







neural-network regression tensorflow






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 11 '17 at 20:44









Neil Slater

17.3k23061




17.3k23061










asked Feb 10 '17 at 23:17









sjishansjishan

181116




181116











  • $begingroup$
    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?
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 8:36











  • $begingroup$
    Would it be possible for you provide an answer how to get 8 regression outputs using one single NN model? Thanks.
    $endgroup$
    – sjishan
    Feb 11 '17 at 16:18










  • $begingroup$
    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.
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 16:45











  • $begingroup$
    1. Tensorflow. 2. 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. 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
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:02










  • $begingroup$
    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.
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:07

















  • $begingroup$
    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?
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 8:36











  • $begingroup$
    Would it be possible for you provide an answer how to get 8 regression outputs using one single NN model? Thanks.
    $endgroup$
    – sjishan
    Feb 11 '17 at 16:18










  • $begingroup$
    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.
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 16:45











  • $begingroup$
    1. Tensorflow. 2. 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. 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
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:02










  • $begingroup$
    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.
    $endgroup$
    – sjishan
    Feb 11 '17 at 17:07
















$begingroup$
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?
$endgroup$
– Neil Slater
Feb 11 '17 at 8:36





$begingroup$
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?
$endgroup$
– Neil Slater
Feb 11 '17 at 8:36













$begingroup$
Would it be possible for you provide an answer how to get 8 regression outputs using one single NN model? Thanks.
$endgroup$
– sjishan
Feb 11 '17 at 16:18




$begingroup$
Would it be possible for you provide an answer how to get 8 regression outputs using one single NN model? Thanks.
$endgroup$
– sjishan
Feb 11 '17 at 16:18












$begingroup$
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.
$endgroup$
– Neil Slater
Feb 11 '17 at 16:45





$begingroup$
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.
$endgroup$
– Neil Slater
Feb 11 '17 at 16:45













$begingroup$
1. Tensorflow. 2. 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. 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
$endgroup$
– sjishan
Feb 11 '17 at 17:02




$begingroup$
1. Tensorflow. 2. 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. 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
$endgroup$
– sjishan
Feb 11 '17 at 17:02












$begingroup$
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.
$endgroup$
– sjishan
Feb 11 '17 at 17:07





$begingroup$
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.
$endgroup$
– sjishan
Feb 11 '17 at 17:07











2 Answers
2






active

oldest

votes


















12












$begingroup$

What you are describing is a normal multidimiensional linear regression. This type of problem is normally addressed with a feedforward network, either MLP or any other architecture that suits the nature of the problem.



Any neural network framework is able to do something like that.



The key to do that is to remember that the last layer should have linear activations (i.e. no activation at all).



As per your requirements, the shape of the input layer would be a vector (34,) and the output (8,).



Update: the usual loss function used for regression problems is mean squared error (MSE). Here's an example of multidimensional regression using Keras; the network is not an MLP but it should be Ok to illustrate the idea.






share|improve this answer











$endgroup$








  • 1




    $begingroup$
    Probably worth adding a line about usual cost function for regression (mean square error) and point at TensorFlow regression example - although I just spent 10 minutes looking for one now and didn't see anything . . . (examples skip from linear regression to MNIST classifiers, but no basic MLP regression models).
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 21:16


















2












$begingroup$

You can implement this very simply in Python.

Your X will be the collection of training x,y,z coordinates.

Your Y will be the collection of testing x,y,z coordinates.



from sklearn import cross_validation 
from sklearn.neural_network import MLPRegressor

model = MLPRegressor(solver='lbfgs',alpha=0.001,hidden_layer_sizes=(150,))
cross_validation.cross_val_score(model, X, Y,scoring='mean_squared_error')





share|improve this answer











$endgroup$












    Your Answer





    StackExchange.ifUsing("editor", function ()
    return StackExchange.using("mathjaxEditing", function ()
    StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
    StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
    );
    );
    , "mathjax-editing");

    StackExchange.ready(function()
    var channelOptions =
    tags: "".split(" "),
    id: "557"
    ;
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function()
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled)
    StackExchange.using("snippets", function()
    createEditor();
    );

    else
    createEditor();

    );

    function createEditor()
    StackExchange.prepareEditor(
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: false,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: null,
    bindNavPrevention: true,
    postfix: "",
    imageUploader:
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    ,
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    );



    );













    draft saved

    draft discarded


















    StackExchange.ready(
    function ()
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f16890%2fneural-network-for-multiple-output-regression%23new-answer', 'question_page');

    );

    Post as a guest















    Required, but never shown

























    2 Answers
    2






    active

    oldest

    votes








    2 Answers
    2






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    12












    $begingroup$

    What you are describing is a normal multidimiensional linear regression. This type of problem is normally addressed with a feedforward network, either MLP or any other architecture that suits the nature of the problem.



    Any neural network framework is able to do something like that.



    The key to do that is to remember that the last layer should have linear activations (i.e. no activation at all).



    As per your requirements, the shape of the input layer would be a vector (34,) and the output (8,).



    Update: the usual loss function used for regression problems is mean squared error (MSE). Here's an example of multidimensional regression using Keras; the network is not an MLP but it should be Ok to illustrate the idea.






    share|improve this answer











    $endgroup$








    • 1




      $begingroup$
      Probably worth adding a line about usual cost function for regression (mean square error) and point at TensorFlow regression example - although I just spent 10 minutes looking for one now and didn't see anything . . . (examples skip from linear regression to MNIST classifiers, but no basic MLP regression models).
      $endgroup$
      – Neil Slater
      Feb 11 '17 at 21:16















    12












    $begingroup$

    What you are describing is a normal multidimiensional linear regression. This type of problem is normally addressed with a feedforward network, either MLP or any other architecture that suits the nature of the problem.



    Any neural network framework is able to do something like that.



    The key to do that is to remember that the last layer should have linear activations (i.e. no activation at all).



    As per your requirements, the shape of the input layer would be a vector (34,) and the output (8,).



    Update: the usual loss function used for regression problems is mean squared error (MSE). Here's an example of multidimensional regression using Keras; the network is not an MLP but it should be Ok to illustrate the idea.






    share|improve this answer











    $endgroup$








    • 1




      $begingroup$
      Probably worth adding a line about usual cost function for regression (mean square error) and point at TensorFlow regression example - although I just spent 10 minutes looking for one now and didn't see anything . . . (examples skip from linear regression to MNIST classifiers, but no basic MLP regression models).
      $endgroup$
      – Neil Slater
      Feb 11 '17 at 21:16













    12












    12








    12





    $begingroup$

    What you are describing is a normal multidimiensional linear regression. This type of problem is normally addressed with a feedforward network, either MLP or any other architecture that suits the nature of the problem.



    Any neural network framework is able to do something like that.



    The key to do that is to remember that the last layer should have linear activations (i.e. no activation at all).



    As per your requirements, the shape of the input layer would be a vector (34,) and the output (8,).



    Update: the usual loss function used for regression problems is mean squared error (MSE). Here's an example of multidimensional regression using Keras; the network is not an MLP but it should be Ok to illustrate the idea.






    share|improve this answer











    $endgroup$



    What you are describing is a normal multidimiensional linear regression. This type of problem is normally addressed with a feedforward network, either MLP or any other architecture that suits the nature of the problem.



    Any neural network framework is able to do something like that.



    The key to do that is to remember that the last layer should have linear activations (i.e. no activation at all).



    As per your requirements, the shape of the input layer would be a vector (34,) and the output (8,).



    Update: the usual loss function used for regression problems is mean squared error (MSE). Here's an example of multidimensional regression using Keras; the network is not an MLP but it should be Ok to illustrate the idea.







    share|improve this answer














    share|improve this answer



    share|improve this answer








    edited Feb 23 '17 at 11:58

























    answered Feb 11 '17 at 21:04









    ncasasncasas

    3,6831130




    3,6831130







    • 1




      $begingroup$
      Probably worth adding a line about usual cost function for regression (mean square error) and point at TensorFlow regression example - although I just spent 10 minutes looking for one now and didn't see anything . . . (examples skip from linear regression to MNIST classifiers, but no basic MLP regression models).
      $endgroup$
      – Neil Slater
      Feb 11 '17 at 21:16












    • 1




      $begingroup$
      Probably worth adding a line about usual cost function for regression (mean square error) and point at TensorFlow regression example - although I just spent 10 minutes looking for one now and didn't see anything . . . (examples skip from linear regression to MNIST classifiers, but no basic MLP regression models).
      $endgroup$
      – Neil Slater
      Feb 11 '17 at 21:16







    1




    1




    $begingroup$
    Probably worth adding a line about usual cost function for regression (mean square error) and point at TensorFlow regression example - although I just spent 10 minutes looking for one now and didn't see anything . . . (examples skip from linear regression to MNIST classifiers, but no basic MLP regression models).
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 21:16




    $begingroup$
    Probably worth adding a line about usual cost function for regression (mean square error) and point at TensorFlow regression example - although I just spent 10 minutes looking for one now and didn't see anything . . . (examples skip from linear regression to MNIST classifiers, but no basic MLP regression models).
    $endgroup$
    – Neil Slater
    Feb 11 '17 at 21:16











    2












    $begingroup$

    You can implement this very simply in Python.

    Your X will be the collection of training x,y,z coordinates.

    Your Y will be the collection of testing x,y,z coordinates.



    from sklearn import cross_validation 
    from sklearn.neural_network import MLPRegressor

    model = MLPRegressor(solver='lbfgs',alpha=0.001,hidden_layer_sizes=(150,))
    cross_validation.cross_val_score(model, X, Y,scoring='mean_squared_error')





    share|improve this answer











    $endgroup$

















      2












      $begingroup$

      You can implement this very simply in Python.

      Your X will be the collection of training x,y,z coordinates.

      Your Y will be the collection of testing x,y,z coordinates.



      from sklearn import cross_validation 
      from sklearn.neural_network import MLPRegressor

      model = MLPRegressor(solver='lbfgs',alpha=0.001,hidden_layer_sizes=(150,))
      cross_validation.cross_val_score(model, X, Y,scoring='mean_squared_error')





      share|improve this answer











      $endgroup$















        2












        2








        2





        $begingroup$

        You can implement this very simply in Python.

        Your X will be the collection of training x,y,z coordinates.

        Your Y will be the collection of testing x,y,z coordinates.



        from sklearn import cross_validation 
        from sklearn.neural_network import MLPRegressor

        model = MLPRegressor(solver='lbfgs',alpha=0.001,hidden_layer_sizes=(150,))
        cross_validation.cross_val_score(model, X, Y,scoring='mean_squared_error')





        share|improve this answer











        $endgroup$



        You can implement this very simply in Python.

        Your X will be the collection of training x,y,z coordinates.

        Your Y will be the collection of testing x,y,z coordinates.



        from sklearn import cross_validation 
        from sklearn.neural_network import MLPRegressor

        model = MLPRegressor(solver='lbfgs',alpha=0.001,hidden_layer_sizes=(150,))
        cross_validation.cross_val_score(model, X, Y,scoring='mean_squared_error')






        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited yesterday









        Preet

        3335




        3335










        answered Nov 29 '17 at 22:05









        John QuanasamaJohn Quanasama

        212




        212



























            draft saved

            draft discarded
















































            Thanks for contributing an answer to Data Science Stack Exchange!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid


            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.

            Use MathJax to format equations. MathJax reference.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function ()
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdatascience.stackexchange.com%2fquestions%2f16890%2fneural-network-for-multiple-output-regression%23new-answer', 'question_page');

            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Adding axes to figuresAdding axes labels to LaTeX figuresLaTeX equivalent of ConTeXt buffersRotate a node but not its content: the case of the ellipse decorationHow to define the default vertical distance between nodes?TikZ scaling graphic and adjust node position and keep font sizeNumerical conditional within tikz keys?adding axes to shapesAlign axes across subfiguresAdding figures with a certain orderLine up nested tikz enviroments or how to get rid of themAdding axes labels to LaTeX figures

            Luettelo Yhdysvaltain laivaston lentotukialuksista Lähteet | Navigointivalikko

            Gary (muusikko) Sisällysluettelo Historia | Rockin' High | Lähteet | Aiheesta muualla | NavigointivalikkoInfobox OKTuomas "Gary" Keskinen Ancaran kitaristiksiProjekti Rockin' High