What approaches do we use to teach our AI machines?


Here we are again, last time I remember we discussed a few things about machine learning and deep learning. Wait, what did we discuss? Looks like I forgot. Come here lets remind ourselves.
The big question today is how do we learn? Not we the we, but we the machines, by machines here I mean the computer and the by the computer here we are talking about anything made up of a software and hardware. This can a car, a war plane, a police drone, a street camera, a mobile phone, name them…

So I promised to bring you into agreement with the following terms as used in Machine learning.


  1. Supervised learning
  2. Unsupervised learning
  3. Reinforcement learning

Today, here is my promise. This is going to be sweet if that’s the word. You are going to enjoy, as you have come to realise, my language is always simple. I am going to use examples to explain to you what the above terms mean in the machine learning world.
If you like skipping, don’t skip the section on reinforcement learning. It’s quite funny.

Supervised learning.

Study this image after reading through this section. The image shows how a computer learns to differentiate between spam and non-spam mails.

Have you ever been shown how to do something and then let to do it your own? Or rather have you ever played a matching game? Where for example where you are given pictures and then given labels? Then you are asked to match the pictures with their correct labels? Or anything of the sort? My question is are you familiar with such a situation? Or at least is it sinking? Leave your answer in the comment section below.
In supervised learning that is exactly what happens, a computer is provided with situations (problems) and their corresponding solutions. The learning process is divided into three steps.


  • The first step, we train the machine, here, we provide it with the problems and 'show' it the solutions to those problems. We then let the machine to learn the patterns or rather the relationship between the problem and the solutions. This will enable the machine know how to solve similar problems.

  • The second step s usually to validate what has been learnt. Validation is done to just make sure our machine is making progress. We will discuss this step deeply when we actually start coding in future.

  • The last step is testing. Like any good teacher, you would want to test your machine to be sure you are not wasting your time on a dumb computer right? Here, the computer is presented with problems of a similar manner to those it was trained with and is required to provide the solutions. If you are a good teacher, your computer has more than 50% chances of passing this exam. In fact some score over 90%, genius computers I think.
Testing: You apply what you have learnt. 


Now you can praise yourself, you just understood supervised learning.

Unsupervised learning.

Have you ever had a bad teacher? That one lecturer who comes in, gives you course outline and then a week later comes with exam papers? Have you? You must have. Computers too, go through the same torture. Learning without supervision/ guidance. The computer has to go through problems of different kind and all by itself, identify the problems that are similar and group them according to the patterns present among those problems. WHEN I TALK OF PROBLEMS I MEAN TASKS. Some of you might think of things that are hard to do. In machine learning, things to be done are called problems.

The image below shows how the similar problems are grouped/separated in clusters.


Once again, you can praise, unlike the rest of folks out there, you at least have an idea of what unsupervised learning is.

Reinforcement learning.

Practice makes perfect, yet nobody is perfect. But I think it's because ‘nobody practices’. For humans this is true and also shows how confused they are. For machines, it might go like this, practice increases accuracy and that’s why we (the machines) become accurate.

Back to humanity. Let’s ask some questions, have you ever tried doing something and failed? You then try again, and again, and again and failed, failed, failed until you mastered it? I know, you have, when you were a baby, trying to walk and falling on your back. See, now you agree. That was reinforcement learning.
This is an example of reinforcement learning on the human side.

 Reinforcement learning involves two pairs of aspects, trial and error, and reward and punishment. Let’s go slow, relax. I know what you are wondering… how on groundless earth do you punish a computer? Is it anything like, “Today you are sleeping hungry”, for an African computer and “you are grounded” for the western computers? No, a computer is rewarded or punished by subtracting or adding a value to its score, this will ‘make’ computer ‘work’ towards doing the right thing so that it might be rewarded and keep the score high. Okay? Just visualise this in real life events. For example the most common is in high schools, its lunch time and the teacher asks a really good question that you've never heard of, so you want to have lunch? Answer the question. The reward here is to go for lunch, the punishment is sitting on that cold chair trying to reboot your offline brain, and I mean all you can think of is food, food, food.

Congratulations you just understood what took me 2 months to understand in minutes. You must be a genius.

That’s all for today, I hope you have learnt and at least smiled. Leave your questions, comments, suggestions or emojis in the comment section below. Till next time, share the knowledge lets transform Africa.

Get in touch,
 Pheneas
Munene Hech
munenephin10@gmail.com

Comments

  1. So am not rich... Seriously rich😂😂😂but I love your idea and all about the stronets...sijui kama zinaitwa hivyo.. Let me call them drones... As an aspiring future farmer... I would definitely go for it.... Good work munene😇

    ReplyDelete

Post a Comment

Popular Posts