Recommender Systems and Deep Learning in Python

The most in-depth course on recommendation systems with deep learning, machine learning, data science, and AI techniques

Register for this Course

$29.99 $199.99 USD 85% OFF!

Login or signup to register for this course

Have a coupon? Click here.

Course Data

Lectures: 95
Length: 13h 00m
Skill Level: All Levels
Languages: English
Includes: Lifetime access

Course Description

Believe it or not, almost all online businesses today make use of recommender systems in some way or another.

What do I mean by “recommender systems”, and why are they useful?

Let’s look at the top 3 websites on the Internet, according to Alexa: Google, YouTube, and Facebook.

Recommender systems form the very foundation of these technologies.

Google: Search results

They are why Google is the most successful technology company today.

YouTube: Video dashboard

I’m sure I’m not the only one who’s accidentally spent hours on YouTube when I had more important things to do! Just how do they convince you to do that?

That’s right. Recommender systems!

Facebook: So powerful that world governments are worried that the newsfeed has too much influence on people! (Or maybe they are worried about losing their own power... hmm...)


This course is a big bag of tricks that make recommender systems work across multiple platforms.

We’ll look at popular news feed algorithms, like Reddit, Hacker News, and Google PageRank.

We’ll look at Bayesian recommendation techniques that are being used by a large number of media companies today.

But this course isn’t just about news feeds.

Companies like Amazon, Netflix, and Spotify have been using recommendations to suggest products, movies, and music to customers for many years now.

These algorithms have led to billions of dollars in added revenue.

So I assure you, what you’re about to learn in this course is very real, very applicable, and will have a huge impact on your business.

For those of you who like to dig deep into the theory to understand how things really work, you know this is my specialty and there will be no shortage of that in this course. We’ll be covering state of the art algorithms like matrix factorization and deep learning (making use of both supervised and unsupervised learning - Autoencoders and Restricted Boltzmann Machines), and you’ll learn a bag full of tricks to improve upon baseline results.

As a bonus, we will also look how to perform matrix factorization using big data in Spark. We will create a cluster using Amazon EC2 instances with Amazon Web Services (AWS). Most other courses and tutorials look at the MovieLens 100k dataset - that is puny! Our examples make use of MovieLens 20 million.

Whether you sell products in your e-commerce store, or you simply write a blog - you can use these techniques to show the right recommendations to your users at the right time.

If you’re an employee at a company, you can use these techniques to impress your manager and get a raise!

I’ll see you in class!


This course is not "officially" part of my deep learning series. It contains a strong deep learning component, but there are many concepts in the course that are totally unrelated to deep learning.

Suggested Prerequisites:
  • For earlier sections, just know some basic arithmetic
  • For advanced sections, know calculus, linear algebra, and probability for a deeper understanding
  • Be proficient in Python and the Numpy stack (see my free course)
  • For the deep learning section, know the basics of using Keras

Tips for success:

  • Use the video speed changer! Personally, I like to watch 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!
  • Don't get discouraged if you can't solve every exercise right away. Sometimes it'll take hours, days, or maybe weeks!
  • Write code yourself, this is an applied course! Don't be a "couch potato".



3 Lectures · 13min
  1. Introduction (03:10) (FREE preview available)
  2. Outline of the course (04:45)
  3. Where to get the code (05:06)

Simple Recommendation Systems

15 Lectures · 01hr 58min
  1. Section Introduction and Outline (04:20)
  2. Perspective for this Section (03:42)
  3. Basic Intuitions (05:15)
  4. Associations (04:44)
  5. Hacker News - Will you be penalized for talking about the NSA? (07:29)
  6. Reddit - Should censorship based on politics be allowed? (08:55)
  7. Problems with Average Rating & Explore vs. Exploit (part 1) (10:59)
  8. Problems with Average Rating & Explore vs. Exploit (part 2) (07:40)
  9. Bayesian Ranking (Beginner Version) (22:35)
  10. Demographics and Supervised Learning (07:23)
  11. PageRank (part 1) (11:13)
  12. PageRank (part 2) (11:56)
  13. Evaluating a Ranking (04:40)
  14. Section Conclusion (04:11)
  15. Suggestion Box (03:10)

Collaborative Filtering

8 Lectures · 01hr 29min
  1. Collaborative Filtering Section Introduction (11:39)
  2. User-User Collaborative Filtering (13:52)
  3. Collaborative Filtering Exercise Prep (10:21)
  4. Data Preprocessing (15:27)
  5. User-User Collaborative Filtering in Code (16:07)
  6. Item-Item Collaborative Filtering (09:16)
  7. Item-Item Collaborative Filtering in Code (07:08)
  8. Collaborative Filtering Section Conclusion (05:35)

Beginner Q&A

3 Lectures · 14min
  1. How do I Choose Which Model to Use? (04:03)
  2. How do I Solve the Cold-Start Problem? (04:30)
  3. What if I Don't Like Math or Programming? (05:48)

Matrix Factorization and Deep Learning

19 Lectures · 02hr 06min
  1. Matrix Factorization Section Introduction (04:09)
  2. Matrix Factorization - First Steps (15:28)
  3. Matrix Factorization - Training (08:57)
  4. Matrix Factorization - Expanding Our Model (08:05)
  5. Matrix Factorization - Regularization (06:19)
  6. Matrix Factorization - Exercise Prompt (01:16)
  7. Matrix Factorization in Code (06:18)
  8. Matrix Factorization in Code - Vectorized (10:15)
  9. SVD (Singular Value Decomposition) (07:49)
  10. Probabilistic Matrix Factorization (06:07)
  11. Bayesian Matrix Factorization (05:35)
  12. Matrix Factorization in Keras (Discussion) (07:33)
  13. Matrix Factorization in Keras (Code) (07:15)
  14. Deep Neural Network (Discussion) (02:52)
  15. Deep Neural Network (Code) (02:44)
  16. Residual Learning (Discussion) (02:04)
  17. Residual Learning (Code) (02:00)
  18. Autoencoders (AutoRec) Discussion (10:15)
  19. Autoencoders (AutoRec) Code (11:46)

Restricted Boltzmann Machines (RBMs) for Collaborative Filtering

13 Lectures · 01hr 36min
  1. RBMs for Collaborative Filtering Section Introduction (02:09)
  2. Intro to RBMs (08:22)
  3. Motivation Behind RBMs (06:52)
  4. Intractability (03:12)
  5. Neural Network Equations (07:44)
  6. Training an RBM (part 1) (11:35)
  7. Training an RBM (part 2) (06:19)
  8. Training an RBM (part 3) - Free Energy (07:21)
  9. Categorical RBM for Recommender System Ratings (11:32)
  10. RBM Code pt 1 (07:27)
  11. RBM Code pt 2 (04:17)
  12. RBM Code pt 3 (11:43)
  13. Speeding up the RBM Code (07:54)

Big Data Matrix Factorization with Spark Cluster on AWS / EC2

6 Lectures · 47min
  1. Big Data and Spark Section Introduction (07:16)
  2. Setting up Spark in your Local Environment (07:37)
  3. Matrix Factorization in Spark (10:29)
  4. Spark Submit (06:27)
  5. Setting up a Spark Cluster on AWS / EC2 (12:39)
  6. Making Predictions in the Real World (02:47)

VIP Section for Recommender Systems

1 Lectures · 04min
  1. VIP: Making Predictions with a Trained Recommender Model (04:25)

Bonus: TF-IDF

2 Lectures · 19min
  1. TF-IDF Theory (09:56)
  2. TF-IDF Code (09:18)

Basics Review

8 Lectures · 52min
  1. Keras Discussion (06:49)
  2. Keras Neural Network in Code (06:38)
  3. Keras Functional API (04:27)
  4. How to easily convert Keras into Tensorflow 2.0 code (01:49)
  5. TensorFlow Basics: Variables, Functions, Expressions, Optimization (07:27)
  6. Building a neural network in TensorFlow (09:43)
  7. Confidence Intervals (10:18)
  8. Gaussian Conjugate Prior (05:42)

Bayesian Ranking (Scary Version)

5 Lectures · 49min
  1. Bayesian Approach part 0 (Preparation) (12:08)
  2. Bayesian Approach part 1 (Optional) (11:08)
  3. Bayesian Approach part 2 (Sampling and Ranking) (05:58)
  4. Bayesian Approach part 3 (Gaussian) (08:24)
  5. Bayesian Approach part 4 (Code) (12:02)

Setting Up Your Environment (Appendix/FAQ by Student Request)

2 Lectures · 37min
  1. Windows-Focused Environment Setup 2018 (20:21)
  2. How to install Numpy, Scipy, Matplotlib, Pandas, IPython, Theano, and TensorFlow (17:33)

Extra Help With Python Coding for Beginners (Appendix/FAQ by Student Request)

4 Lectures · 42min
  1. How to Code Yourself (part 1) (15:55)
  2. How to Code Yourself (part 2) (09:24)
  3. Proof that using Jupyter Notebook is the same as not using it (12:29)
  4. Python 2 vs Python 3 (04:38)

Effective Learning Strategies for Machine Learning (Appendix/FAQ by Student Request)

4 Lectures · 59min
  1. How to Succeed in this Course (Long Version) (10:25)
  2. Is this for Beginners or Experts? Academic or Practical? Fast or slow-paced? (22:05)
  3. What order should I take your courses in? (part 1) (11:19)
  4. What order should I take your courses in? (part 2) (16:07)

Appendix / FAQ Finale

2 Lectures · 08min
  1. What is the Appendix? (02:48)
  2. Where to get discount coupons and FREE deep learning material (05:31)


  • VIP: Making Predictions with a Trained Recommender Model Notebook
This website is using cookies. That's Fine