Learning about Genetic Algorithms

Like natural selection but can be used for more things (ie AI).

Overview

How did you come across this page, from my homepage (because you want to read my posts), from Google (because the title looks interesting), or because of my other posts (ie web dev). Well, it doesn’t matter because I will tell you about my past week and learning of IT. I have an upcoming exam which will be around the topic of AI algorithms, and I have to choose one method of machine learning to learn about. I chose genetic algorithms because they made sense, there were other choices, and I originally chose decision trees to use however it got too confusing (from math and lots of theory) so I went to a more comprehendible one (keep the good outcomes).

What was completed

To start to understand we first have to ask: what is machine learning? And in basic summary it is a making a computer “learn” to become smarter, it also has methods to improve efficiency, and is seen as artificial intelligence. Genetic algorithms are a speciality where the model gets smarter every round (or at least can be after lots). There are many similarities with evolution because you are keeping/improving the ones that are the best (so natural selection, but less natural in this case).

My understating is you have to make a measure, this may be how far it has gone or how many correct answers it has. You then need to only keep a few of the good pieces and discard the rest, when you get onto the next round the model will try to keep what was good about the previous but modify to try and get better. Given enough time there should be a trend where your measure is getting better. In this video about playing the worlds hardest game, he originally had the measure how far it got, however he needed to change it to more complicated because they were getting lazy. The OpenAI’s hide and seek is an interesting case where the algorithm learned to break the game (do things that the physics engine didn’t expect), this is another benefit because you can train an AI to test if your game/ project has vulnerabilities. Even though the video on natural selection wasn’t too much on genetic algorithms, it was still cool to see how the computer learned to adapt to changes.

The premise of genetic algorithms is heavily biologically inspired, but since I don’t do biology don’t expect too much knowledge. It has operators such as mutation, crossover and selection, these are the key things that will be used to create the best algorithm at the end of the learning.

Reflection

Did you understand the differences and your choice?

I understood the different machine learning algorithms to an extent, all the methods were confusing in their own unique way. This was partly due to math (I do a low math) but also due to it being new to me, I understood that the aim is to get a computer become smart using computation. But actually thinking of how they did their task was not easy. After reading all the options briefly, I can tell some basic differences but for more I have to look further into their method. Currently, the genetic algorithm makes sense to me, and I should be able to explain how it works in the test.

Which activities helped you learn the most?

The best activity was YouTube, it helped me learn the most. It was the best by far, this was due to there being lots of videos to choose from (I can be picky) but also doe to them having examples (different videos had sceneries - ranging from basic to complex). There was another tool that helped me to learn, and it was Bing AI. I found it better than ChatGPT in most cases, in both I could ask it questions and then have a follow-up question(s) to clarify my understanding. But ChatGPT kept making up things and just not being as accurate as Bing, so I will continue to use it for basic research (I am still using google for lots). The final thing that was helpful was my teacher which includes the resources that was provided. The previous weeks leading up to this was trying to prepare me for it (which I think helped me lots), but also the ability to ask questions directly to him I liked.

Are you exited for the exam?

Asking if I am exited for an exam is basically guaranteed to be a ‘not really’. However, with my new knowledge I feel good that for the most part I can justify genetic algorithms being a good choice and can back it up with evidence. But I am a bit scared because the question may be hard (ie not enough knowledge from me on that part), so I will do some more studying before the test. Overall, I feel like I should be able to make a pass grade, but I am going to try to get higher because that's the point of school (to try your best).