Genetic Machine Learning

Genetic Machine Learning is another type of ML, completely separate from Neural Networks.

Evolution-Based

Evolution is complex. Learning to walk, for example, takes millions upon millions of years of small mutations, and survival of the fittest. If an animal mutates, gains an advantage, and lives longer than others, then it has more kids. Those kids will probably also have that advantage.

That is the way genetics-based ML works. It starts with a randomly generated population and calculates the level of Fitness for each individual. The fittest of the bunch move on and have "kids", basically genetically-combined versions of themselves.

Landing a Rocket

The first part of this project was to create a rocket game - with a gravitational force, the force of the fuel, and graphics (?).

The rocket would fall at a certain speed (Gravity) and would be offset by the force of the fuel being used (a level between 0-8).

The Genetic Machine Learning algorithm would then figure out when to switch the level of fuel, and what level of fuel to use. It would start off random, but then the best of the lot would move on.

The fitness function in my program took into account whether the rocket crashed, whether it landed, the distance from the ground, the velocity at the end of the game, and the time it took to end the game. The game would also end with a penalty if the rocket went too high (off the screen).

After determining the best two rocket games, they would take the "genes" of the game (what levels the fuel was set to and when) and randomly combine them to make kids. There would also be a 1% chance of mutation, where the gene would be randomly generated again.

With this algorithm, the best versions of it were able to start seeing rockets land after the sixth or seventh generation!

Comments

Popular updates

Half Moon Project Part 2 - More Accuracy

NumberVision – Machine Learning Application

Machine Learning & Half Moon Project