I have a dataset with approx 6 input features and 5 output values to be predicted. I am trying to understand what kind of neural network would be most suitable to assign probability across multiple dependent outputs, with the motivation to maximise the value of a single feature.

For example, suppose the inputs are:

company size
number of employees
average salary
years of operation

And the outputs to be predicted are:

% budget allocated to marketing
% budget allocated to sales
% budget allocated to R&D
% budget allocated to training
% budget allocated to shareholders

The training dataset also contains the column:


Which is what I want to optimise against (i.e. the primary motivation of the model).

For a given set of inputs (company size, number of employees, turnover, average salary, country, years of operation), I want to be able to predict values for the 5 outputs which are most likely to achieve the highest 'profit'. The sum of the 5 outputs must equal 100%.

In other words, there is a finite budget to be allocated, and I want to create a model to predict the best budget allocation to maximise profit.

What neural network would be most suitable for this purpose? I have looked into multi-output regression, however I imagine this would assign independent probabilities for each of the 5 outputs (i.e. they won't add up to 100%).

Is it possible for probability to instead be assined to each output dependent of the other outputs (i.e. so they add up to 100%)? If so, is there a name for this type of approach?


1 Answer 1


In many cases, at the end of a neural network you could find a Softmax layer, which outputs probabilities, so they add up to 1. It seems exactly what you're looking for. Please find more information about softmax function here or here.

Hope it helps.

  • $\begingroup$ Looks like this is exactly what I need :) In my example, would 'profit' be an input, an output, or neither? I don't believe it's an input, as profit won't be available to input into the model, and I don't believe it's an output, as am not trying to predict profit for a given set of inputs. Rather I am trying to predict the outputs that are most likely to generate the highest profit (based on training data examples). Is it possible to therefore specify a 'motivation' variable which the model strives to maximise? Apologies if I've overlooked something basic, I'm quite new to machine learning :) $\endgroup$
    – Alan
    Aug 28, 2020 at 0:05
  • 1
    $\begingroup$ It's an interesting question :). Could you please post it separately to not confuse users with the softmax issue ? $\endgroup$
    – etiennedm
    Aug 28, 2020 at 6:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.