Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Algorithms for making neural nets converge

Name: Anonymous 2012-02-26 17:38

I am currently using a simple PID, and I was wondering if there's a faster one.
I know about backpropagation, genetic/evolutionary algorithms and steepest/conjugate gradient descent, but they all seem to me just fancy ways of doing PID and I can never get them to work better than PID, which really demotivates implementing them any further.
Still, I hate how slow the convergence is, so I was wondering if there's some sort of magic algorithm someone here knows about. (linear/superlinear convergence? I wish)

Name: Anonymous 2012-02-26 18:01

What are you working on? I've always had more success with support vector machines and a simple radial basis kernel than with neutral networks. Unless you're working on some sophisticated artificial intelligence with a team of engineers and a server farm, there are much more practical learning algorithms at your disposal.

Name: Anonymous 2012-02-26 18:31

>>2
I'm just a hobbyist playing around trying to make bots for games and such silly stuff.
I already found out that PID actually gives (nearly) linear convergence on certain activation functions (it was just that I was using bad activation functions that websites tell me to use and not my own).
However, I would like to know about these better learning algorithms.
Can you also explain SVM to me in a simple way? I will also look more into it.

Name: Anonymous 2012-02-26 19:25

SVM algorithms are similar to linear/logistic regression for linear or non-linear data, except they employ a margin between sets called a decision boundary, which results in less overfitting and better predictions on untrained data. Gradient descent can be thought of as an SVM without decision boundaries. At the core of SVMs are kernels, which are simple functions that can be swapped in the SVM algorithm to produce different results depending on what kind of data you have.

I've used them in place of neutral networks for things like face and pattern recognition and they work quite well. There's a great tool called libsvm which is quite fast and easy to use. The only caveat is that it has its own data format that you need to convert your data to.

Here's a paper on libsvn and a link to some sample datasets.

http://www.csie.ntu.edu.tw/~cjlin/papers/guide/guide.pdf
http://www.csie.ntu.edu.tw/~cjlin/libsvmtools/datasets/

Name: Anonymous 2012-02-27 0:40

>>3
Reinforcement learning might be good to check out.

http://en.wikipedia.org/wiki/Reinforcement_learning

The problem usually has an easy correspondence to a video game AI.

But there are a lot of games where the AI doesn't need to be very intelligent or adaptable in order to be effective. IE, in a first person shooter, it just needs to walk around until it sees an enemy, and then aim directly at its head while firing. Assuming you have the rest of the game and player interface code worked out, that AI might be implemented in around 500 lines of code at most, and it would be impossible to beat for most humans. But then there are other games where being able to adapt is more important. Games like these will get you to ask questions like, given the history of moves that I've seen this other player do, what moves are they likely to make now? There might be a pattern that can be detected using machine learning techniques, and accurate prediction can be the key to having a good strategy.

But sometimes it is fun to just throw machine learning into the picture, even if deterministic hard coded decision making is effective.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List