2
$\begingroup$

First I want to say I'm completely new to the machine learning paradigm and have only discussed it in theory. I have been trying to put it into practice but I'm confused on how to derive the dataset in a way that would allow me to reverse engineer the following problem:

Let's say we have a dataset with a few traits(attributes for a player) and we are trying to reverse engineer the formula for deciding if a player scores a goal:

Let's say the attributes are the following. All numbers are from 0-100.

             AGI     AWR    KP    KA     Tec(technique)
Player 1     44      60     90    70      66

Let's say the real formula we are trying to reverse engineer is the following:

.25*AGI + .15*AWR + .30*((KP+KA)/2) + .30*(Tec) + diceRoll(3)

And let's say if the number comes out to be greater than 85 the player scores the goal.

Let's say our data set essentially has a bunch of players kick attempts at the goal, and has a true or false for score like the following:

 AGI     AWR    KP    KA     Tec  Score
 60      40     70    30      50    1(true)
 44      60     90    70      66    0(false)
 90      90     60    65      38    0(false)

Is there a way to train a neural network that essentially predict outcomes based on a player's attributes?

Is this the correct use of a neural network? or is there a better tool suited to figure this out?

$\endgroup$
1
$\begingroup$

I assume you're trying to reverse-engineer a human-programmed formula, like in a video game, rather than trying to model a stochastic relationship in nature.

If you know the hidden formula is something like a1*AGI + a2*AWR + a3*KP + a4*KA + a5*Tec + diceRoll(n) (since the example you gave is of that form; .30*((KP+KA)/2) can be rewritten as .15*KP + .15*KA), and all you don't know is the values of a1 through a5 and the value of n, then a neural network is overkill. All you need is a multi-parameter function minimization routine like R's optim or Python's scipy.optimize.minimize. Minimize the negative sum of the logarithms of the likelihood of each observation. The likelihood of each observation is just the probability of the observed outcome (1 or 0) given the model parameters being considered by the minimization routine.

$\endgroup$
  • $\begingroup$ Your assumption is correct, I am trying to reverse engineer a formula in a simulation type game. The example I gave of the hidden formula being revealed was just to get point across, the actual formula isn't known. That being said I will research what you suggested in terms of using minimize to solve this problem, but still would like the ability to stick 2 teams of players against each other and simulate the outcomes within a 85% accuracy. In addition, I was enjoying trying to learn about machine learning, but maybe it's better applied when attempting to modal stochastic relationships. $\endgroup$ – develop4fun2011 Jun 4 '16 at 20:27
  • $\begingroup$ I will not mark you answer as the right one, yet even though you proposed a great solution in terms of using optim/minimize, but I still want to wait and see if someone approaches it from the neural network approach even though it may be over kill. $\endgroup$ – develop4fun2011 Jun 4 '16 at 20:28
  • $\begingroup$ If you don't know the form of the formula, but you do know the input values and have only a few of them (KP, KA, etc.), logistic regression is probably the way to go. Many neural networks are just fancy collections of logistic regression models, anyway. $\endgroup$ – Kodiologist Jun 4 '16 at 21:18
  • $\begingroup$ thanks for the help, i've have attempted to use logistic regression, but the only issue is that the result parameter has to be binary. I made my question very binary, but let's say in the example I gave above that instead of a 1 or 0 to determine that a goal was made, what if it was calculating a distance the ball was kicked? I've attempted to look at logistic regressions for ordinal dependent variables, but feel it isn't really solving the problem, essentially I need the formula, or a tool that I can give it values, and determine the expected outcome. $\endgroup$ – develop4fun2011 Jun 11 '16 at 4:15
  • $\begingroup$ Distance the ball was kicked sounds like a continuous dependent variable, so try plain old linear regression (that is, ordinary least squares). $\endgroup$ – Kodiologist Jun 11 '16 at 12:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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