We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

Recommender Systems and Deep Learning in Python

Lazy Programmer Inc.

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?

Read more

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...)

Amazing.

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.

NOTE:

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.

"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:

  • 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

  • For the RBM section, know Tensorflow

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)

UNIQUE FEATURES

  • Every line of code explained in detail - email me any time if you disagree

  • No wasted time "typing" on the keyboard like other courses - let's be honest, nobody can really write code worth learning about in just 20 minutes from scratch

  • Not afraid of university-level math - get important details about algorithms that other courses leave out

Enroll now

What's inside

Learning objectives

  • Understand and implement accurate recommendations for your users using simple and state-of-the-art algorithms
  • Big data matrix factorization on spark with an aws ec2 cluster
  • Matrix factorization / svd in pure numpy
  • Matrix factorization in keras
  • Deep neural networks, residual networks, and autoencoder in keras
  • Restricted boltzmann machine in tensorflow

Syllabus

Welcome
Introduction
Outline of the course
Where to get the code
Read more
How to Succeed in this Course
Simple Recommendation Systems
Section Introduction and Outline
Perspective for this Section
Basic Intuitions
Associations
Hacker News - Will you be penalized for talking about the NSA?
Reddit - Should censorship based on politics be allowed?
Problems with Average Rating & Explore vs. Exploit (part 1)
Problems with Average Rating & Explore vs. Exploit (part 2)
Bayesian Ranking (Beginner Version)
Demographics and Supervised Learning
PageRank (part 1)
PageRank (part 2)
Evaluating a Ranking
Section Conclusion
Suggestion Box
Collaborative Filtering
Collaborative Filtering Section Introduction
User-User Collaborative Filtering
Collaborative Filtering Exercise Prep
Data Preprocessing
User-User Collaborative Filtering in Code
Item-Item Collaborative Filtering
Item-Item Collaborative Filtering in Code
Collaborative Filtering Section Conclusion
Beginner Q&A
How do I Choose Which Model to Use?
How do I Solve the Cold-Start Problem?
What if I Don't Like Math or Programming?
Matrix Factorization and Deep Learning
Matrix Factorization Section Introduction
Matrix Factorization - First Steps
Matrix Factorization - Training
Matrix Factorization - Expanding Our Model
Matrix Factorization - Regularization
Matrix Factorization - Exercise Prompt
Matrix Factorization in Code
Matrix Factorization in Code - Vectorized
SVD (Singular Value Decomposition)
Probabilistic Matrix Factorization
Bayesian Matrix Factorization
Matrix Factorization in Keras (Discussion)
Matrix Factorization in Keras (Code)
Deep Neural Network (Discussion)
Deep Neural Network (Code)
Residual Learning (Discussion)
Residual Learning (Code)
Autoencoders (AutoRec) Discussion
Autoencoders (AutoRec) Code
Restricted Boltzmann Machines (RBMs) for Collaborative Filtering
RBMs for Collaborative Filtering Section Introduction
Intro to RBMs
Motivation Behind RBMs
Intractability
Neural Network Equations
Training an RBM (part 1)
Training an RBM (part 2)
Training an RBM (part 3) - Free Energy
Categorical RBM for Recommender System Ratings
RBM Code pt 1
RBM Code pt 2
RBM Code pt 3
Speeding up the RBM Code
Big Data Matrix Factorization with Spark Cluster on AWS / EC2
Big Data and Spark Section Introduction
Setting up Spark in your Local Environment
Matrix Factorization in Spark
Spark Submit
Setting up a Spark Cluster on AWS / EC2
Making Predictions in the Real World
Basics Review
(Review) Keras Discussion
(Review) Keras Neural Network in Code
(Review) Keras Functional API
(Review) How to easily convert Keras into Tensorflow 2.0 code
(Review) Confidence Intervals
(Review) Gaussian Conjugate Prior
Bayesian Ranking (Scary Version)
Bayesian Approach part 0 (Preparation)
Bayesian Approach part 1 (Optional)
Optional: Bayesian Approach part 2 (Sampling and Ranking)
Optional: Bayesian Approach part 3 (Gaussian)
Optional: Bayesian Approach part 4 (Code)
Why don't we just use a library?
Setting Up Your Environment (FAQ by Student Request)
Pre-Installation Check
Anaconda Environment Setup
How to How to install Numpy, Theano, Tensorflow, etc...
Extra Help With Python Coding for Beginners (FAQ by Student Request)
How to Code by Yourself (part 1)
How to Code by Yourself (part 2)
Proof that using Jupyter Notebook is the same as not using it
Python 2 vs Python 3
Effective Learning Strategies for Machine Learning (FAQ by Student Request)
How to Succeed in this Course (Long Version)

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Appropriate for those with a foundation in programming and some exposure to other machine learning concepts
Develops professional skills in recommendation system algorithms for industry use
Helps learners understand recommendation systems employed in prominent tech companies like Google, YouTube, and Facebook
Covers a range of widely used practical recommendation system algorithms
Includes hands-on exercises and code implementation in Python
Emphasizes deep learning and matrix factorization for recommendation systems

Save this course

Save Recommender Systems and Deep Learning in Python to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Recommender Systems and Deep Learning in Python. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Recommender Systems and Deep Learning in Python will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
As a Machine Learning Engineer, you will help build and deploy machine learning models that solve real-world problems. This course will teach you the fundamentals of machine learning, including how to preprocess data, build and train models, and evaluate model performance. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in computer vision, natural language processing, and other fields.
Data Scientist
As a Data Scientist, you will use your skills in data analysis, machine learning, and statistics to solve business problems. This course will teach you the fundamentals of data science, including how to collect, clean, and analyze data, and how to use machine learning to build models that can predict future outcomes. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in data science.
Software Engineer
As a Software Engineer, you will design, develop, and maintain software systems. This course will teach you the fundamentals of software engineering, including how to write clean and efficient code, and how to design and implement software systems that are scalable and reliable. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in software engineering, such as image recognition and natural language processing.
Quantitative Analyst
As a Quantitative Analyst, you will use your skills in mathematics, statistics, and computer programming to analyze financial data and make investment recommendations. This course will teach you the fundamentals of quantitative finance, including how to use machine learning to build models that can predict financial markets. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in quantitative finance.
Product Manager
As a Product Manager, you will be responsible for the development and launch of new products. This course will teach you the fundamentals of product management, including how to identify customer needs, develop product specifications, and launch and market new products. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in product management, such as personalization and recommendation systems.
Business Analyst
As a Business Analyst, you will use your skills in data analysis, problem-solving, and communication to help businesses improve their performance. This course will teach you the fundamentals of business analysis, including how to collect, analyze, and interpret data, and how to make recommendations to improve business processes. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in business analysis, such as customer segmentation and churn prediction.
Data Engineer
As a Data Engineer, you will be responsible for building and maintaining the infrastructure that supports data analysis and machine learning. This course will teach you the fundamentals of data engineering, including how to design and implement data pipelines, and how to manage and store data. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in data engineering, such as data cleaning and feature engineering.
Operations Research Analyst
As an Operations Research Analyst, you will use your skills in mathematics, statistics, and computer programming to solve complex problems in business and industry. This course will teach you the fundamentals of operations research, including how to model and solve problems using linear programming, integer programming, and other techniques. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in operations research, such as supply chain optimization and inventory management.
Statistician
As a Statistician, you will use your skills in data analysis, probability, and inference to solve problems in a variety of fields, such as medicine, finance, and marketing. This course will teach you the fundamentals of statistics, including how to collect, analyze, and interpret data, and how to make inferences about populations from samples. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in statistics, such as classification and regression.
Computer Scientist
As a Computer Scientist, you will be involved in the design, development, and implementation of computer systems and applications. This course will teach you the fundamentals of computer science, including how to write algorithms, design data structures, and develop software systems. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in computer science, such as image recognition and natural language processing.
Financial Analyst
As a Financial Analyst, you will use your skills in mathematics, statistics, and finance to analyze financial data and make investment recommendations. This course will teach you the fundamentals of financial analysis, including how to value stocks, bonds, and other financial instruments. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in financial analysis, such as risk management and portfolio optimization.
Market Researcher
As a Market Researcher, you will use your skills in data analysis, statistics, and marketing to understand consumer behavior and market trends. This course will teach you the fundamentals of market research, including how to design and conduct surveys, analyze data, and make recommendations to improve marketing campaigns. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in market research, such as customer segmentation and churn prediction.
Actuary
As an Actuary, you will use your skills in mathematics, statistics, and finance to assess risk and develop insurance products. This course will teach you the fundamentals of actuarial science, including how to calculate insurance premiums, and how to manage risk. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in actuarial science, such as fraud detection and claims prediction.
Economist
As an Economist, you will use your skills in mathematics, statistics, and economics to analyze economic data and make policy recommendations. This course will teach you the fundamentals of economics, including how to model economic systems, and how to analyze economic data. You will also learn about deep learning, a powerful technique that is used to solve a wide range of problems in economics, such as forecasting economic growth and simulating economic policies.
Operations Manager
As an Operations Manager, you will be responsible for the planning, coordination, and control of business operations. This course will teach you the fundamentals of operations management, including how to design and implement efficient business processes, and how to manage inventory and supply chains.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Recommender Systems and Deep Learning in Python.
Provides a comprehensive introduction to probabilistic graphical models, which are a powerful tool for representing and reasoning about uncertain knowledge. It includes coverage of Bayesian networks and Markov random fields, both of which are used in recommender systems.
Provides a comprehensive overview of deep reinforcement learning, a powerful technique for training agents to solve complex tasks. It valuable resource for understanding the latest research in recommender systems.
Provides a comprehensive overview of deep learning for natural language processing, covering a wide range of topics from basic concepts to advanced techniques. It valuable resource for anyone who wants to learn how to use deep learning for recommender systems that involve natural language processing.
Provides a comprehensive overview of TensorFlow, a popular open-source machine learning library. It covers a wide range of topics, from basic concepts to advanced techniques, and valuable resource for anyone using TensorFlow for recommender systems.
This classic textbook covers a wide range of machine learning topics, including supervised learning, unsupervised learning, and reinforcement learning. It provides a good foundation for understanding the algorithms used in recommender systems.
Provides a comprehensive overview of natural language processing, a field that is becoming increasingly important for recommender systems. It covers a wide range of topics, from basic concepts to advanced techniques, and valuable resource for anyone working with text data.
Provides a comprehensive overview of information retrieval, a field that is closely related to recommender systems. It covers a wide range of topics, from basic concepts to advanced techniques, and valuable resource for anyone working with information retrieval systems.
Provides a comprehensive overview of the mathematical foundations of machine learning, including linear algebra, calculus, and probability. It valuable resource for anyone who wants to understand the theoretical underpinnings of recommender systems.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Recommender Systems and Deep Learning in Python.
Recommender Systems
Most relevant
Tensorflow 2.0: Deep Learning and Artificial Intelligence
Most relevant
PyTorch: Deep Learning and Artificial Intelligence
Most relevant
PyTorch Ultimate 2024: From Basics to Cutting-Edge
Most relevant
Machine Learning Foundations: A Case Study Approach
Most relevant
Recommender Systems: Behind the Screen
Music Recommender System Using Pyspark
Machine Learning with Python: from Linear Models to Deep...
Building Recommender Systems with Machine Learning and AI
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser