Teaching my AI component
I want to create a component that will eventually be able to control an object in a game.
To teach it how to control the object, I control that object my self, with the AI Component in the learning state.
I am new to this AI stuff and this is my first attempt at the subject.
What kind of AI do I need for this job. You can assume that the controlled object may range from an ant to a target-seeking missile.
[ my blog ]
Welcome to assisted machine learning.
If I understand your problem, you want a machine that will learn, given an object state S, what action A to pose. That falls into the regression problem.
There are a lot of techniques you can employ for that. They all (to my knowledge) imply defining a model (be it a simple polynomial), then finding the parameters of that model (that is the actual regression)
I'll give you three ways to do regression.
The Simple Way: Use a simple, direct non-linear regression technique such as Levenberg-Marquart. You can find all theory and good implementations on the web.
The Way I would advise: Check out Support Vector Machines for Regression. Very solid theory, rather easy to use, very good results according to the numerous papers I read.
The popular way: Most people will probably tell you to use Neural Networks. I advise against it, though.
If I understand your problem, you want a machine that will learn, given an object state S, what action A to pose. That falls into the regression problem.
There are a lot of techniques you can employ for that. They all (to my knowledge) imply defining a model (be it a simple polynomial), then finding the parameters of that model (that is the actual regression)
I'll give you three ways to do regression.
The Simple Way: Use a simple, direct non-linear regression technique such as Levenberg-Marquart. You can find all theory and good implementations on the web.
The Way I would advise: Check out Support Vector Machines for Regression. Very solid theory, rather easy to use, very good results according to the numerous papers I read.
The popular way: Most people will probably tell you to use Neural Networks. I advise against it, though.
Quote: Original post by Steadtler
If I understand your problem, you want a machine that will learn, given an object state S, what action A to pose. That falls into the regression problem.
Just to add a slightly perturbed perspective...
If the action space of the object to be controlled is discrete, then you can view the learning problem as one of classification with supervised training.
Whether the problem space is discrete or continuous, you're trying to learn a relationship between states S and actions A. I agree with Steadtler that regression approaches are usually very appropriate for such problems. However, you'll also find that in machine learning there are a variety of techniques that don't obviously look or sound like regression, but which give a comparitive result. For instance, Decision Trees. So using 'regression' as the basis of a search of the literature is more likely to lead you toward statistical regression, rather than machine learning (but that might be what you want for some of your objects).
I'd recommend grabbing an introductory book on machine learning and starting there. Then, refine your literature based on the approaches you think are best for the objects you want to control and the complexity of the control problems.
Cheers,
Timkin
meh, you know Im no good with formal terms :)
Timkin's right, of couse. I excluded the classification techniques because of the target-seeking missile example. Now I think I was partially wrong: Tracking a target would be difficult to pose as a classification problem, but choosing the target to track definetly falls into that category!
Timkin's right, of couse. I excluded the classification techniques because of the target-seeking missile example. Now I think I was partially wrong: Tracking a target would be difficult to pose as a classification problem, but choosing the target to track definetly falls into that category!
If you do use neural networks, be prepared to spend time learning the theory and doing a lot of tinkering. It can quickly get really complicated.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement