Over 200 of the Best Machine Learning, NLP, and Python Tutorials — 2018 Edition

Robbie Allen
Jul 30, 2018 · 6 min read

Let us know what you think, give us a clap down below if you like what you read, and follow @InfiniaML and @RobbieAllen on Twitter for the latest updates!

Photo by Glen Noble on Unsplash

Last year, I wrote a post that was pretty popular (161K reads in Medium), listing the best tutorials I found while digging into a number of machine learning topics. Thirteen months later and now there are dozens of new tutorials on both traditional machine learning concepts as well as the cutting-edge techniques that have emerged over the past year. The sheer volume of content that continues to be created around machine learning is staggering.

The article contains the best tutorial content that I’ve found so far. It’s by no means an exhaustive list of every ML-related tutorial on the web — that would be overwhelming and duplicative. Plus, there is a bunch of mediocre content out there. My goal was to link to the best tutorials I found on the important subtopics within machine learning and NLP.

By tutorial, I’m referring to introductory content that is intending to teach a concept succinctly. I’ve avoided including chapters of books, which have a greater breadth of coverage, and research papers, which generally don’t do a good job in teaching concepts. Why not just buy a book? Tutorials are helpful when you’re trying to learn a specific niche topic or want to get different perspectives.

I’ve split this post into four sections: Machine Learning, NLP, Python, and Math. I’ve included a sampling of topics within each section, but given the vastness of the material, I can’t possibly include every possible topic.

If there are good tutorials you are aware of that I’m missing, please let me know! I’m trying to limit each topic to five or six tutorials since much beyond that would be repetitive. Each link should have different material from the other links or present information in a different way (e.g. code versus slides versus long-form) or from a different perspective.

Machine Learning

Machine Learning is Fun! (medium.com/@ageitgey)

Rules of Machine Learning: Best Practices for ML Engineering (martin.zinkevich.org)

Machine Learning Crash Course: Part I, Part II, Part III (Machine Learning at Berkeley)

An Introduction to Machine Learning Theory and Its Applications: A Visual Tutorial with Examples (toptal.com)

A Gentle Guide to Machine Learning (monkeylearn.com)

Which machine learning algorithm should I use? (sas.com)

The Machine Learning Primer (sas.com)

Machine Learning Tutorial for Beginners (kaggle.com/kanncaa1)

Activation and Loss Functions

What is the role of the activation function in a neural network? (quora.com)

Comprehensive list of activation functions in neural networks with pros/cons(stats.stackexchange.com)

Activation functions and it’s types-Which is better? (medium.com)

Making Sense of Logarithmic Loss (exegetic.biz)

Loss Functions (Stanford CS231n)

L1 vs. L2 Loss function (rishy.github.io)

The cross-entropy cost function (neuralnetworksanddeeplearning.com)


Bias Nodes in Neural Networks (makeyourownneuralnetwork.blogspot.com)

What is bias in artificial neural network? (quora.com)


The Perception (natureofcode.com)

Single-layer Neural Networks (Perceptrons) (dcu.ie)

From Perceptrons to Deep Networks (toptal.com)


Linear Regression (ufldl.stanford.edu)

Linear Regression (readthedocs.io)

Logistic Regression (readthedocs.io)

Simple Linear Regression Tutorial for Machine Learning(machinelearningmastery.com)

Logistic Regression Tutorial for Machine Learning(machinelearningmastery.com)

Softmax Regression (ufldl.stanford.edu)

Gradient Descent

Gradient Descent (iamtrask.github.io)

How to understand Gradient Descent algorithm (kdnuggets.com)

An overview of gradient descent optimization algorithms(sebastianruder.com)

Optimization: Stochastic Gradient Descent (Stanford CS231n)

Generative Learning

A practical explanation of a Naive Bayes classifier (monkeylearn.com)

Support Vector Machines

Support Vector Machines (Stanford CS229)

Linear classification: Support Vector Machine, Softmax (Stanford 231n)


Can you give a visual explanation for the back propagation algorithm for neural networks? (github.com/rasbt)

How the backpropagation algorithm works(neuralnetworksanddeeplearning.com)

Backpropagation Through Time and Vanishing Gradients (wildml.com)

A Gentle Introduction to Backpropagation Through Time(machinelearningmastery.com)

Backpropagation, Intuitions (Stanford CS231n)

Deep Learning

Deep Learning Papers Reading Roadmap (github.com/floodsung)

Deep Learning in a Nutshell (nikhilbuduma.com)

A Tutorial on Deep Learning (Quoc V. Le)

What is Deep Learning? (machinelearningmastery.com)

What’s the Difference Between Artificial Intelligence, Machine Learning, and Deep Learning? (nvidia.com)

Deep Learning — The Straight Dope (gluon.mxnet.io)

Optimization and Dimensionality Reduction

Principal components analysis (Stanford CS229)

Dropout: A simple way to improve neural networks (Hinton @ NIPS 2012)

How to train your Deep Neural Network (rishy.github.io)

Long Short Term Memory (LSTM)

Understanding LSTM Networks (colah.github.io)

Exploring LSTMs (echen.me)

Anyone Can Learn To Code an LSTM-RNN in Python (iamtrask.github.io)

Convolutional Neural Networks (CNNs)

Deep Learning and Convolutional Neural Networks(medium.com/@ageitgey)

Conv Nets: A Modular Perspective (colah.github.io)

Understanding Convolutions (colah.github.io)

Recurrent Neural Nets (RNNs)

Attention and Augmented Recurrent Neural Networks (distill.pub)

The Unreasonable Effectiveness of Recurrent Neural Networks(karpathy.github.io)

A Deep Dive into Recurrent Neural Nets (nikhilbuduma.com)

Reinforcement Learning

A Tutorial for Reinforcement Learning (mst.edu)

Learning Reinforcement Learning (wildml.com)

Deep Reinforcement Learning: Pong from Pixels (karpathy.github.io)

Generative Adversarial Networks (GANs)

What’s a Generative Adversarial Network? (nvidia.com)

Abusing Generative Adversarial Networks to Make 8-bit Pixel Art(medium.com/@ageitgey)

An introduction to Generative Adversarial Networks (with code in TensorFlow) (aylien.com)

Generative Adversarial Networks for Beginners (oreilly.com)

Multi-task Learning


A Primer on Neural Network Models for Natural Language Processing (Yoav Goldberg)

The Definitive Guide to Natural Language Processing (monkeylearn.com)

Introduction to Natural Language Processing (algorithmia.com)

Natural Language Processing Tutorial (vikparuchuri.com)

Natural Language Processing (almost) from Scratch (arxiv.org)

Deep Learning and NLP

Deep Learning for NLP (without Magic) (Richard Socher)

Understanding Convolutional Neural Networks for NLP (wildml.com)

Deep Learning, NLP, and Representations (colah.github.io)

Embed, encode, attend, predict: The new deep learning formula for state-of-the-art NLP models (explosion.ai)

Understanding Natural Language with Deep Neural Networks Using Torch(nvidia.com)

Deep Learning for NLP with Pytorch (pytorich.org)

Word Vectors

On word embeddings Part I, Part II, Part III (sebastianruder.com)

The amazing power of word vectors (acolyer.org)

word2vec Parameter Learning Explained (arxiv.org)

Word2Vec Tutorial — The Skip-Gram Model, Negative Sampling(mccormickml.com)


Sequence to Sequence Models (tensorflow.org)

Sequence to Sequence Learning with Neural Networks (NIPS 2014)

Machine Learning is Fun Part 5: Language Translation with Deep Learning and the Magic of Sequences (medium.com/@ageitgey)

How to use an Encoder-Decoder LSTM to Echo Sequences of Random Integers(machinelearningmastery.com)

tf-seq2seq (google.github.io)


Awesome Machine Learning (github.com/josephmisiti)

7 Steps to Mastering Machine Learning With Python (kdnuggets.com)

An example machine learning notebook (nbviewer.jupyter.org)

Machine Learning with Python (tutorialspoint.com)


Implementing a Neural Network from Scratch in Python (wildml.com)

A Neural Network in 11 lines of Python (iamtrask.github.io)

Implementing Your Own k-Nearest Neighbour Algorithm Using Python(kdnuggets.com)

ML from Scatch (github.com/eriklindernoren)

Python Machine Learning (2nd Ed.) Code Repository (github.com/rasbt)

Scipy and numpy

Python Numpy Tutorial (Stanford CS231n)

An introduction to Numpy and Scipy (UCSB CHE210D)

A Crash Course in Python for Scientists (nbviewer.jupyter.org)


scikit-learn Classification Algorithms (github.com/mmmayo13)

scikit-learn Tutorials (scikit-learn.org)

Abridged scikit-learn Tutorials (github.com/mmmayo13)


Introduction to TensorFlow — CPU vs GPU (medium.com/@erikhallstrm)

TensorFlow: A primer (metaflow.fr)

RNNs in Tensorflow (wildml.com)

Implementing a CNN for Text Classification in TensorFlow (wildml.com)

How to Run Text Summarization with TensorFlow (surmenok.com)


A Gentle Intro to PyTorch (gaurav.im)

Tutorial: Deep Learning in PyTorch (iamtrask.github.io)

PyTorch Examples (github.com/jcjohnson)

PyTorch Tutorial (github.com/MorvanZhou)

PyTorch Tutorial for Deep Learning Researchers (github.com/yunjey)


Math for Machine Learning (UMIACS CMSC422)

Linear algebra

A Programmer’s Intuition for Matrix Multiplication (betterexplained.com)

Understanding the Cross Product (betterexplained.com)

Understanding the Dot Product (betterexplained.com)

Linear Algebra for Machine Learning (U. of Buffalo CSE574)

Linear algebra cheat sheet for deep learning (medium.com)

Linear Algebra Review and Reference (Stanford CS229)


Review of Probability Theory (Stanford CS229)

Probability Theory Review for Machine Learning (Stanford CS229)

Probability Theory (U. of Buffalo CSE574)

Probability Theory for Machine Learning (U. of Toronto CSC411)


How To Understand Derivatives: The Product, Power & Chain Rules(betterexplained.com)

Vector Calculus: Understanding the Gradient (betterexplained.com)

Differential Calculus (Stanford CS224n)

Calculus Overview (readthedocs.io)

For more on machine learning, visit InfiniaML.com.

Machine Learning in Practice

Practical insights for executives, managers, and project…

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store