In this video, learn what machine learning is and how it works.
- [Instructor] Now I've used this phrase quite a few times already, machine learning. But, let's go ahead and define it properly. What is machine learning? Machine leaning is a field of computer science that uses statistical techniques to give computer systems the ability to learn with data. And the next phrase is very, very important. Within being explicitly programed. See the thing is that so far we have approached computer programs as writing a whole bunch of very complicated if, then, else conditions to pretty much accommodate for every single scenario that the computer program may run across.
This doesn't scale. And as computers are becoming more complicated and algorithms and problems are becoming more complicated, so are the solutions. So, we cannot write if, then, else conditions or everything. Why? Because sometimes you may not know every single if, then, else condition. Or, you may not have all the inputs at hand when the program was being written. Or, maybe you want the program to improve with time and experience.
And that is where machine learning comes in where the computer learns with time. It's performance improves the more data it sees. So, this was formally defined by Tom M. Mitchell as a computer program is set to learn from experience E with respect to some class of tasks T, and performance measure P. If it's performance in task T, as measured by P, improves with experience E.
Yeah, I mean, in plain English what this means is that if the computer is improving at a certain task with more experience then it is learning. This is not any different than you learning or me learning, right? Now there are some important points here. Some class of tasks, right, so the narrower your problem the better it will be, the more experience it gets. And sometimes you may need to coach it a little bit. And that is where we come into the concept of supervised learning versus unsupervised learning.
So, supervised learning refers to is where the computer is presented with example inputs and their desired outputs, given by a teacher, a domain expert, right. And the goal is to learn a general rule that maps inputs to outputs. Example, well let's say that the price of a diamond changes depending upon how big a diamond gets. Well, this is something that you might want to coach a computer with.
So the important point here is that a lot of times the input signal may only be partially available, and the computer learns based on the data it has. Unsupervised learning on the other hand is where no labels are provided to the learning environment. So, you give it a whole bunch of raw data and the computer tries to figure out the structure on it's own. So, it tries to discover hidden patterns in the data as a means to an end.
That's feature learning. The important point to realize here is that sometimes unsupervised learning can be a pre-cursor to supervised learning. Maybe you have so much data that a human being can't make sense of it. So, first we do unsupervised learning and as tasks become more well defined, then you can introduce supervised learning into it. Let me explain. So, you may have things like semi supervised learning, where a computer is given an incomplete training signal where a lot of target outputs are missing, right.
Or you may have active learning where the computer can obtain training labels for a limited set of instances, you know based on your budget usually. And it also has to optimize it's choice of objects to acquire labels for. So, when used interactively these can be presented to the user for labeling. So, the user is now helping the computer learn. And then you may have reinforcement learning such as training data in forms of set awards and punishments that is given as feedback to the computer.
So, if a computer guesses something correctly then you reward it. If it guesses something incorrectly you punish it. So, think of yourself driving. A human being is driving, but int eh shadow behind the scenes a computer can be pretending to drive, and then if the human beings interaction matches the computers interaction, and an accident did not occur, that's a reward. The reverse would be a punishment. And that's reinforcement learning. Machine learning applications can be broadly classified into four different categories, starting with classification.
So in that the inputs provided are classified, or divided, into two or more classes. And the learner must produce a model that assigns unseen inputs to one or more of these classes. And this is typically done using a supervised manner. A good example of this is email that you receive. The email that you receive might be a spam or not spam email. They call it ham email.
Well, that's classification. That's a two category classification. They can have multi category classification as well. Regression, regression is also a supervised problem. The idea being that the outputs are continuous rather than discrete. What I mean by that is, you know, there's a spam email, and not spam email, that is classification. But if it is a whole range of choices in the middle, well that's continuous, not discrete. Example, predicting the price of a house, right.
So, it's not like the price is a, b, or c. It could be a number and any number of numbers in the middle. So that's a regression problem. Of course it's a supervised problem, because you need to give it the right inputs. Clustering, okay so clustering is interesting. Clustering is exactly like classification with one big difference, that you don't know the groups beforehand. So, you don't know if it's gonna be two groups, three groups, 50 groups, or what are those groups.
So a whole bunch of inputs come and the computer runs a whole bunch of computation on it, and categorizes it, right. But you don't know how many categories ahead of time, and these number of categories could change ahead of time. And this is typically an unsupervised task. And then finally, you have something called an anomaly detection. And this is typically the identification of items events or observations which don't conform to an expected pattern to other items in a dataset.
Think of your habits. I'm sure you fall into a pattern. You wake up in the morning at a certain time. You have either coffee or tea. You go to work at a certain place. And, if you deviate from that pattern, there's usually a good reason for that. So these anomaly detections can be used for a number of scenarios. And that's another important classification. And if I had to group these machine learning applications between supervised learning and unsupervised learning, well classification, regression and anomaly detection are usually supervised learning.
And clustering usually is unsupervised learning. But the important point here is that to solve a particular problem, in other words, for the computer to answer a certain question, it may be a combination of unsupervised and supervised learning. Good data scientists will usually start with a problem and pick the right algorithms and group it accordingly, and move the problem around into the various machine learning applications to get the best output.
- Artificial intelligence and Azure Machine Learning
- Supervised vs. unsupervised learning
- Reinforcement learning
- Data quality
- Making predictions
- Machine learning algorithms