Data Science: Deep Learning in Python
4.6 (6,686 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
43,721 students enrolled

Data Science: Deep Learning in Python

The MOST in-depth look at neural network theory, and how to code one with pure Python and Tensorflow
4.6 (6,686 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
43,721 students enrolled
Last updated 7/2020
English [Auto], Portuguese [Auto], 1 more
  • Spanish [Auto]
Current price: $139.99 Original price: $199.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 11 hours on-demand video
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn how Deep Learning REALLY works (not just some diagrams and magical black box code)
  • Learn how a neural network is built from basic building blocks (the neuron)
  • Code a neural network from scratch in Python and numpy
  • Code a neural network using Google's TensorFlow
  • Describe different types of neural networks and the different types of problems they are used for
  • Derive the backpropagation rule from first principles
  • Create a neural network with an output that has K > 2 classes using softmax
  • Describe the various terms related to neural networks, such as "activation", "backpropagation" and "feedforward"
  • Install TensorFlow
Course content
Expand all 89 lectures 10:54:40
+ Welcome
4 lectures 23:36

Overview of the course and prerequisites.

Preview 04:29
Where to get the code
How to Succeed in this Course
+ Review
6 lectures 30:38
Review Section Introduction
What does machine learning do?
Neuron Predictions
Neuron Training
Deep Learning Readiness Test
Review Section Summary
+ Preliminaries: From Neurons to Neural Networks
2 lectures 13:12

An almost purely qualitative description of neural networks.

Neural Networks with No Math
Introduction to the E-Commerce Course Project
+ Classifying more than 2 things at a time
15 lectures 01:23:01
Prediction: Section Introduction and Outline
From Logistic Regression to Neural Networks
Interpreting the Weights of a Neural Network

What's the function we use to classify more than 2 things?

Sigmoid vs. Softmax
Feedforward in Slow-Mo (part 1)
Feedforward in Slow-Mo (part 2)
Where to get the code for this course

How do we code the softmax in Python?

Softmax in Code

Let's extend softmax and code the entire calculation from input to output.

Building an entire feedforward neural network in Python
E-Commerce Course Project: Pre-Processing the Data
E-Commerce Course Project: Making Predictions
Prediction Quizzes
Prediction: Section Summary
Suggestion Box
+ Training a neural network
16 lectures 02:14:15
Training: Section Introduction and Outline
What do all these symbols and letters mean?
What does it mean to "train" a neural network?
How to Brace Yourself to Learn Backpropagation
Categorical Cross-Entropy Loss Function
Training Logistic Regression with Softmax (part 1)
Training Logistic Regression with Softmax (part 2)
Backpropagation (part 1)
Backpropagation (part 2)

How to code bacpropagation in Python using numpy operations vs. slow for loops.

Backpropagation in code
Backpropagation (part 3)
The WRONG Way to Learn Backpropagation
E-Commerce Course Project: Training Logistic Regression with Softmax
E-Commerce Course Project: Training a Neural Network
Training Quiz
Training: Section Summary
+ Practical Machine Learning
10 lectures 48:59
Practical Issues: Section Introduction and Outline

What are the donut and XOR problems again?

Donut and XOR Review

We look again at the XOR and donut problem from logistic regression. The features are now learned automatically.

Donut and XOR Revisited
Neural Networks for Regression

sigmoid, tanh, relu along with their derivatives

Common nonlinearities and their derivatives
Practical Considerations for Choosing Activation Functions

Tips on choosing learning rate, regularization penalty, number of hidden units, and number of hidden layers.

Hyperparameters and Cross-Validation
Manually Choosing Learning Rate and Regularization Penalty
Why Divide by Square Root of D?
Practical Issues: Section Summary
+ TensorFlow, exercises, practice, and what to learn next
6 lectures 41:35

A look at Google's new TensorFlow library.

TensorFlow plug-and-play example
Visualizing what a neural network has learned using TensorFlow Playground
What did you learn? What didn't you learn? Where can you learn more?
Where to go from here
You know more than you think you know
How to get good at deep learning + exercises
Deep neural networks in just 3 lines of code with Sci-Kit Learn
+ Project: Facial Expression Recognition
8 lectures 01:02:12
Facial Expression Recognition Project Introduction
Facial Expression Recognition Problem Description
The class imbalance problem
Utilities walkthrough
Facial Expression Recognition in Code (Binary / Sigmoid)
Facial Expression Recognition in Code (Logistic Regression Softmax)
Facial Expression Recognition in Code (ANN Softmax)
Facial Expression Recognition Project Summary
+ Backpropagation Supplementary Lectures
5 lectures 30:30
Backpropagation Supplementary Lectures Introduction
Why Learn the Ins and Outs of Backpropagation?
Gradient Descent Tutorial
Help with Softmax Derivative
Backpropagation with Softmax Troubleshooting
+ Higher-Level Discussion
3 lectures 29:59
What's the difference between "neural networks" and "deep learning"?
Where does this course fit into your deep learning studies?
  • Basic math (calculus derivatives, matrix arithmetic, probability)
  • Install Numpy and Python
  • Don't worry about installing TensorFlow, we will do that in the lectures.
  • Being familiar with the content of my logistic regression course (cross-entropy cost, gradient descent, neurons, XOR, donut) will give you the proper context for this course

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.


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 NetworksRestricted Boltzmann MachinesAutoencoders, 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.

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

TIPS (for getting through the course):

  • Watch it at 2x.

  • Take handwritten notes. This will drastically increase your ability to retain the information.

  • Write down the equations. If you don't, I guarantee it will just look like gibberish.

  • Ask lots of questions on the discussion board. The more the better!

  • Realize that most exercises will take you days or weeks to complete.

  • Write code yourself, don't just sit there and look at my code.


  • Check out the lecture "What order should I take your courses in?" (available in the Appendix of any of my courses, including the free Numpy course)

Who this course is for:
  • Students interested in machine learning - you'll get all the tidbits you need to do well in a neural networks course
  • Professionals who want to use neural networks in their machine learning and data science pipeline. Be able to apply more powerful models, and know its drawbacks.