0

I am trying to make a neural network for approximation of some unkown function (for my neural network course). The problem is that this function has very many variables but many of them are not important (for example in [f(x,y,z) = x+y] z is not important). How could I design (and learn) network for this kind of problem?

To be more specific the function is an evaluation function for some board game with unkown rules and I need to somehow learn this rules by experience of the agent. After each move the score is given to the agent so actually it needs to find how to get max score.

I tried to pass the neighborhood of the agent to the network but there are too many variables which are not important for the score and agent is finding very local solutions.

Cœur
  • 37,241
  • 25
  • 195
  • 267
Pax0r
  • 2,324
  • 2
  • 31
  • 49
  • Possible duplicate of [Clarification on a Neural Net that plays Snake](http://stackoverflow.com/questions/42099814/clarification-on-a-neural-net-that-plays-snake) – devinbost Feb 15 '17 at 20:31

1 Answers1

1

If you have a sufficient amount of data, your ANN should be able to ignore the noisy inputs. You also may want to try other learning approaches like scaled conjugate gradient or simple heuristics like momentum or early stopping so your ANN isn't over learning the training data.

If you think there may be multiple, local solutions, and you think you can get enough training data, then you could try a "mixture of experts" approach. If you go with a mixture of experts, you should use ANNs that are too "small" to solve the entire problem to force it to use multiple experts.

So, you are given a set of states and actions and your target values are the score after the action is applied to the state? If this problem gets any hairier, it will sound like a reinforcement learning problem.

Does this game have discrete actions? Does it have a discrete state space? If so, maybe a decision tree would be worth trying?

danelliottster
  • 345
  • 1
  • 15
  • Thanks for your answer. Yes, it has discreet space of possible moves and states. I want to use a decision tree with node values estimated by ANN and find path with biggest value at the leaf. But I need to use ANN as it is a project on ANN course ;) – Pax0r Nov 30 '12 at 12:43
  • I've never heard of a decision tree with node values estimated using an ANN. Is this your own idea? If you have enough data, you could give the mixture of experts a try. It is nothing more than a set of ANNs (the experts) and another ANN whose output is used to weight the output of the experts. – danelliottster Dec 01 '12 at 00:51
  • Yes, it is mine idea, but I haven't try it yet so I dont know if it will work out. It is very simple idea - just estimate the pay-out of some moves and use tree to select a series of moves with biggest pay-out. I will also try your ideas, but in this mixture of experts aproach I am not sure what should be an output of this 'experts'? – Pax0r Dec 01 '12 at 14:10
  • Well, in something like Q-learning (reinforcement learning) the output would be the expected payoff with the state and the action as inputs. But, I don't know what your training data is. – danelliottster Dec 02 '12 at 19:44