Which of The Following is Not a Machine Learning Algorithm
Which of The Following is Not a Machine Learning Algorithm
Machine learning. It's a bus word, but I would also claim it's a lot more than just a buzzword. How many here have experience with machine learning?
It's a small portion of it. It's great to see. When I started learning machine learning, I found it difficult to understand how the different algorithms worked and what the main difference between them was. I found it really difficult to understand where I should start to learn machine learning. But in this lightning speech, you hopefully will learn the fundamental difference between the different categories of algorithms. This will help both beginners, but also those who have a little experience with machine learning.
All right, so really quick about myself. My name is Joakim Liam. I'm a consultant here in Oslo for the Nordic consulting firm Goetz. And I've been fascinated with machine learning for the last couple of years, doing some projects both personally and professionally. And I must say there are many different algorithms out there. Just take a look at this. This is a small portion of really great algorithms. So where do you begin? Obviously, some algorithms are more suited for certain problems than others, and the result will vary greatly on how well your algorithm is suited for a problem. But luckily, you can divide these algorithms into four different categories of machine learning. So the four different categories are supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning. And when you face the machine learning problem, it is important to understand which category it fits into. So today we're going to explore these four different categories.
Before we get through the really good stuff, I need to explain to keywords there. In machine learning, you have something called features. This is basically a property of your training data, and a label is an output you get from your model after training it. So you could say features, input, labels, output. It's partially true because you can also have labels on your input data. I'm going to explain that with an example. Let's say you want a machine learning algorithm to estimate the height of a person based on age and gender. Then age and gender are features, and the height you want to find is the label. And if you have a training set with a lot of people with their height corresponding to age and gender, then you have a labeled training set. So the first category is called supervised learning.
And in supervised learning, you have training data that consists of a set of training examples. You have a label training set. And the basic idea is to find the most optimal model parameters to predict unknown labels on other objects. Let's look at a few examples. Let's say you want to estimate the value of a used car based on age, march, mileage, you name it. Then a machine learning algorithm can do this pretty well. If you give it trading set with a lot of sold cars with the corresponding value. Another example could be mail. Is it spam or is it not spam? A machine learning algorithm can do this if it has a large training set. A great algorithm within the supervised domain is called decision trees. The reason I picked this one is that it's more intuitive than most others. So in decision trees, you have nodes, and in every note, you choose the best splits between a lot of features, and you make this procedure recursively until you finish with the stopping criteria. Again, I'm going to illustrate this with an example. Let's say you want to find out if we should accept a new job offer.
Your first thought might be, well, how much is the salary?
Is it above some threshold? If it's not, you're definitely not going to take the job. But if it is, then do you have to commute for a long while? Do they have free coffee? Do they have a food table? I don't know. You might ask yourself questions like this, but at some point, you're going to end up stopping leave and you're going to either accept or decline the job offer. So that was supervised learning. The next category is called unsupervised learning. And in unsupervised learning, you only have input data and no corresponding output variables. You have no labels in your training sets.
And the goal of unsupervised learning is to model the underlying structure or distribution in the data in order to learn more about the data. So the algorithms are left on their own to discover and present the interesting structures in the data. Let's look at a couple of examples. Let's say you want to group customers by their purchasing behavior. People buy items, tend to buy items, then obviously you should recommend these items to people interested in one of them. Another example could be Netflix, a Netflix video recommendation system. It recommends TV series movies and whatnot. And they do this by using a series of unsupervised learning algorithms.
A great algorithm here is called Kmeans. Not for Netflix maybe, but for other purposes. Here we try to divide all the data into k clusters. And you select random KP in new clusters and in the centers. And the cluster of other objects is defined by the closest cluster center. You tune this algorithm by selecting the k number of clusters. You can use this algorithm for many things. Let's say you own a hotel chain and you want to open a new hotel in the city. Where do you place your hotel? Hopefully, you start off by looking at potential sites, and gather a lot of data like is it close to downtown? Is the restaurants nearby? Is it easy to get to the hotel? And so on. And maybe hopefully from all this data an algorithm can find clusters in this data to show interesting spots for your hotel.
So it's unsupervised learning. Third category of problems falls between unsupervised and supervised problems, and it's called semisupervised learning. Here we have partially labeled data. And many real problems fall into this category because it can be really expensive or at least time-consuming to try to label all the data, let's say a million pictures, and you're going to label them. It takes too much time. Unlabeled data, however, is cheap and usually easy to collect and store. So here, a mixture of techniques from the unsupervised domain can be used. An example here could be, as I already mentioned, if you have a photo archive, you might label some of the images. Like there's a cat in this picture, people skiing, the topless person on the beach, I don't know. And from these labeled pictures, you also have a lot of unlabeled pictures. And you can try to label those with an algorithm.
So the last category of problems falls into reinforcement learning. And it's not like any of the supervised learning algorithms because you don't have any label data and you don't have any unlabeled data. Usually, you don't have any training data. The idea is to create a software engine, and it's got some states, and it's going to perform some action in the environment. And the environment is going to either punish it or reward it somehow, and they're going to end up in a new state. And you do this recursively, and you can imagine this by saying you're a robot and you wake up in a strange place. You can perform activities and you're going to get rewards from the environment. So after you get more rewards, you get more clever and your actions get more complex and you're training to behave the most effective way on each step. So this is kind of a human way to learn and a human way to think. And we made some incredible progress within the reinforcement domain last year.
As the first speaker mentioned, AlphaGo is a really great example here. They managed to be the best player in Go. And the reason why I bring this up is that it made some moves that humanity has never seen before. And they now teach some of the moves they did during the game at golf courses in China. They have gold schools in China, which is surprising. And I find it really interesting that humans can now learn from machines and not just the other way around. Another really cool example, I think, is from very recent times. From OpenAI, they managed to create an AI that could beat some of the best players in the world in data two. And do two is a real-time game. So the world was quite shocked to see that this happened already. We thought this was years and years until it could happen because it's vastly more complex than traditional board games like Chess. This is my personal dream project.
I'm really hoping I can beat myself by creating an AI that can beat me in Mario Kart. Not to brag, but I'm quite good at Mario Kart, so I'm not sure if my program skills are good enough.

আজকের আইটির নীতিমালা মেনে কমেন্ট করুন। প্রতিটি কমেন্ট রিভিউ করা হয়।
comment url