This course will get you started in building your FIRST artificial neural network using deep learning techniques. Following my previous course on logistic regression, we take this basic building block, and build full-on non-linear neural networks right out of the gate using Python and Numpy. All the materials for this course are FREE.
We extend the previous binary classification model to multiple classes using the softmax function, and we derive the very important training method called “backpropagation” using first principles. I show you how to code backpropagation in Numpy, first “the slow way”, and then “the fast way” using Numpy features.
Next, we implement a neural network using Google’s new TensorFlow library.
You should take this course if you are interested in starting your journey toward becoming a master at deep learning, or if you are interested in machine learning and data science in general. We go beyond basic models like logistic regression and linear regression and I show you something that automatically learns features.
This course provides you with many practical examples so that you can really see how deep learning can be used on anything. Throughout the course, we’ll do a course project, which will show you how to predict user actions on a website given user data like whether or not that user is on a mobile device, the number of products they viewed, how long they stayed on your site, whether or not they are a returning visitor, and what time of day they visited.
Another project at the end of the course shows you how you can use deep learning for facial expression recognition. Imagine being able to predict someone’s emotions just based on a picture!
After getting your feet wet with the fundamentals, I provide a brief overview of some of the newest developments in neural networks – slightly modified architectures and what they are used for.
NOTE:
If you already know about softmax and backpropagation, and you want to skip over the theory and speed things up using more advanced techniques along with GPU-optimization, check out my follow-up course on this topic, Data Science: Practical Deep Learning Concepts in Theano and TensorFlow.
I have other courses that cover more advanced topics, such as Convolutional Neural Networks, Restricted Boltzmann Machines, Autoencoders, and more! But you want to be very comfortable with the material in this course before moving on to more advanced subjects.
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.
“If you can’t implement it, you don’t understand it”
-
Or as the great physicist Richard Feynman said: “What I cannot create, I do not understand”.
-
My courses are the ONLY courses where you will learn how to implement machine learning algorithms from scratch
-
Other courses will teach you how to plug in your data into a library, but do you really need help with 3 lines of code?
-
After doing the same thing with 10 datasets, you realize you didn’t learn 10 things. You learned 1 thing, and just repeated the same 3 lines of code 10 times…
Suggested Prerequisites:
-
calculus (taking derivatives)
-
matrix arithmetic
-
probability
-
Python coding: if/else, loops, lists, dicts, sets
-
Numpy coding: matrix and vector operations, loading a CSV file
-
Be familiar with basic linear models such as linear regression and logistic regression
WHAT ORDER SHOULD I TAKE YOUR COURSES IN?:
-
Check out the lecture “Machine Learning and AI Prerequisite Roadmap” (available in the FAQ of any of my courses, including the free Numpy course)
Welcome
Overview of the course and prerequisites.
Review
Preliminaries: From Neurons to Neural Networks
An almost purely qualitative description of neural networks.
Classifying more than 2 things at a time
What's the function we use to classify more than 2 things?
How do we code the softmax in Python?
Let's extend softmax and code the entire calculation from input to output.
Training a neural network
How to code bacpropagation in Python using numpy operations vs. slow for loops.
Practical Machine Learning
What are the donut and XOR problems again?
We look again at the XOR and donut problem from logistic regression. The features are now learned automatically.
sigmoid, tanh, relu along with their derivatives
Tips on choosing learning rate, regularization penalty, number of hidden units, and number of hidden layers.
TensorFlow, exercises, practice, and what to learn next
A look at Google's new TensorFlow library.