**Artificial Intelligence**, **Machine Learning** and **Deep Learning** are all the rage in the press these days, and if you want to know how to learn Machine Learning from scratch, then you're in the right place.

In this blog post I'm going to show you the 3 things you're going to need to master that will give you the basis for a strong career in Machine Learning - Supervised Learning, Unsupervised Learning and Reinforcement Learning.

I'll also show you exactly where you can learn about them - I'm going to give you our pick of the best online courses to learn Neural Networks.

I'll give you our top tips for courses on how to get started with Machine Learning in general, show you the best Deep Learning courses and the best Tensorflow courses for beginners.

Finally, as there are just soooo many ML courses out there, I'll give you our pick of the best 'interesting' courses on Machine Learning for beginners - courses that are a little outside the mainstream, but are great for learning something new or a little different...

More...

Disclosure: This post contains affiliate links. This means that if you click one of the links and make a purchase we may receive a small commission at no extra cost to you. As an Amazon Associate we may earn an affiliate commission for purchases you make when using the links in this page.

You can find further details in our TCs

## How to Learn Machine Learning From Scratch - Introduction

If you're right at the beginning and you're wondering how to get started with Machine Learning, you might get a little bewildered - there are loads of different methodologies.

For me, if you want to learn Machine Learning, I would always suggest that you learn **Neural Networks** first - but then I've always had a soft spot for ANNs since I did my PhD on them.

They've been around since the 1970s, and until recently have only really been used as research tools in medicine and engineering. Google, Facebook and a few others, though, have realised that there are commercial uses for ANNs, and so everyone is interested in them again.

When it comes to algorithms used in AI, Machine Learning and Deep Learning, there are 3 types of learning process (aka 'training'). These are **Supervised**, **Unsupervised** and **Reinforcement Learning.**

**The 3 Step Survival Guide To Machine Learning** @chi2innovations #ml #neuralnetworks #deeplearning #datascience

FYI - this blog post is part of a series of 7 posts on learning how to be a **Data Science** Ninja, which also includes posts on statistics, python programming, data viz and other stuff. You can find all the other posts in the series below (and there's a reminder at the foot of the post too).

## Jump Station

This blog post is part of a series of 7 posts on learning how to be a **Data Science** Ninja.

For more detail, choose from the other options below:

## How to Learn Neural Networks: Supervised Learning

In **Supervised Learning**, Neural Networks learn by matching the inputs and outputs. It's sort of like telling the network what your questions and answers are. If you give it a lot of input:output pairs it will be able to 'learn' by example. You can then test the network by giving it a new set of questions, and ask it to make predictions of what - based on its learning - it considers the answers to be. Comparing the expected and predicted answers allows us to measure the effectiveness of the network.

Supervised learning can be used for both classification and regression problems.

For classification, the output will be a category, such as 'red' or 'blue', or 'disease' or 'no disease'. For regression, the output variable will be a continuous value, such as 'height', 'weight' or 'age'.

#### Pin it for later

Need to save this for later?

Pin it to your favourite board and you can get back to it when you're ready.

## How to Learn Neural Networks: Unsupervised Learning

In **Unsupervised Learning**, only input data are passed to the network. It's like saying 'what do you make of these data?' and then leaving the network to try to discover some sort of organisational structure that underlies the data.

Unsupervised learning can be used for both clustering and association problems.

For clustering, the result will be that the network has determined that there are a number of groupings in the data based on specific features such as colour [R;G;B] or size [Small;Medium;Large]. For association, the network will look for rules that describe relationships between portions of your data, such as 'people that buy iPads also tend to buy iPhones' or 'smokers tend to get lung cancer'.

## How to Learn Neural Networks: Reinforcement Learning

**Reinforcement learning** is a combination of supervised and unsupervised training in that a restricted amount of output information is provided about the input data. This information is usually in the form of a statement as to whether the predicted output is 'good' or 'bad', without actually telling the algorithm what it needs to do to improve - it is left to make its own decisions about this. You can think of it as a bit like training a dog or a small child - they don't understand your words yet, but they respond to rewards and punishment, and adjust their behaviour to get more sweets and fewer trips to the naughty step.

Reinforcement learning is best suited to complex problems where there are no obvious or easily programmable solution, such as in game playing (chess, backgammon, etc.) or in engineering control applications (robot control, elevator scheduling, etc.).

## How to Learn Neural Networks - Getting Started

I was never taught about Machine Learning or Neural Networks. I had to learn Neural Networks on my own.

When I was learning Machine Learning back in the *ahem*, well let's just say it was quite a while ago, you pretty much had to learn Neural Networks from academic papers.

No longer.

These days you can learn about **Supervised**, **Unsupervised** and **Reinforcement Learning** by video course at your leisure without even getting out of bed - but don't forget to brush your teeth at least once a month...

...and I'll make it even easier for you by recommending a few courses that'll help you get a great start.

## Top 3 Courses: How to Learn Neural Networks

A while ago, when I was reviewing ANN courses at Udemy, I came across an instructor going by the name of Lazy Programmer who specialises in teaching Machine Learning stuff. After taking a look at some of his 19 courses (edit: it's now up to 28 courses since I wrote this post!) it became clear to me that his courses interlace very nicely. In other words, if you were looking into how to get started with Machine Learning and you were to take a few of his courses, you would gain a *really* good grounding in Machine Learning.

Although I haven't managed to review *all* of his courses yet I wouldn't hesitate to recommend them - and better still, his courses have an excellent **approval rating of 4.6 out of 5**, with almost 90% of reviewers giving him a score of 4 or higher.

As I mentioned above, **Supervised**, **Unsupervised** and **Reinforcement Learning** are the bedrock of Machine Learning, and I would recommend that you should start your 'How to Learn Machine Learning' journey here.

So with no more further ado, here are our Top 3 Courses at Udemy on how to learn Neural Networks:

**1**

### Data Science: Supervised Machine Learning in Python

**Lazy Programmer**

4.6 of 5 stars

##### Full Guide to Implementing Classic Machine Learning Algorithms in Python and with Sci-Kit Learn

In this course, we are first going to discuss the **K-Nearest Neighbor** algorithm. Next we’ll look at the **Naive Bayes** Classifier and the General Bayes Classifier.

Next we’ll look at the famous **Decision Tree** algorithm. The last algorithm we’ll look at is the **Perceptron** algorithm. Perceptrons are the ancestor of **neural networks** and **deep learning**, so they are important to study in the context of machine learning.

In this course, we are first going to discuss the **K-Nearest Neighbor** algorithm. It’s extremely simple and intuitive, and it’s a great first classification algorithm to learn. After we discuss the concepts and implement it in code, we’ll look at some ways in which KNN can fail.

It’s important to know both the advantages and disadvantages of each algorithm we look at.

Next we’ll look at the **Naive Bayes** Classifier and the General Bayes Classifier. This is a very interesting algorithm to look at because it is grounded in probability.

We’ll see how we can transform the Bayes Classifier into a linear and quadratic classifier to speed up our calculations.

Next we’ll look at the famous **Decision Tree** algorithm. This is the most complex of the algorithms we’ll study, and most courses you’ll look at won’t implement them. We will, since I believe implementation is good practice.

The last algorithm we’ll look at is the **Perceptron** algorithm. Perceptrons are the ancestor of **neural networks** and **deep learning**, so they are important to study in the context of machine learning.

One we’ve studied these algorithms, we’ll move to more practical machine learning topics. **Hyperparameters**, **cross-validation**, **feature extraction**, **feature selection**, and multiclass classification.

We’ll do a comparison with deep learning so you understand the pros and cons of each approach.

We’ll discuss the **Sci-Kit Learn** library, because even though implementing your own algorithms is fun and educational, you should use optimized and well-tested code in your actual work.

We’ll cap things off with a very practical, real-world example by writing a **web service** that runs a machine learning model and makes predictions. This is something that real companies do and make money from.

All the materials for this course are FREE. You can download and install **Python, Numpy, and Scipy** with simple commands on **Windows, Linux, or Mac**.

This course focuses on "**how to build and understand**", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about **"seeing for yourself" via experimentation**. It will teach you how to visualize what's happening in the model internally. If you want **more** than just a superficial look at machine learning models, this course is for you.

**2**

### Cluster Analysis and Unsupervised Machine Learning in Python

**Lazy Programmer**

4.8 of 5 stars

##### Data science techniques for pattern recognition, data mining, k-means clustering, and hierarchical clustering, and KDE

**Cluster analysis** is a staple of **unsupervised machine learning** and **data science**.

It is very useful for **data mining** and **big data** because it **automatically finds patterns** in the data, without the need for labels, unlike supervised machine learning.

All the algorithms in this course are staples in machine learning and data science, so if you want to know how to automatically find patterns in your data with data mining and pattern extraction, then this course is for you.

**Cluster analysis** is a staple of **unsupervised machine learning** and **data science**.

It is very useful for **data mining** and **big data** because it **automatically finds patterns** in the data, without the need for labels, unlike supervised machine learning.

In a real-world environment, you can imagine that a robot or an **artificial intelligence** won’t always have access to the optimal answer, or maybe there isn’t an optimal correct answer. You’d want that robot to be able to explore the world on its own, and learn things just by looking for patterns.

In this course we are first going to talk about clustering.

There are 2 methods of clustering we’ll talk about: **k-means clustering** and **hierarchical clustering**.

Next, because in machine learning we like to talk about probability distributions, we’ll go into **Gaussian mixture models** and **kernel density estimation**, where we talk about how to "learn" the probability distribution of a set of data.

All the algorithms we’ll talk about in this course are staples in machine learning and data science, so if you want to know how to automatically find patterns in your data with data mining and pattern extraction, then this course is for you.

All the materials for this course are FREE. You can download and install **Python, Numpy, and Scipy** with simple commands on **Windows, Linux, or Mac**.

This course focuses on "**how to build and understand**", not just "how to use". Anyone can learn to use an API in 15 minutes after reading some documentation. It's not about "remembering facts", it's about **"seeing for yourself" via experimentation**. It will teach you how to visualize what's happening in the model internally. If you want **more** than just a superficial look at machine learning models, this course is for you.

**3**

### Artificial Intelligence: Reinforcement Learning in Python

**Lazy Programmer**

4.5 of 5 stars

##### Complete guide to Reinforcement Learning, with Stock Trading and Online Advertising Applications

**Cluster analysis** is a staple of **unsupervised machine learning** and **data science**.

It is very useful for **data mining** and **big data** because it **automatically finds patterns** in the data, without the need for labels, unlike supervised machine learning.

All the algorithms in this course are staples in machine learning and data science, so if you want to know how to automatically find patterns in your data with data mining and pattern extraction, then this course is for you.

When people talk about **artificial intelligence**, they usually don’t mean supervised and unsupervised **machine learning**.

These tasks are pretty trivial compared to what we think of AIs doing - playing chess and Go, driving cars, and beating video games at a superhuman level.

**Reinforcement learning** has recently become popular for doing all of that and more.

Much like **deep learning**, a lot of the theory was discovered in the 70s and 80s but it hasn’t been until recently that we’ve been able to observe first hand the amazing results that are possible.

In 2016 we saw **Google’s**
**AlphaGo** beat the world Champion in Go.

We saw AIs playing video games like Doom and Super Mario.

Self-driving cars have started driving on real roads with other drivers and even carrying passengers (**Uber**), all without human assistance.

If that sounds amazing, brace yourself for the future because the law of accelerating returns dictates that this progress is only going to continue to increase exponentially.

Learning about supervised and unsupervised machine learning is no small feat. To date I have over SIXTEEN (16!) courses just on those topics alone.

And yet reinforcement learning opens up a whole new world. As you’ll learn in this course, the reinforcement learning paradigm is more different from supervised and unsupervised learning than they are from each other.

It’s led to new and amazing insights both in behavioral psychology and neuroscience. As you’ll learn in this course, there are many analogous processes when it comes to teaching an agent and teaching an animal or even a human. It’s the closest thing we have so far to a true general artificial intelligence. What’s covered in this course?

## Another 3 Courses: How to Learn Neural Networks

Once you've mastered the basics of how to learn Neural Networks, you might want to look at a few other courses.

These next 3 courses are by no means inferior to our top picks, but will help you get great breadth to your Neural Networks learning:

## Top 3 Courses: How to Get Started With Machine Learning

Of course, Neural Networks is a specialist descipline within Machine Learning, and although I always suggest beginning your Machine Learning education by learning Neural Networks, you don't *have* to start there. Instead you could learn Machine Learning by jumping straight into some kind of Machine Learning bootcamp.

This next set of 3 courses are dedicated to that, and are our top picks on how to learn Machine Learning from scratch.

## Another 3 Courses: How to Get Started With Machine Learning

As I mentioned earlier, there are looooaaaads of great courses at Udemy on how to learn Machine Learning. So many that I couldn't whittle the list down to just 3. In truth, I could have listed 30 here, but I've had to make some difficult choices to get it down to just 6.

So here you are - another 3 courses on how to get started with Machine Learning:

## Top 3: Best Deep Learning Courses

Once you've had mastered the basics of Machine Learning and Neural Networks you're going to want to do some more **Deep Learning** (see what I did there?).

The next steps are to jump into **Deep Learning**, so here are our picks of the best Deep Learning courses at Udemy:

## Another 3 of The Best Deep Learning Courses

As with the other courses above, there are lots of Deep Learning courses at Udemy and I couldn't pick just 3.

So here are another 3 of the best Deep Learning courses at Udemy:

## Top 3 Tensorflow Courses

Learning Machine Learning will help you to up your Data Science game and will no doubt make a difference to your paycheck too, but learning about the tools you use will take you to a whole new level.

Tensorflow is one such tool, and learning to use it will make all the difference to your career, so here are our picks of the 3 best Tensorflow courses at Udemy:

## Another 3 Tensorflow Courses

And, just because I found it difficult to pick just 3 Tensorflow courses, here are another great set of 3 Tensorflow courses you might like to consider taking:

## Top 3: Other Interesting ML Courses

Machine Learning is used for so many things these days, so I thought I'd show you a few Machine Learning courses that are a little different to those above. Here are 3 of the best:

## Another 3 Interesting ML Courses

And here are another 3, just to complete the set...

## Machine Learning Books

If courses aren't really your thing and you prefer to learn by books instead, we have a post dedicated to The Best Machine Learning Books for Beginners.

Check them out - you won't be disappointed!

## How to Learn Machine Learning From Scratch - Summary

There are loads of Artificial Intelligence, Machine Learning and Deep Learning courses at Udemy, not just the ones listed above. If none of these take your fancy, have a look around and I'm sure you'll find others that might just hit the spot.

If you discover any better courses out there on how to get started with Machine Learning, leave a comment below and I'll add it to the post!

Final word - when you've done any of these courses, please **return and leave some feedback** and a review in the comments below. If you loved the course, great - come and tell us. If you hated it, that's great too - leave a comment saying what you didn't like about it.

## Jump Station

This blog post is part of a series of 7 posts on learning how to be a **Data Science** Ninja.

For more detail, choose from the other options below: