Monday, January 4, 2010

Evolutionary Neural Networks using Genetic Algorithms and Particle Swarm Optimization in XNA

I've finished my XNA simulation for my machine learning course this previous semester and am posting my resulting source code for all those interested. The project was an open ended venture in to machine learning. I chose to implement evolutionary neural networks and perform a comparative analysis between two biologically inspired algorithms as the basis for the neural network's weight adjustments.

Download Source Code

The simulation involves no user interaction beyond the included Settings.ini file where parameters of the simulation can be adjusted. This includes learning rates, PSO and GA settings and how long the simulation runs per generation.

If someone is looking for a proper implementation of a neural network in C# one can surely be found here which could be used in any area of necessity, there is nothing specific to this project.

Using just about all fathomable parameters I have found with this experimentation that PSO finds more optimal weights for the neural networks. They are found faster and retainment of these solutions are better compared to GA. However it should be noted that adaptive mutation is not implemented; that approach would likely increase the chances for GA to consistently compete in later generations.

0 comments:

Post a Comment