# What is the most appropriate machine learning approach for this scenario?

The scenario is pretty simple, and I'm sure it's been done a million times. The problem is I don't know the terminology to find the correct resources on the web.

Scenario: I have an environment that can be described in terms of 5 parameters, including and input value A and an output variable B. There is a dataset containing 100 rows and values for each parameter.

The output B depends on A as well as the remaining environmental variables.

The goal is to find the best value for input A such that output B is minimized.

What does the solution for this problem look like? Is it Machine learning, neural networks, a mathematical optimization problem? How is this best approached?

Extension: if I didn't have a dataset in practice, how would I train a system to suggest different values for A until a minimum is reached? Can neural networks be applied here? Or are we talking about a looping procedure that does know maths in each operation until the output doesn't change much anymore?

I thought the generalization would make it more difficult to answer. What I am describing is a number of temperature/humidity measure measurements for both inside my house and outside. The input that I can control is the fan speed setting on my evaporative aircon and the output is the lounge temperature which I want to minimize.

During sample gathering, I don't care much about the output. The set of 100 values was arbitrary and more (and diverse) samples can be obtained.

The range of A is a fan speed with discrete values 1-6. Humidity is a percentage and temperature is 20-45 degrees.

• This is multivariate optimisation and there is no guaranteed-to-work or generally "best" approach. Too much depends on the nature of your function. For instance it makes a big difference if measurements are noisy, whether any inputs are discrete, whether this measures a real physical system, whether there are local minima, and how many. If you have a specific problem to solve here here, please explain more about it, because there is a good chance there are some techniques that might work on it. Feb 1 '19 at 9:56
• In addition, for your follow-up question, it would be useful to know whether this is a control system where you care about the values of B generated whilst you are trying to optimise it. In other words, would it be considered bad if you tried many random values for your parameters A, just to get measurements to help the optimisation. More generally, what limits do you have on sampling new values of A? Low limits on A (e.g. can only take 100 samples maximum) combined with a complex environment (depends on your problem) could make the problem very hard, although there are still options Feb 1 '19 at 10:03
• These comments should be an answer as they answer the question much better than the current answer @NeilSlater :) Feb 1 '19 at 12:58
• @Eskapp: maybe, although it would be better if OP could clarify the details of their problem - that might allow answers to pick a candidate algorithm Feb 1 '19 at 15:56
• I updated the question with more specific information. Feb 2 '19 at 2:20