What is Machine Learning?

Sundog Education by Frank Kane
A free video tutorial from Sundog Education by Frank Kane
Founder, Sundog Education. Machine Learning Pro
4.5 instructor rating • 22 courses • 441,487 students

Lecture description

Let's discuss how machine learning works, and how it fits in with the world of AI and deep learning.

Learn more from the full course

Autonomous Cars: Deep Learning and Computer Vision in Python

Learn OpenCV, Keras, object and lane detection, and traffic sign classification for self-driving cars

12:44:34 of on-demand video • Updated May 2020

  • Automatically detect lane markings in images
  • Detect cars and pedestrians using a trained classifier and with SVM
  • Classify traffic signs using Convolutional Neural Networks
  • Identify other vehicles in images using template matching
  • Build deep neural networks with Tensorflow and Keras
  • Analyze and visualize data with Numpy, Pandas, Matplotlib, and Seaborn
  • Process image data using OpenCV
  • Calibrate cameras in Python, correcting for distortion
  • Sharpen and blur images with convolution
  • Detect edges in images with Sobel, Laplace, and Canny
  • Transform images through translation, rotation, resizing, and perspective transform
  • Extract image features with HOG
  • Detect object corners with Harris
  • Classify data with machine learning techniques including regression, decision trees, Naive Bayes, and SVM
  • Classify data with artificial neural networks and deep learning
English [Auto] It's time to dive into the world of machine learning the algorithms used in deep learning and with self-driving cars build upon the earlier research and machine learning. So while some of the techniques were about to cover might not be used as is for autonomous vehicles they are an important foundation to have. You really can't expect to be conversant with researchers and practitioners in this field without understanding the fundamentals of machine learning first. So that's what we're going to cover the next couple of sessions. First we'll talk about what machine learning is and how we evaluate the performance of machine learning systems in general. We'll then start with the simplest of algorithms linear regression and expand that to logistic regression which gets us into the world of classifying data based on learned attributes that fundamental concept is no different than what we do when we for example try to classify an image from a car's cameras as containing other cars street signs or obstacles will also cover decision trees which is another way to approach classification problems with machine learning. Let's dive in and see how machines can learn. So what is machine learning anyway it's kind of this big buzzword that people throw around a lot. But what's the relationship between machine learning and deep learning and artificial intelligence. You know these these are all confusing terms sometimes. Well it turns out that machine learning is kind of the broadest term that encompasses all of that stuff. So Machine learning is basically any system that you can train with known data where you already know the answers of what you're trying to predict and it builds up this model internally over time that can then take new data and make predictions based on that model. And that would include things like neural networks or deep learning networks or other techniques as well they're all basically under the umbrella of machine learning algorithms so Machine learning is kind of the broadest umbrella term that covers this whole world of deep learning in AI. But it's not limited to those either. Very generally speaking it's any system where you can train it by feeding what we call feature data with known labels. Let's break that down a little bit of an example say for example you're trying to train the system a machine learning system on how to identify street signs and pictures of the street. Maybe that's coming from a video stream on your self-driving car for example. Well the way that might work is you would have a bunch of images that you already labeled you know some human went in there and tagged them as saying this image contains a stop sign. This image contains a yield sign. What have you this image contains no signs at all. And as you feed more and more of these images into your system to train it along with the correct answers that you're looking for. Those are the labels associated with each of these images your machine learning model can tweak itself over time and sort of refine its model with every bit of data that you give it. And that's machine learning. Basically you train a machine learning system by feeding it feature data. And the labels associated with those features that represent the correct answers for those features that you want to be able to predict. In this example what street signs exist in this image and once you've built that model once you've trained it then you can set it free. You can give it new feature data new images where we don't know what's inside of it ahead of time. And that model can then predict the labels. And this example these street signs that might be in that image just given the image data alone in some other terminology sometimes we refer to the feature data as independent variables and the labels as dependent variables just meaning that the labels are dependent on the training data that we're feeding into it. Those are the things that we're trying to predict. So that's the basic high level idea of machine learning. It's just a model of some sort of mathematical model and algorithmic model what have you that you train by feeding it data with no answers. And once you've trained this model and it's refined itself over time based on that training data it can then predict the answer is for data that it's never seen before. Often with surprising amounts of accuracy let's look at another concrete example here. Let's say you have a database of homeless things you know from the real estate market where you're trying to predict the sale price of a house before it even sales would be useful right. Coming up with the right asking price for a new house. Well we could very feasibly build a machine learning model about that. Let's say we have a database of past house sales and we also know the attributes of those houses themselves so we could train a machine learning model of some sort using that data. Now the features in this case could be things like the number of bedrooms the postal code that the house exists within because location is everything right. The square footage of the house the amount of land it has the number of bathrooms all the stuff you see on home listings you could feed that in as feature data to a machine learning model. And in this case the labels would be the price at which that house actually sold for. So you could train a machine learning model over time just feeding it in these known examples of houses with certain attributes certain features and the known label of the price that they sold for an asset model trains itself and refines its internal model of how to turn those features into labels. You can then set it free to try to predict sale prices for houses that haven't been sold yet just based only on their feature data. So you could then tell this machine learning model here's a new house that has this many bedrooms it's in this postal code has its main square feet so on and so forth. And that will come on the other end pretty much instantaneously an estimate of the price that it might sell for. So that would be a very cool application of machine learning. And sure enough some people are doing that. Back to the street side example it's getting that in more depth because that's more relevant to self-driving cars. Let's say we have a database of images taken from vehicles that contain known street signs. We'll train a model with that. In this case the features are things like number of bedrooms and square footage it's the individual pixels and every image. So the feature data is the red green and blue color data coming in at every single point within that image that was captured by the camera on the vehicle. That's our future data. And as you can imagine it takes some pretty complicated machine learning models to actually find patterns in that data but it can be done and we're getting there. The labels in this case are the types of signs present in the image. In this case for example it's a school crossing sign. And we just feed our machine learning system whatever it may be. Is enough examples of training data enough images with known labels that is what street signs appear in those images and over time it can build up this model where it can try to find higher level patterns in these images that it can then refine into predictions for the science that might be present within it. And once you have that trained you can then just have this model residing within your self-driving car. And as the car sees new images of the street ahead of it it can automatically and very quickly say hey I think there might be a school crossing sign up here. Maybe I should slow down even if I've never seen the street before. So how to machine learning models work inside. Well that's what these next couple of sections are all about exploring different ways of making that happen. There are lots of different approaches. But generally speaking they are tweaking a lot of parameters of some sort of mathematical model to try to minimize prediction errors as they're trained with new data. So the way to think about it is inside this model we have a lot of different weights or parameters or decision points that can be learned and trained and tweaked over time as it is fed more and more training data. And as you give it more and more training data it tries to minimize the error between its predicted values and the correct answers that you gave it in the labels associated during the training phase. So as you feed it more and more data it just tries to keep tweaking those internal parameters and weights or decision points. However it might work internally to try to minimize the error between what it's predicting and what the actual correct known answer is from the training data. So it sort of converges on it over time and as you give it more and more data to learn from it gets better and better at making those predictions. It's pretty similar to how your brain work which is why this field is so fascinating even if you're using some of the older machine learning models that predated artificial neural networks or at least the modern kinds that we use today a lot of those earlier models can actually be recreated in the form of a neural network as well. And it works exactly equivalently So even before we were really getting into a fight its current form. In this day and age people were actually building AI just in a different way and they didn't even really realize it. So you've kind of it gives you a lot of insight into how your actual brain works. And if you start to really get into machine learning and that kind of changes your outlook on life. But I don't want to get too deep on you here. Anyway neural networks or deep learning are just the latest approach is the newest trendy approach to doing machine learning now and it is a very general purpose tool for achieving machine learning. In fact Google has mandated that all machine learning internally should be done using deep neural networks because it is pretty much a general purpose tool that can be applied to pretty much any machine learning problem but it's not the only way to do it. There are other techniques out there as well and some of them are quite a bit simpler. Reinforcement learning comes to mind support vector machines. We'll talk about that later and decision trees are also very intuitive to understand as to how they operate as well and we'll cover some of these later in the course. But the takeaway here is that machine learning includes things like neural networks and deep learning but it can also include some other approaches as well. So it's not restricted to those approaches. Let's dive into more depth into how this stuff actually works.