Well, girls and guys and welcome to an
in-depth machine learning tutorial series.
The objective of this tutorial series is to give you a holistic understanding of
machine learning and how it works and we're going to be doing this by covering
a variety of algorithms so first we're gonna be covering regression then we're
going to be moving into classification with k-nearest neighbors and support
vector machines and then we're going to get into clustering with flat clustering
a hierarchical clustering and then finally we'll be getting into deep
learning with neural networks.
So, each step of the way with each of the major algorithms
we're going to cover a theory, application and then we're going to dive
in deep to the inner workings of each of them
so with theory this is the high-level intuitions it's actually pretty quick to
digest the theory of all the algorithms. Most of the algorithms are actually
fairly basic since they need to be able to scale to very large amounts of data.
Then we move on to application this is also fairly quick
we're going to use a module like scikit-learn and apply these algorithms
to real-world data to see exactly how they work what kind of input they expect
from us and what kind of output we should expect back from them.
Then finally we dive into the inner workings in the way that we're going to do this
is by recreating the algorithms themselves from scratch in code
including all the math and all that so when you do this you'll be able to have
a truly complete understanding of how these algorithms work which is going to
help you down the line
So, in order to fall along with a series i strongly
suggest you at least have the basics of Python 3 down understood if you don't
I do have a Python 3 basics tutorial series here
check that out you really just need to get at least to the point where we
install modules with pip.
After that you can continue on but you really need those that initial I think
it's like maybe 10 or 15 videos of core understanding of Python. We'll also be
covering a healthy amount of math here but we'll be talking about the matting
and explaining that as we go for sure so you're not really expected to know much
about math
becoming mostly algebra and geometry that comes up.
So, machine learning was really came about in the fifties so like more than a
half century ago now and it was defined in 1959 by Arthur Samuel as the field of
study where we give machines the ability to learn without being explicitly
programmed to do so.
So, the way I kind of like to think of it is it's in viewing knowledge to a
machine without hard coding that knowledge so interestingly enough when I
talk to people both programmers and non-programmers and and and find out
what they know about machine learning
most people think machine learning is hard-coded so when you ask them what's
wrong with machine learning or how is it different from actual learning that's
where you find that most people think it's hard coded so kind of interesting
issue there that most people are completely unaware that this field
exists and it's actually not being hard coded so that was one machine learning
was actually kind of defined in 1963 Vladimir Vapnik came up with the support
vector machine but this really went pretty much overlooked until the
90s so Vladimir Vapnik was in the Soviet Union and then in the 90s he
was actually scooped out of the Soviet Union by bell labs and that's when he
showed that that the support vector machine was better than the neural
network at the time doing handwritten character recognition so it's
handwritten digits of our call right but anyway it was better than the support
vector a better than the neural network at that task the support vector machines
really took the lead for quite some time really up until very recently when
Google basically has kind of come back to really put some weight behind the
neural network specifically with deep learning.
But if you think you're kind of late to the to the party
so to speak with machine learning I assure you
you're not because I mean think about computers in the 95s i mean
we're talking
we just started putting transistors on printed circuits instructions to your
computer was a maximum of a handful of bits at a time so pretty bad i mean even
think about your computers in the 90s
this was very hard at
even if you were like a PhD student is very difficult to even get access to a
machine that could run significantly a support vector machine at scale [let's say].
Whereas nowadays we live in a time where you can engage in deep learning with
neural networks on like gigabytes or even terabytes of data and what you can
do is you can spin up a you know hundred-thousand-dollar GPU cluster on
amazon web services and basically just rent it for a few dollars an hour and
then be done with it
that's incredible like we living an incredible time this is the best time to
be alive is I think right now is the first time we've really been able to
really stretch and flex the muscles of machine learning up to this point it's
really been learning without the machine part so we also so much to the point
where like with scikit-learn you can you can use scikit-learn with almost no
understanding at all you just apply it and you can usually get about
90~95% accuracy without messing with the default parameter
yeah you can just get it with the default parameters so that's also pretty
crazy right
you want to push the limits and get more accuracy out of it then you need to
learn how they work and how you can tweak those parameters so you're working
on self-driving car getting 90 to 95% accuracy and
identifying the difference between like a blob of tar and a child in a blanket
that's not good enough you need much any more accuracy than that
so anyway that's what this series is for is for the people are really looking to
push the limits on what's available so if you really just want to learn the
basics actually already have some simple machine learning tutorials out there for
just applying machine learning to a dataset you can do this actually very
very fast.
So anyways the first topic that we're gonna be covering is regression and
let's go ahead and get into it.