Posts

Showing posts from May, 2019

Genetic Machine Learning

Image
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

Predicting Baseball Scores

Image
Okay... so if I was actually able to do this, I would be rich. So, spoiler alert, this project didn't exactly go as planned. This project was to train a Network on past sports scores, then ask it to predict future scores. The data I used was game number, opposition team, whether the game was a day or night game, whether the game was at home or away, and the number of people in attendance at the stadium. What data are useful? Not all of these data are useful, though, and I learned that through testing this network. Game number, for example, proved to be completely unuseful, even problematic. Audience attendance was actually surprisingly useful. Based on that info, I made the program customizable. The program asks you which data you would like to use. This way, the users can discover for themselves, which maybe could be useful in the future. The program will output the data that it tested, and will show the percent error that it resulted in.

Half Moon Project Part 2 - More Accuracy

Image
This time around, we used the Neuroph library to create a neural network  that can divide the double half-moons more accurately. Neural Networks A Neural Network is a combination of Neurons that feed into each other. Using some really complex math, they can weight each input (from a previous Neuron) differently. Then, after training, they can use backpropagation to calculate which weights should be edited. What this looks like can be seen below. More Accuracy for Half-Moons Since, previously, we were only using one neuron to calculate the line to separate the two moons, we could only draw a linear line. This time, with a more complex neural network, it can separate the two with a function that's super complicated. Theoretically, a human could also derive the equation, but it's so complex that at this point, it's easier to get the Neural Network to do it for us.