Roadmap of DL and ML, some courses, study notes and paper summary
Switch branches/tags
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information. add prml Dec 13, 2017 add prml Dec 13, 2017
_config.yml Set theme jekyll-theme-slate Oct 8, 2018

Roadmap of DL and ML

in chinese 中文版

For a newecomer to deep learning and machine learning area, facing some much courses and resources, the first question is how to choose right books and courses to begin this trip.

Here is my roadmap of machine leanring and deep leanring materials.

The roadmap includes some highly recommended courses, books and papers which can help you get into DL and ML area quickly. Maybe some materials are quite difficult, but really worth reading and studying.

I would continue adding some items to this roadmap. If you have something to recommend, such as some new material or your study note, welcome to request PR.


STATS 385(Theories of Deep Learning)

The spectacular recent successes of deep learning are purely empirical. Nevertheless intellectuals always try to explain important developments theoretically. In this literature course we will seek to build theoretical frameworks deriving deep networks as consequences.

cs234: Reinforcement Learning

This class will provide a solid introduction to the field of reinforcement learning and students will learn about the core challenges and approaches, including generalization and exploration. Through a combination of lectures, and written and coding assignments, students will become well versed in key ideas and techniques for RL.

Deep Learning for Natural Language Processing

This is an advanced course on natural language processing. This course will be lead by Phil Blunsom and delivered in partnership with the DeepMind Natural Language Research Group.

Practical Deep Learning For Coders, Part 1 & 2

This course is designed for anyone with at least a year of coding experience, and some memory of high-school math. In the first part, you will learn how to build state of the art models without needing graduate-level math. In the second part, you'll learn the latest developments in deep learning, how to read and implement new academic papers, and how to solve challenging end-to-end problems such as natual language translation.

Deep Learning Specialization(by

There are five courses in this specialization, you will learn the foundations of Deep Learning, understand how to build neural networks, and learn how to lead successful machine learning projects.This specialization is very popular because it is taught by Andrew Ng whose course machine learning in coursera is also very popular.

CS 20SI: TensorFlow for Deep Learning Research

This course will cover the fundamentals and contemporary usage of the Tensorflow library for deep learning research. We aim to help students understand the graphical computational model of Tensorflow, explore the functions it has to offer, and learn how to build and structure models best suited for a deep learning project. Through the course, students will use Tensorflow to build models of different complexity, from simple linear/logistic regression to convolutional neural network and recurrent neural networks with LSTM to solve tasks such as word embeddings, translation, optical character recognition. Students will also learn best practices to structure a model and manage research experiments.

Numeraical Linear Algebra

This course is focused on the question: How do we do matrix computations with acceptable speed and acceptable accuracy?

This course was taught in the University of San Francisco's Masters of Science in Analystics program, summer 2017.

Machine Learning Foundations by Tien Lin

The course teaches the most fundamental algorithmic, theoretical and practical tools that any user of machine learning needs to know. The course get highly praises in chinese machine leanring courses.

Machine Learning Techniques by Tien Lin

This course is the follow-up course of machine learning foundations, and it mainly introduces the basics of learning theories, the design and analysis of learning algorithms, and some applications of machine learning.

Learning From Data

This is an introductory course in machine learning (ML) that covers the basic theory, algorithms, and applications. This course balances theory and practice, and covers the mathematical as well as the heuristic aspects.

udacity deep learning

We’ll show you how to train and optimize basic neural networks, convolutional neural networks, and long short term memory networks. Complete learning systems in TensorFlow will be introduced via projects and assignments. You will learn to solve new classes of problems that were once thought prohibitively challenging, and come to better appreciate the complex nature of human intelligence as you solve these same problems effortlessly using deep learning methods.


This course provides a broad introduction to machine learning and statistical pattern recognition. It is very famous mainly because it was taught by Stanford Prof Adrew Ng.

Neural Networks for Machine Learning

Learn about artificial neural networks and how they're being used for machine learning, as applied to speech and object recognition, image segmentation, modeling language and human motion, etc. We'll emphasize both the basic algorithms and the practical tricks needed to get them to work well.

cs231n: Convolutional Neural Networks for Visual Recognition

This course is a deep dive into details of the deep learning architectures with a focus on learning end-to-end models for these tasks, particularly image classification.

cs224n: Deep Learning for Natural Language Processing

The course provides a thorough introduction to cutting-edge research in deep learning applied to NLP. On the model side we will cover word vector representations, window-based neural networks, recurrent neural networks, long-short-term-memory models, recursive neural networks, convolutional neural networks as well as some recent models involving a memory component. Through lectures and programming assignments students will learn the necessary engineering tricks for making neural networks work on practical problems.

Dave Silver's course on Reinforcement Leanring

DeepMind leader researcher Dave Silver's course which introduces reinforcement leanring.

cs294: Deep Reinforcement Learning

Deep Reinforcement Learning course by UC Berkely Prof Sergey.

Convex Optimization

This course is designed to give a graduate-level student a thorough grounding in these properties and their role in optimization, and a broad comprehension of algorithms tailored to exploit such properties. The focus will be on convex optimization problems (though we also may touch upon nonconvex optimization problems at some points). We will visit and revisit important applications in statistics and machine learning. Upon completing the course, students should be able to approach an optimization problem.

Statistical Machine Learning

The course combines methodology with theoretical foundations. Theorems are presented together with practical aspects of methodology and intuition to help students develop tools for selecting appropriate methods and approaches to problems in their own research. The course includes topics in statistical theory that are important for researchers in machine learning, including nonparametric theory, consistency, minimax estimation, and concentration of measure.

Probabilistic Graphical Models

Intorducation to Probabilistic Graphical Models by CMU prof Eric Xing.

MIT 5.S094: Deep Learning for Self-Driving Cars

This class is an introduction to the practice of deep learning through the applied theme of building a self-driving car. It is open to beginners and is designed for those who are new to machine learning, but it can also benefit advanced researchers in the field looking for a practical overview of deep learning methods and their application.

CSE 599G1: Deep Learning System

The study of how to build and optimize these deep learning systems is now an active area of research and commercialization, and yet there isn’t a course that covers this topic. This course is designed to fill this gap. We will be covering various aspects of deep learning systems, including: basics of deep learning, programming models for expressing machine learning models, automatic differentiation, memory optimization, scheduling, distributed learning, hardware acceleration, domain specific languages, and model serving.

This course was taught by one of MXNet authors Tianqi Chen, and it is worth learning.


Deep Learning with Python (Francois Chollet)

Hands-On Machine Learning with Scikit-Learn & TensorFlow

Pattern Recognition and Machine Learning