Transcript for:
Machine Learning Course Road Map by Kylie Ying

hi everyone I'm Kylie ying and welcome to my machine learning course many of you out there are wondering well how do I learn machine learning effectively and so that is exactly what my course strives to teach in today's video I'm going to go over a machine learning road map to help you learn machine learning effectively and these will cover Concepts from like the fundamentals all the way through how do I become an expert in this field so with that let's get started so the first thing for our machine learning road map is that we want to really lay down a good foundation so the first thing that we're going to go over are our foundations now there's two areas that we really need a strong foundation in order to develop our machine learning skills and the first area is actually going to be basic math so I'm going to call this foundational math under foundational math we have a few different areas of mathematics the first one is actually probability and statistics now why probability and statistics how are these even relevant to machine learning machine learning is all about trying to figure out a prediction it's about trying to come up with the most probable outcome and in order to do that well we kind of have to have a really good foundation in probability we have to understand things such as conditional probability you know if these things are true then how does that impact this other thing um we need a good understanding of something called base Rule and we need a good understanding of statistical distribution such as the normal distribution or um the binomial distribution and these things will help you gain an intuition for how do we model you know the unpredictable world around us and ultimately that's going to translate into how does machine learning help us predict this unpredictable world around us even though I'm planning to teach a little bit about probity and statistics as well as the other machine learning prerequisites I highly recommend checking out today's sponsor brilliant brilliant is a platform where you can learn by doing they have thousands of inter active lessons so that you can actually gain an intuition in different areas of math data analysis programming and AI brilliant platform is incredibly effective because their lessons are filled with Hands-On problem solving their lesson plans actually help you build critical thinking skills not just memorizing brilliant is designed so that you can learn a little bit every day and that is probably one of the most important things that you can do for yourself brilliant recently launched a ton of new content in data including probability and statistics it's perfect for Learners of any level to start or continue learning how to work with data and interpret that data if you actually are able to visualize a lot of these Concepts that we just talked about in probability and statistics so to get started on learning these machine learning Basics and to try everything that brilliant has to offer for a full 30 days visit brilliant.org / Kylie Ying or click on the link in the description you'll also get 20% off an annual premium subscription so probability and statistics great that's one area but that's not it so the second area that you'll really need to gain a foundation in is calculus and the reason why we need calculus is because um a lot of machine learning is also about okay given our data how do get the best model and whenever you're looking for the best something that becomes an optimization problem so you know a lot of calculus actually helps us deal with these optimization problems such as one area of calculus is called gradient descent and that will help us eventually tune neural Nets and be able to train our models so that's gradient descent and the foundation of gradient descent is actually derivatives and that is the most calculus thing ever so under here we have derivatives um and how do derivatives help us well when we actually go and perform gradient descent what we're doing is we have some number and we want to adjust this number a little bit like we have some parameter that affects our outcome and we want to adjust this parameter so that we we get closer to our desired outcome and how do we adjust it which way do we step a little bit to the left a little bit to the right we can actually use derivatives to help us figure out which way we want to go so derivatives really powerful tool all over you know neural networks machine learning um in order to understand the mathematics behind like how these things work you will need to understand derivatives and now finally the last piece of math that's really critical to machine learning is linear algebra a lot of machine learning is just basic algebraic computation so for example um a lot of the models that you will deal with are usually just adding numbers multiplying numbers and doing some simple operation on on those well you know if we have a huge model and we have a ton of data which that's a foundation of machine learning it's a ton of data and we want to use that data to try to make some model better and better if we were to just go through each like each operation like addition multiplication if we were to go through these one by one that would take forever so we actually want to parallelize these operations and basically what that means is instead of calculating these one at a time we're just going to calculate a bunch at the same time and maybe at the very end we can sum all of these things together rather than having to go through each one and then at the end sum all of those together so that just saves us a lot of time and the way that we do that is through linear algebra so linear algebra helps us basically solve for things a lot faster and so in linear algebra the things that you will have to understand our vectors and matrices and how you know how to multiply these things together um how to take the inverse how to solve basic uh systems of equations stuff like that also relevant from linear algebra will be igen vectors and Ian values and now the these will eventually help us take a lot of data and figure out what are the most important components of this data so what I mean by that is let's say I have a million different factors that go into some model I have a million different things that I want to consider when I build my model well can I pick out maybe certain things that are the most important as far as math goes having probability and statistics calculus and linear algebra that should suff suffice in terms of having a good like foundation for machine learning foundational math will provide you with the basis in order to learn the mathematics behind a lot of the concepts in machine learning so you know you're never actually going to do the math by hand when you're trying to like build something using machine learning because that's just not feasible there's already code out there they're called libraries like somebody else has already optimized these things and you're just calling their functions but you should have a good foundation of like okay how does this work behind the scenes so that you know what you're doing now in order to actually use those libraries and to put machine learning into practice well that's where the second foundational area of machine learning comes in so that second area is going to be programming skills um you need programming skills basically in order to code pretty much anything including your machine learning models so that's why it's important hopefully that's pretty clear that if you want to code a model you will need programming in order to do it I would say the language that's probably the most important is python I would say for beginners that python is a really great starting point um to improve your programming skills and the reason why I say that especially in the context of machine learning is that python is popular you're going to find a lot of documentation online for it there's a lot of resources out there to support you in your journey To Learn Python also python has really great libraries so they have good packages of code that will help you process data or um or work with models and python is really great for non-production code so when you're trying to just prototype something when you're playing around with data Python's really great because it's pretty Bare Bones and it's really um understandable so yeah Learn Python and if you don't know python I have a bunch of courses on that as well so under programming skills the things that are important are basic concepts and these concepts are things such as [Applause] variables um you got to know how variables work in order to create a program uh same with functions and classes becomes a little bit more advanced stuff but I mean python is an objectoriented programming language which means that it's based on objects and these objects are built using classes now uh while you yourself probably won't have to deal with classes a lot of these libraries use classes so you have to at least be able to understand how those work and then finally libraries and and um basically how to use these libraries now the libraries in Python that are relevant for machine learning there's a few of them there's a library called pandas and this one will let you basically import some data and be able to look at that in a table and do vectorized operations so instead of multiplying um a single item by a number for every single Row in your in your table you can just multiply that entire column by some number um and also numpy and numai is really built for uh really large multi-dimensional arrays and matrices and being able to do um math operations on these data types after that um you have a few libraries that actually like give you machine learning models that are readily available to use and those include s kit learn tensor flow and P torch and then finally there's a really great plotting library in Python um called Matt plot lib and especially under this there's something called P plot that you can use to plot in Python these are really the foundations that you should have to learn machine learning the first is foundational math so you can understand the theory of machine learning and then the second is programming skills so you can actually implement the models yourself now that we have a solid foundation for Math and programming we can move on to actually learning The Core Concepts of machine learning so the next category on this road map are those Core Concepts the first area that's really important is what is machine learning so it's understanding what is available to you out there and just like what are the different techniques that you can use what are the different broad categories of things that you're trying to do with your models so that includes the types of machine learning um and the three types are supervised unsupervised and reinforcement [Music] oops and then on top of the types of machine learning there's also different tasks so what are you trying to achieve in each of these types and um I won't talk about reinforcement learning yet but in supervised and sometimes unsupervised these tasks boil down to something called classification and you also have something called regression again I won't go over these but these are important Concepts to know and I'll go over them in a separate video the next core concept is data now junk in equals junk out which is why it's really critical to know what is going into your model and to make sure that you have a good data set going in it's important to gain an intuition for understand understanding what is good data and where is my data coming from and to ask yourself these things before just assuming that the data that you have in front of you is good there have been you know multi-billion dollar companies established just to solve the problem of how do I get good data for machine learning so first under data you have to understand the types of data and this might include something known as qualitative data as well as quantitative data so those are different and you have to handle each of those differently again I'll go over this in a different video next it's understanding this concept of training validation and testing data why do you have three different types of data sets why is one not enough finally the last thing that's really important to understanding this concept of data is manipulating your data so some form of manipulation of your data set and that might include data cleaning so making sure that your data set is good or getting rid of certain things that are not not good about your data set there's something known as feature scaling so maybe you want to you know the scale of um something in your data set is not quite where it wants to be like if I have a whole data set where many things are judged on a scale of 0 to 100 and then something else is judged on a scale of 0 to 5 well I might want to multiply everything in that's 0 to five by 20 so that this is also on a scale of 0 to 100 and then finally there's something called feature engineering where that means that in your entire data set you're choosing what pieces of data do I actually use or can I use the data that I have to build you know some intermediary piece of data some new piece of data that I can actually feed into my bottle so that my model performs better um so for example if I have stock prices of something like a feature that I can engineer is instead of the price having the return from day-to-day so that's the difference between today and yesterday and so on so that kind of summarizes uh this concept of data that's really critical to machine learning next after data we can start looking at models because you know we have good stuff coming in and now the next part is okay well what does it go into so those are the models in this road map I'm just going to list a bunch of models that are prevalent in machine learning and these are things that would be good to learn in order to have a good foundation in machine learning so there's things such as K nearest neighbors that's an algorithm um there's another model called logistic regression or other otherwise known as log regression and again I'm not going to go over each of these here but in a later video I will so stay tuned subscribe you know and again don't worry about understanding these here and now these will come that's why this is just a road map um there's something called svm or support Vector machine that's another model there's something called linear regression which you might be wondering hey I already know what that is but I didn't think that was machine learning well surprise some people consider it a machine learning model and then there's a big one that everybody talks about neural networks otherwise known as neural Nets or artificial neural networks artificial neural nets all of those things things but neural networks and the individual like neuron that makes up this neural network that's something called a perceptron and there's two more algorithms that um I'll add to this list as well that might be K means and finally something called PCA or principle component analysis so this list of models will provide you with a really great foundation and toolkit for basic machine learning and now we can get a little bit more in depth into neural networks because there's actually many different types of neural networks and there's a few that are pretty popular so the first one is known as a CNN and that C stands for convolutional convolutional so convolutional neural networks and what this is doing it's actually taking an image um and trying to run a neural network on that image so you can work with visual data and then there's this concept of an RNN and this R stands for recurrent and RNN are really great for sequential data so they can handle sequences um when your data has some sort of ordering that is relevant so sequential data and you can get a little bit more complex with this RNN stuff um you can go into grus and lstms and then from there it opens a whole new world and eventually you get to things such as uh chat GPT the final part of this machine learning road map app is training and evaluating a model now the reason why I put them together is because the training and the evaluating kind of go hand inand we have to evaluate a model to see how it does and then if it doesn't do so well we want to train it again so that you know maybe we can see if it improves and at the very end we have a final evaluation but this is a this is a recursive process it's we train something we see how it does okay it doesn't do exactly what we want it to do so we retrain it and we try to see okay does it do a little bit better hopefully yes and we keep going like that so um there are things here that are important such as metrics like how do you evaluate a model what are important things to look at and then also things such as overfitting what does that mean it means okay I've trained this model the evaluation looks really good but when I actually go put it out in the real world it doesn't work as well so what is going on there and being able to understand okay what is leading to this overfitting how can I combat that overfitting those are really critical pieces to to just building a good model that kind of wraps up this Core Concepts piece of our road map once you understand these Core Concepts in machine learning from there it's really just a lot of practice and reading research because you already have the basic building blocks um in order to go and learn more and now at this point it's all about okay which direction do you want to go in so I would call this next step as just practice and research so for practice a good place to start would just be projects that you find online try to get an understanding of how do other people do this and you can use YouTube as a resource hopefully my channel um you can use other like blog posts I mean the internet is full of people who are really good teachers so YouTube slash other things on the internet there is one data set that's really great for introductory machine learning and just trying to play around with code and data and building simple models so that is the UCI machine learning repository great resource to you know try dabble yourself um and then finally there's a lot of data on kaggle and kagle also makes it really easy to learn from other people and to see what other people are doing so that's a really great place to interact with a community of people all passionate about machine learning from there it's all about papers so a lot of cutting edge research people will be writing papers about those people will be publishing their work and literally describing oh this is what we do in order to achieve these results and I had recommend papers and honestly trying to implement those papers for yourself and to see if you can reproduce those results and this is really the area where you know I can't tell you how to become an expert you just have to find something that you really like and go deep into it and this is where honestly in this section the practice and research section this is about just scouring the internet and learning from other people who are experts in machine learning in this machine learning road map we started out with foundations of things that you have to learn in order to get started on machine learning and those include math and programming and then after that we talked about Core Concepts in machine learning and I named a few different models that are pretty fundamental to a lot of more complex machine learning and finally at the very end we talked about how do you practice how do you gain more exposure and expertise and all of that is about you know practice and reading and trying to learn from experts on the Internet or you know if you know them in real life like that's great too but the internet is a great resource this road map makes for a great syllabus for machine learning course so stay tuned I'm going to be teaching some of these Concepts and don't forget to subscribe