Suppose a training dataset contains the following inputs:

company size
number of employees
average salary
years of operation

...and outputs:

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

It also contains the column:


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

For any 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'.

In this 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 for that set of inputs (based on previous training data examples).

Is it possible to therefore specify some sort of 'motivation' variable which the model strives to maximise?


1 Answer 1


I think your input features are lacking. Firstly, The budget allocation is not simply done based on the previous year turnover and size of the company, there are myriad other factors involved which directly correlate towards a budget allocated to any department.

Secondly where is the relation of profit vs budget allocation? For maximizing profit according to budget allocation, your training set needs to reflect that.

Thirdly you could simply make target profit an input feature and model your data accordingly to allocate budget keeping in mind the targeted profit as well. Provided you incorporate features highlighted in the first point.

  • $\begingroup$ OK so am I correct in thinking that neural networks have only input features and output features, and there are no other classes of 'features'? I'm trying to visualise the structure behind a neural network. My understanding is that there are 'hidden layers' which contain activations / signals to help the model transform inputs into outputs researchgate.net/figure/…. I'm wondering if it's possible to influence these hidden layers in some way by adding parameters, or is doing so just adding more input features? $\endgroup$
    – Alan
    Aug 29, 2020 at 23:52

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.