Machine learning / AI is applied math. What kind of math? The kind you'd learn in any computer science, engineering, physics, statistics, or finance (i.e. STEM) program: calculus, linear algebra, and probability.
How do you "apply" this math? With a computer! In other words, you're going to have to know how to code. Python is the preferred programming language these days.
If you don't know these yet, don't fret! I've got you covered. Check out the "STEM Fundamentals" tab below.
Most of my courses have math (the kind mentioned above) and programming (in Python) as prerequisites. If you're ever confused about whether you're "ready" for a course, check these prerequisites. If you're having trouble understanding a course, these prerequisites will be your guide. Some courses have additional prerequisites, because you can't learn all of machine learning in one go.
Learning about AI is a very nonlinear process. Sometimes, 2 separate, unrelated courses provide background for a single course. Sometimes, one course might provide background for multiple different courses. Thus, any linear chart provides only a rough guideline. Treat it as such, and return to the fundamentals when necessary.
Legend:
Choose your category
Ok, you asked for it. What order should you take the courses in, if you want to take EVERY course?
As a general plan, I've structured this so that you get to take the "fun" courses first, where there is less theory and you get to apply libraries to interesting applications. After that, you can go "in-depth" into any particular topic that interests you.
DeepFakes & Voice Cloning: Machine Learning The Easy Way
- Nearly no code, just installing or using tools
- Should be comfortable installing and using Python libraries and notebooks
Generative AI: OpenAI API, ChatGPT, and GPT-4 in Python
- Easy Python coding, just using an API
- Geared toward those who want to apply LLMs to their own projects
- Handles text, images, and video (sound coming later)
Math 0-1: Calculus for Data Science & Machine Learning
- Alright, so if you actually want to learn machine learning, you're going to have to get serious about math.
- It all starts with calculus (assuming you have finished high school math).
- This course covers what you'd learn in calculus 1 (differentiation), 2 (integration), and 3 (vector calculus).
Math 0-1: Linear Algebra for Data Science & Machine Learning
- All about vectors, matrices, and how to manipulate them
- Why? Because that's how we represent "data" in machine learning
- A table of data (rows and columns) is just a matrix
- An image is also a matrix
- Audio and time series can be considered 1-D vectors
- Covers matrix arithmetic, determinant, inverse, and other operations, rank, definiteness, eigenvalues
Math 0-1: Matrix Calculus for Data Science & Machine Learning
- Learn how to differentiate functions with respect to vectors and matrices
- Also covers optimization techniques (gradient descent, Newton's method)
Math 0-1: Probability for Data Science & Machine Learning
- Probability is a mathematical tool for quantifying uncertainty
- You'll apply both calculus and linear algebra
- Used in nearly every machine learning / AI technique you'll learn about, from linear regression to neural networks to reinforcement learning
- Covers random variables, PMFs, PDFs, CDFs, joint, conditional, and marginal distributions, Bayes' rule, random vectors, generating functions, law of large numbers, central limit theorem
- Note: I separate probability from statistics, as most proper university-level courses do. Courses that don't tend to leave out too many important details. There's a statistics course later in this series.
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn how to apply the math you learned in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Tensorflow 2.0: Deep Learning and Artificial Intelligence
- If you want to jump right into deep learning with a relatively simple-to-use library, learn Tensorflow 2 (equivalently, Keras).
- Covers all the basic neural network architectures, from linear neurons, to basic feedforward neural networks, convolutional neural networks, and recurrent neural networks.
- This course will give you a condensed look at several application areas, including NLP, recommender systems, GANs, and reinforcement learning. These topics will also be covered more in-depth later on this path.
PyTorch: Deep Learning and Artificial Intelligence
- PyTorch is the deep learning library you eventually want to learn
- Used by major players in deep learning, such as OpenAI, Facebook / Meta, etc.
- Keras supports PyTorch as a backend, so you can combine what you learned in this course with what you learned previously
Financial Engineering and Artificial Intelligence in Python
- At this point, students are often interested in looking at one of the application areas more in-depth (I've noticed that reinforcement learning is pretty popular). If that is the case, feel free to skip ahead. Otherwise, we'll continue on with more application-focused courses.
- One application students are particular interested in is finance and algorithmic trading.
Financial Analysis: Build a ChatGPT Pairs Trading Bot
- There are more trading algorithms out there! One popular algorithm, called Pairs Trading, is explored with the help of ChatGPT.
Time Series Analysis, Forecasting, and Machine Learning
- Next, enhance your knowledge of time series with Time Series Analysis. While the financial engineering course introduces you to fundamental tools like Holt-Winters and ARIMA, this course goes much more in-depth. You'll learn about more advanced models such as GARCH.
Data Science: Time Series Forecasting with Facebook Prophet in Python
- As an alternative to the full Time Series course, if you for some reason only want to learn about Facebook Prophet (one of the VIP sections of the Time Series course), I have an individual course on that.
Machine Learning: Natural Language Processing in Python (V2)
- How machine learning can be used with text (mostly application-focused with a bit of math)
- Vector / bag of words representations of text and text preprocessing
- Information retrieval systems
- Probabilistic sequence models, language models
- Machine learning approaches (both supervised and unsupervised)
- Deep learning (neural network) approaches
Data Science: Natural Language Processing (NLP) in Python
- If you took "Data Science: Natural Language Processing in Python", note that it has been superseded by "Machine Learning: Natural Language Processing in Python (V2)". If you are new, just take V2. Of course, if you want to take both, I am always grateful for your support.
Deep Learning Prerequisites: Linear Regression in Python
- The above courses give you a good overview of various application areas, but they don't cover any particular machine learning algorithm in-depth. If you're like me, then you are super curious and you must know how they work. This is good! This mindset will get you to the point where you can even invent your own algorithms! (The alternative mindset being, just copy what other people do and only use things other people have built... no good!)
- To embark on our in-depth journey, we shall go back to the beginning (linear regression).
- Linear models for classification and regression form the basis of neural networks
- Start with linear regression, since there is a closed-form solution
Deep Learning Prerequisites: Logistic Regression in Python
- Logistic regression is a model of the "neuron"
- The neuron is the building block for neural networks
Data Science: Supervised Machine Learning in Python
- Before moving on to neural networks, get to know other, more interesting supervised machine learning models.
- K-Nearest Neighbor, Decision Trees, Perceptron, Naive Bayes
- How to deploy your model to a server / API web service!
Data Science and Machine Learning: Naive Bayes in Python
- Naive Bayes, covered in much more detail than the Supervised Machine Learning course.
- I am working on replacing that course.
Linear Programming for Linear Regression in Python
- A different approach to linear regression with absolute error (and other kinds) instead of squared error
- Leads to a useful technique we'll explore in detail called Linear Programming
Cluster Analysis and Unsupervised Machine Learning in Python
- Let's now explore the world of unsupervised learning (for data without labels)
- K-means clustering, hierarchical clustering, and Gaussian mixture models
- Expectation-maximization algorithm (applied again later with HMMs)
Ensemble Machine Learning in Python: Random Forest, AdaBoost
- Learn how to combine decision trees (and other ML models) to create even more powerful models called ensembles
- Covers an important ML/statistical learning concept: the Bias-Variance tradeoff
- 2 essential approaches: Random Forest and AdaBoost
Machine Learning and AI: Support Vector Machines in Python
- Another very powerful ML model
- Start with Linear SVM and find the optimal separating line/hyperplane (why is it more optimal than logistic regression and perceptron?)
- Extend SVM to the nonlinear case with the "kernel trick"
- Also learn how to apply Kernel Methods to other ML models, both supervised and unsupervised
- Extend SVM to multiclass case and regression case
- Another look at quadratic programming (QP) also covered in finance course
Unsupervised Machine Learning: Hidden Markov Models in Python
- Ok, back to unsupervised learning. Classic machine learning methods also look at sequence models. Among the most popular is the Hidden Markov Model (HMM).
- HMMs have been successfully used for speech recognition, biological sequence (e.g. DNA and RNA) analysis, and stock trading.
- Fun fact: HMMs were used early on at Renaissance Technologies (a.k.a. RenTech - then called Monemetrics), which is one of the most popular and successful quantitative hedge funds. Not only did they use HMMs, they hired Leonard Baum, one of the inventors of the famous "Baum-Welch Algorithm" used for training HMMs.
- The HMM course draws on knowledge from the Cluster Analysis course, specifically the EM (expectation-maximization) algorithm and Gaussian Mixture Models (GMMs).
Data Science: Deep Learning and Neural Networks in Python
- At this point, it's time to turn our attention back to neural networks and deep learning.
- "Deep learning" is really just neural networks. Learn about how neural networks really work, especially the backpropagation algorithm
- This course heavily depends on your calculus skills
Data Science: Modern Deep Learning in Python
- Learn about modern deep learning techniques (momentum, RMSprop, Adam, batch norm, dropout, mini-batch gradient descent, how to use the GPU to accelerate computation, and modern deep learning libraries)
Deep Learning: Convolutional Neural Networks in Python
- Apply the deep learning techniques you've learned to convolutional neural networks - neural networks specially designed for processing images.
Unsupervised Deep Learning in Python
- Gain further insight with unsupervised deep learning. Very useful for understanding how the intermediate layers of a neural network give you "latent representations" of the input image / text / etc.
Deep Learning: Recurrent Neural Networks in Python
- Apply the deep learning techniques you've learned to sequential data (time series and text)
- Simple recurrent unit, LSTM, GRU
- What happens if you try to predict stock prices? What are so many others doing wrong?
Natural Language Processing with Deep Learning in Python
- In-depth into word embeddings: word2vec and GloVe
- Code them from scratch! (without autodiff libraries like Tensorflow / PyTorch, but we use those as well)
- POS tagging and NER with sequential models
- Recursive neural networks and recursive neural tensor networks (RNTNs) (i.e. tree neural networks)
Classical Statistical Inference and A/B Testing in Python
- You've now learned about some fundamental neural network and machine learning architectures in-depth. It is now time to apply them. I put this here because students are usually more interested to learn "the cool AI stuff" instead of the "boring math stuff" first.
- One interesting area we haven't touched on yet is statistics. And yet, machine learning is rooted in statistics! Let's fix that gap.
- Covers essentially 2 core topics: maximum likelihood estimation along with confidence intervals (how accurate the estimate is), and hypotheis testing
Bayesian Machine Learning in Python: A/B Testing
- There are some problems with classical statistics and the often-used "p-value".
- Let us now learn about some online, adaptive, and Bayesian approaches.
- Extremely useful for online business, online advertising, and online marketing.
Recommender Systems and Deep Learning in Python
- Will apply the Bayesian bandit method again, but this time in the context of sorting feeds (e.g. news feeds, Instagram feeds, ...)
- Matrix factorization will apply what you learned in linear regression
- We'll also apply Restricted Boltzmann Machines (RBMs) (unsupervised deep learning)
Deep Learning: Advanced Computer Vision (GANs, SSD, +More!)
- Let's now turn our attention to another application area: computer vision
- Note: there's no dependency on other application areas (e.g. NLP, recommender systems, RL)
- Apply the previous deep learning insights to the modern technique of transfer learning. Learn to apply it to other computer vision applications, like object detection and neural style transfer.
Machine Learning: Modern Computer Vision & Generative AI
- Use KerasCV, Python, Tensorflow, PyTorch, & JAX for Image Recognition, Object Detection, and Stable Diffusion
- Learn to train your own object detector
- Learn how to build your own object detection dataset
- Unlike the earlier computer vision course, this one is entirely practical - no real math, just how to do stuff
Deep Learning: GANs and Variational Autoencoders
- Learn how neural networks and computer vision can be used to not just analyze images, but generate them too.
- GANs were used long before diffusion models and also work much faster.
Deep Learning: Advanced NLP and RNNs
- Dives deeper into sequential models with bidirectional RNNs and seq2seq
- Introduces the all-important "attention" mechanism (precursor to transformers)
- Neural machine translation
- Memory networks
Data Science: Transformers for Natural Language Processing
- Massive course split into beginner, intermediate, and advanced sections
- Beginner: focus on Hugging Face plug-and-play library with pretrained models and pipelines
- Many applications including sentiment analysis, text summarization, text generation, question-answering
- Intermediate: fine-tuning Hugging Face models with applications to text classification and sequence classification
- Advanced: build transformers from scratch
Artificial Intelligence: Reinforcement Learning in Python
- I place reinforcement learning last because it's the most challenging to both understand and implement correctly
- Bandit algorithms
- Markov Decision Processes (MDPs), Bellman Equations
- Policy Iteration, Value Iteration
- Basic approaches to RL: Dynamic Programming (DP), Monte Carlo (MC) Methods, and Temporal Difference (TD) Learning
- Apply function approximation to RL - later of course, the "function approximator" will be a deep neural network
Advanced AI: Deep Reinforcement Learning in PyTorch (v2)
- How to make reinforcement learning "work" when you incorporate neural networks
- DQN / Deep Q-Learning
- Policy Gradient, Actor-Critic methods
- REINFORCE, A2C
- This is the updated version of this course
Cutting-Edge AI: Deep Reinforcement Learning in Python
- Continue learning about deep reinforcement learning methods
- Evolutionary algorithms ("evolution strategies")
- A2C (an Actor-Critic method related to A3C)
- DDPG (Deep Deterministic Policy Gradient)
- More complex environments (Flappy Bird, MuJoCo, Atari games)
Data Science: Bayesian Linear Regression in Python
- One area of machine learning we've only briefly touched on at this point is Bayesian Machine Learning (through the A/B Testing course). But the above course doesn't cover what people "traditionally" think of as machine learning (e.g. regression, classification, clustering, etc.). In order to apply the Bayesian approach to these models, we will look at them in roughly the same order as above (starting with linear regression, then linear classification, then unsupervised learning, etc.)
Data Science: Bayesian Classification in Python
- Implement a "Bayesian" Bayes Classifier (different from the Bayes classifiers discussed earlier)
Complete SQL Bootcamp for Data Science, Analytics, Marketing
- More on the practical side of things. How do we actually store data in a web application? No, we don't store everything in Pandas DataFrames, you silly data scientist! We use databases. The most common type of database is the relational database, some examples of which are MySQL, PostgreSQL, and SQLite.
This path is intended for business users of AI / artificial intelligence, who want to apply state-of-the-art AI models without having to understand the technical complexities of implementing such models. These courses focus mainly on existing libraries and APIs. As such, there are generally no prerequisites other than Python coding and command line usage.
DeepFakes & Voice Cloning: Machine Learning The Easy Way
- Nearly no code, just installing or using tools
- Should be comfortable installing and using Python libraries and notebooks
Generative AI: OpenAI API, ChatGPT, and GPT-4 in Python
- Easy Python coding, just using an API
- Geared toward those who want to apply LLMs to their own projects
- Handles text, images, and video (sound coming later)
Machine Learning: Modern Computer Vision & Generative AI
- More technical, but you can skip that stuff if you're not ready (e.g. object detection), and just focus on the Stable Diffusion part (generating images)
- Use KerasCV, Python, Tensorflow, PyTorch, & JAX for Image Recognition, Object Detection, and Stable Diffusion
- Learn to train your own object detector
- Learn how to build your own object detection dataset
Data Science: Transformers for Natural Language Processing
- Also a highly technical course, but you can skip the advanced sections and focus only on the one-liners if you just want practical applications
- Massive course split into beginner, intermediate, and advanced sections
- Beginner: focus on Hugging Face plug-and-play library with pretrained models and pipelines
- Many applications including sentiment analysis, text summarization, text generation, question-answering
- Intermediate: fine-tuning Hugging Face models with applications to text classification and sequence classification
- Advanced: build transformers from scratch
Math for Data Science & Machine Learning
- Optional: take only if you need to review or you don't recognize the course content (don't just go by the title, check the course descriptions and curricula)
- Not a single course - see all courses listed below
- Calculus: differentiation and partial differentation are the most relevant
- Linear Algebra: matrices, vectors, inner products, rank, inverse, determinant, linear systems, eigenvalues
- Matrix Calculus: apply calculus to vectors and matrices (these are the "objects" we deal with in machine learning and AI)
- Probability: random variables, PMFs, PDFs, CDFs, law of large numbers, central limit theorem, generating functions
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn how to apply the math you learned in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Deep Learning Prerequisites: Linear Regression in Python
- Linear models for classification and regression form the basis of neural networks
- Start with linear regression, since there is a closed-form solution
Deep Learning Prerequisites: Logistic Regression in Python
- Logistic regression is a model of the "neuron"
- The neuron is the building block for neural networks
Data Science: Deep Learning and Neural Networks in Python
- "Deep learning" is really just neural networks. Learn about how neural networks really work, especially the backpropagation algorithm
- This course heavily depends on your calculus skills
Data Science: Modern Deep Learning in Python
- Learn about modern deep learning techniques (momentum, RMSprop, Adam, batch norm, dropout, mini-batch gradient descent, how to use the GPU to accelerate computation, and modern deep learning libraries)
Deep Learning: Convolutional Neural Networks in Python
- Apply the deep learning techniques you've learned to convolutional neural networks - neural networks specially designed for processing images.
Unsupervised Deep Learning in Python
- Gain further insight with unsupervised deep learning. Very useful for understanding how the intermediate layers of a neural network give you "latent representations" of the input image / text / etc.
Deep Learning: Recurrent Neural Networks in Python
- Apply the deep learning techniques you've learned to sequential data (time series and text)
- Simple recurrent unit, LSTM, GRU
- What happens if you try to predict stock prices? What are so many others doing wrong?
Tensorflow 2.0: Deep Learning and Artificial Intelligence
- Take a short break from "in-depth" study and learn about Tensorflow 2 and PyTorch, the most popular modern deep learning libraries today. These will give you a condensed look at several application areas, including NLP, recommender systems, GANs, and reinforcement learning. These topics will also be covered more in-depth later on this path.
- Tensorflow 2 is centered around the Keras API, which is a high-level API that makes a lot of deep learning super easy
PyTorch: Deep Learning and Artificial Intelligence
- PyTorch is the deep learning library you eventually want to learn
- Used by major players in deep learning, such as OpenAI, Facebook / Meta, etc.
- Keras supports PyTorch as a backend, so you can combine what you learned in this course with what you learned previously
- There are several application areas you can branch out to, and they don't necessarily have to be done in sequence (i.e. there's no reason you need to cover computer vision before NLP, or vice versa). So the below ordering is flexible.
- The main application areas are: computer vision, NLP, reinforcement learning, and recommender systems.
Deep Learning: Advanced Computer Vision (GANs, SSD, +More!)
- Apply the previous insights to the modern technique of transfer learning. Learn to apply it to other computer vision applications, like object detection and neural style transfer.
Machine Learning: Modern Computer Vision & Generative AI
- Use KerasCV, Python, Tensorflow, PyTorch, & JAX for Image Recognition, Object Detection, and Stable Diffusion
- Learn to train your own object detector
- Learn how to build your own object detection dataset
- Unlike the earlier computer vision course, this one is entirely practical - no real math, just how to do stuff
Deep Learning: GANs and Variational Autoencoders
- Learn how neural networks and computer vision can be used to not just analyze images, but generate them too.
- GANs were used long before diffusion models and also work much faster.
Machine Learning: Natural Language Processing in Python (V2)
- How deep learning can be used with text
- Vector / bag of words representations of text and text preprocessing
- Information retrieval systems
- Probabilistic sequence models, language models
- Machine learning approaches (both supervised and unsupervised)
- Deep learning (neural network) approaches
Data Science: Natural Language Processing (NLP) in Python
- If you took "Data Science: Natural Language Processing in Python", note that it has been superseded by "Machine Learning: Natural Language Processing in Python (V2)". If you are new, just take V2. Of course, if you want to take both, I am always grateful for your support.
Natural Language Processing with Deep Learning in Python
- In-depth into word embeddings: word2vec and GloVe
- Code them from scratch! (without autodiff libraries like Tensorflow / PyTorch, but we use those as well)
- POS tagging and NER with sequential models
- Recursive neural networks and recursive neural tensor networks (RNTNs) (i.e. tree neural networks)
Deep Learning: Advanced NLP and RNNs
- Dives deeper into sequential models with bidirectional RNNs and seq2seq
- Introduces the all-important "attention" mechanism (precursor to transformers)
- Neural machine translation
- Memory networks
Data Science: Transformers for Natural Language Processing
- Massive course split into beginner, intermediate, and advanced sections
- Beginner: focus on Hugging Face plug-and-play library with pretrained models and pipelines
- Many applications including sentiment analysis, text summarization, text generation, question-answering
- Intermediate: fine-tuning Hugging Face models with applications to text classification and sequence classification
- Advanced: build transformers from scratch
Recommender Systems and Deep Learning in Python
- Remember this course can be taken at any time after you know the basics! (after you learn Keras/Tensorflow 2)
- Matrix factorization will apply what you learned in linear regression
- We'll also apply Restricted Boltzmann Machines (RBMs) (unsupervised deep learning)
Artificial Intelligence: Reinforcement Learning in Python
- This course doesn't contain any deep learning, but it's a prerequisite for deep reinforcement learning, which does
- Bandit algorithms
- Markov Decision Processes (MDPs), Bellman Equations
- Policy Iteration, Value Iteration
- Basic approaches to RL: Dynamic Programming (DP), Monte Carlo (MC) Methods, and Temporal Difference (TD) Learning
- Apply function approximation to RL - later of course, the "function approximator" will be a deep neural network
Advanced AI: Deep Reinforcement Learning in Python
- How to make reinforcement learning "work" when you incorporate neural networks
- DQN / Deep Q-Learning
- Policy Gradient, Actor-Critic methods
- REINFORCE, A2C
- This is the updated version of this course
Cutting-Edge AI: Deep Reinforcement Learning in Python
- Continue learning about deep reinforcement learning methods
- Evolutionary algorithms ("evolution strategies")
- A2C (an Actor-Critic method related to A3C)
- DDPG (Deep Deterministic Policy Gradient)
- More complex environments (Flappy Bird, MuJoCo, Atari games)
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- This path doesn't focus on math, but deep learning is mathematical in nature, so while you won't learn math here, you will apply it, as it doesn't make sense to remove math entirely
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Tensorflow 2.0: Deep Learning and Artificial Intelligence
- Tensorflow 2 is centered around the Keras API, which is a high-level API that makes a lot of deep learning super easy
- This will take you from beginner to advanced with applied deep learning. There is some math in the course, but this is for intuition only and can be considered optional (it's only intuitive if you actually know math and have some familiarity with machine learning basics). You'll start with linear models, then feedforward neural networks, then specialized networks like convolutional neural networks and recurrent neural networks. Through this process, you'll learn how to deal with tabular data, image data, time series data, and text data.
- After learning about the basic architectures, you'll then apply those neural networks to various areas of application, like NLP, recommender systems, GANs, computer vision with transfer learning, and deep reinforcement learning for stock trading.
- While this may seem like a large amount of topics, note that it is condensed. It is not meant to give you an in-depth view (that's what the "in-depth program" is for!), but rather, a brief look at a wide array of applications. As an example, in this course, linear regression is half a section, while in the "in-depth program" it comprises an entire course.
- If at any point, you find yourself wondering, "but how does this actually work?", then you are a good candidate for the in-depth series.
PyTorch: Deep Learning and Artificial Intelligence
- PyTorch is the deep learning library you eventually want to learn
- Used by major players in deep learning, such as OpenAI, Facebook / Meta, etc.
- Keras supports PyTorch as a backend, so you can combine what you learned in this course with what you learned previously
- There are several application areas you can branch out to, and they don't necessarily have to be done in sequence (i.e. there's no reason you need to cover computer vision before NLP, or vice versa). So the below ordering is flexible.
- The main application areas are: computer vision, NLP, reinforcement learning, and recommender systems.
Deep Learning: Advanced Computer Vision (GANs, SSD, +More!)
- Apply the previous insights to the modern technique of transfer learning. Learn to apply it to other computer vision applications, like object detection and neural style transfer.
Machine Learning: Modern Computer Vision & Generative AI
- Use KerasCV, Python, Tensorflow, PyTorch, & JAX for Image Recognition, Object Detection, and Stable Diffusion
- Learn to train your own object detector
- Learn how to build your own object detection dataset
- Unlike the earlier computer vision course, this one is entirely practical - no real math, just how to do stuff
Machine Learning: Natural Language Processing in Python (V2)
- How deep learning can be used with text
- Vector / bag of words representations of text and text preprocessing
- Information retrieval systems
- Probabilistic sequence models, language models
- Machine learning approaches (both supervised and unsupervised)
- Deep learning (neural network) approaches
Deep Learning: Advanced NLP and RNNs
- Dives deeper into sequential models with bidirectional RNNs and seq2seq
- Introduces the all-important "attention" mechanism (precursor to transformers)
- Neural machine translation
- Memory networks
Data Science: Transformers for Natural Language Processing
- Massive course split into beginner, intermediate, and advanced sections
- Beginner: focus on Hugging Face plug-and-play library with pretrained models and pipelines
- Many applications including sentiment analysis, text summarization, text generation, question-answering
- Intermediate: fine-tuning Hugging Face models with applications to text classification and sequence classification
- Advanced: build transformers from scratch
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn the basics of numerical and scientific computing in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Deep Learning Prerequisites: Linear Regression in Python
- The next step is to learn about simple linear models for supervised learning (both classification and regression). "Simple" in this case does not imply "less useful". In fact, linear models will probably be the most used, due to their simplicity and importantly, their interpretability. This will be extremely valuable when pitching your technology to stakeholders.
Deep Learning Prerequisites: Logistic Regression in Python
- Again, very practical and interpretable. Example use-cases: predict whether or not the user will purchase an item, predict the amount of sales given adspend, detect fraudulent behavior on your website.
Data Science: Supervised Machine Learning in Python
- Before moving on to neural networks, get to know other, more interesting supervised machine learning models.
- K-Nearest Neighbor, Decision Trees, Perceptron, Naive Bayes
- How to deploy your model to a server / API web service!
Data Science and Machine Learning: Naive Bayes in Python
- Naive Bayes, covered in much more detail than the Supervised Machine Learning course.
- I am working on replacing that course.
Ensemble Machine Learning in Python: Random Forest, AdaBoost
- Learn how to combine decision trees (and other ML models) to create even more powerful models called ensembles
- Covers an important ML/statistical learning concept: the Bias-Variance tradeoff
- 2 essential approaches: Random Forest and AdaBoost
Cluster Analysis and Unsupervised Machine Learning in Python
- Let's now explore the world of unsupervised learning (for data without labels)
- Can be taken prior to or in parallel with above supervised ML courses
- Business people love clustering
- K-means clustering, hierarchical clustering, and Gaussian mixture models
- Expectation-maximization algorithm (applied again later with HMMs)
Bayesian Machine Learning in Python: A/B Testing
- One of the most practical techniques for business: A/B Testing. Is advertisement A better than advertisement B? Is sales copy A better than sales copy B? Answer these questions quantitatively. Additionally, the more advanced techniques you will learn will allow you to build adaptive systems that "learn" on-the-fly.
- Extremely useful for online business, online advertising, and online marketing.
Recommender Systems and Deep Learning in Python
- Will apply the Bayesian bandit method again, but this time in the context of sorting feeds (e.g. news feeds, Instagram feeds, ...)
- Another extremely practical set of algorithms used by all the biggest tech companies, such as Google, Facebook, Netflix, Amazon, etc. - recommender systems. Whenever you display a list of products to the user, you'd like to do so intelligently. Show users the products they are most likely to purchase or rate highly.
Math for Data Science & Machine Learning
- Optional: take only if you need to review or you don't recognize the course content (don't just go by the title, check the course descriptions and curricula)
- Not a single course - see all courses listed below
- Calculus: differentiation and partial differentation are the most relevant
- Linear Algebra: matrices, vectors, inner products, rank, inverse, determinant, linear systems, eigenvalues
- Matrix Calculus: apply calculus to vectors and matrices (these are the "objects" we deal with in machine learning and AI)
- Probability: random variables, PMFs, PDFs, CDFs, law of large numbers, central limit theorem, generating functions
- Note: you need to be strong in probability to understand reinforcement learning
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn how to apply the math you learned in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Deep Learning Prerequisites: Linear Regression in Python
- Linear models for classification and regression form the basis of neural networks
- Start with linear regression, since there is a closed-form solution
Deep Learning Prerequisites: Logistic Regression in Python
- Logistic regression is a model of the "neuron"
- The neuron is the building block for neural networks
Data Science: Deep Learning and Neural Networks in Python
- "Deep learning" is really just neural networks. Learn about how neural networks really work, especially the backpropagation algorithm
- This course heavily depends on your calculus skills
Data Science: Modern Deep Learning in Python
- Learn about modern deep learning techniques (momentum, RMSprop, Adam, batch norm, dropout, mini-batch gradient descent, how to use the GPU to accelerate computation, and modern deep learning libraries)
Artificial Intelligence: Reinforcement Learning in Python
- Take a break from deep learning, learn the basics of RL
- Bandit algorithms
- Markov Decision Processes (MDPs), Bellman Equations
- Policy Iteration, Value Iteration
- Basic approaches to RL: Dynamic Programming (DP), Monte Carlo (MC) Methods, and Temporal Difference (TD) Learning
- Apply function approximation to RL - later of course, the "function approximator" will be a deep neural network
Tensorflow 2.0: Deep Learning and Artificial Intelligence
- Take a short break from "in-depth" study and learn about Tensorflow 2 and PyTorch, the most popular modern deep learning libraries today. These will give you a condensed look at several application areas, including NLP, recommender systems, GANs, and reinforcement learning. These topics will also be covered more in-depth later on this path.
- Tensorflow 2 is centered around the Keras API, which is a high-level API that makes a lot of deep learning super easy
PyTorch: Deep Learning and Artificial Intelligence
- PyTorch is the deep learning library you eventually want to learn
- Used by major players in deep learning, such as OpenAI, Facebook / Meta, etc.
- Keras supports PyTorch as a backend, so you can combine what you learned in this course with what you learned previously
- There are several application areas you can branch out to, and they don't necessarily have to be done in sequence (i.e. there's no reason you need to cover computer vision before NLP, or vice versa). So the below ordering is flexible.
- The main application areas are: computer vision, NLP, reinforcement learning, and recommender systems.
Advanced AI: Deep Reinforcement Learning in PyTorch (v2)
- It's now time to apply deep learning to reinforcement learning. Here the 2 subjects converge.
- How to make reinforcement learning "work" when you incorporate neural networks
- DQN / Deep Q-Learning
- Policy Gradient, Actor-Critic methods
- REINFORCE, A2C
- This is the updated version of this course
Cutting-Edge AI: Deep Reinforcement Learning in Python
- Continue learning about deep reinforcement learning methods
- Evolutionary algorithms ("evolution strategies")
- A2C (an Actor-Critic method related to A3C)
- DDPG (Deep Deterministic Policy Gradient)
- More complex environments (Flappy Bird, MuJoCo, Atari games)
Math for Data Science & Machine Learning
- Optional: take only if you need to review or you don't recognize the course content (don't just go by the title, check the course descriptions and curricula)
- Not a single course - see all courses listed below
- Calculus: differentiation and partial differentation are the most relevant
- Linear Algebra: matrices, vectors, inner products, rank, inverse, determinant, linear systems, eigenvalues
- Matrix Calculus: apply calculus to vectors and matrices (these are the "objects" we deal with in machine learning and AI)
- Probability: random variables, PMFs, PDFs, CDFs, law of large numbers, central limit theorem, generating functions
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn how to apply the math you learned in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Deep Learning Prerequisites: Linear Regression in Python
- Linear models for classification and regression form the basis of neural networks
- Start with linear regression, since there is a closed-form solution
Deep Learning Prerequisites: Logistic Regression in Python
- Logistic regression is a model of the "neuron"
- The neuron is the building block for neural networks
Data Science: Deep Learning and Neural Networks in Python
- "Deep learning" is really just neural networks. Learn about how neural networks really work, especially the backpropagation algorithm
- This course heavily depends on your calculus skills
Data Science: Modern Deep Learning in Python
- Learn about modern deep learning techniques (momentum, RMSprop, Adam, batch norm, dropout, mini-batch gradient descent, how to use the GPU to accelerate computation, and modern deep learning libraries)
Deep Learning: Convolutional Neural Networks in Python
- Apply the deep learning techniques you've learned to convolutional neural networks - neural networks specially designed for processing images.
Unsupervised Deep Learning in Python
- Gain further insight with unsupervised deep learning. Very useful for understanding how the intermediate layers of a neural network give you "latent representations" of the input image / text / etc.
Deep Learning: Advanced Computer Vision (GANs, SSD, +More!)
- Apply the previous insights to the modern technique of transfer learning. Learn to apply it to other computer vision applications, like object detection and neural style transfer.
Deep Learning: GANs and Variational Autoencoders
- Learn how neural networks and computer vision can be used to not just analyze images, but generate them too.
- GANs were used long before diffusion models and also work much faster.
Machine Learning: Modern Computer Vision & Generative AI
- Use KerasCV, Python, Tensorflow, PyTorch, & JAX for Image Recognition, Object Detection, and Stable Diffusion
- Learn to train your own object detector
- Learn how to build your own object detection dataset
- Unlike the earlier computer vision course, this one is entirely practical - no real math, just how to do stuff
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- TLearn the basics of numerical and scientific computing in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Machine Learning: Natural Language Processing in Python (V2)
- How deep learning can be used with text
- Vector / bag of words representations of text and text preprocessing
- Information retrieval systems
- Probabilistic sequence models, language models
- Machine learning approaches (both supervised and unsupervised)
- Deep learning (neural network) approaches
Data Science: Natural Language Processing (NLP) in Python
- If you took "Data Science: Natural Language Processing in Python", note that it has been superseded by "Machine Learning: Natural Language Processing in Python (V2)". If you are new, just take V2. Of course, if you want to take both, I am always grateful for your support.
- If you already took this course in the past, move on to Tensorflow 2 instead of NLP (V2)
Tensorflow 2.0: Deep Learning and Artificial Intelligence
- Take a short break from "in-depth" study and learn about Tensorflow 2 and PyTorch, the most popular modern deep learning libraries today. These will give you a condensed look at several application areas, including NLP, recommender systems, GANs, and reinforcement learning. These topics will also be covered more in-depth later on this path.
- Tensorflow 2 is centered around the Keras API, which is a high-level API that makes a lot of deep learning super easy
PyTorch: Deep Learning and Artificial Intelligence
- PyTorch is the deep learning library you eventually want to learn
- Used by major players in deep learning, such as OpenAI, Facebook / Meta, etc.
- Keras supports PyTorch as a backend, so you can combine what you learned in this course with what you learned previously
- There are several application areas you can branch out to, and they don't necessarily have to be done in sequence (i.e. there's no reason you need to cover computer vision before NLP, or vice versa). So the below ordering is flexible.
- The main application areas are: computer vision, NLP, reinforcement learning, and recommender systems.
Deep Learning Prerequisites: Linear Regression in Python
- Linear models for classification and regression form the basis of neural networks
- Start with linear regression, since there is a closed-form solution
Deep Learning Prerequisites: Logistic Regression in Python
- Logistic regression is a model of the "neuron"
- The neuron is the building block for neural networks
Data Science: Deep Learning and Neural Networks in Python
- "Deep learning" is really just neural networks. Learn about how neural networks really work, especially the backpropagation algorithm
- This course heavily depends on your calculus skills
Data Science: Modern Deep Learning in Python
- Learn about modern deep learning techniques (momentum, RMSprop, Adam, batch norm, dropout, mini-batch gradient descent, how to use the GPU to accelerate computation, and modern deep learning libraries)
Deep Learning: Convolutional Neural Networks in Python
- Apply the deep learning techniques you've learned to convolutional neural networks - neural networks specially designed for processing images.
Unsupervised Deep Learning in Python
- Gain further insight with unsupervised deep learning. Very useful for understanding how the intermediate layers of a neural network give you "latent representations" of the input image / text / etc.
Deep Learning: Recurrent Neural Networks in Python
- Apply the deep learning techniques you've learned to sequential data (time series and text)
- Simple recurrent unit, LSTM, GRU
- What happens if you try to predict stock prices? What are so many others doing wrong?
Natural Language Processing with Deep Learning in Python
- In-depth into word embeddings: word2vec and GloVe
- Code them from scratch! (without autodiff libraries like Tensorflow / PyTorch, but we use those as well)
- POS tagging and NER with sequential models
- Recursive neural networks and recursive neural tensor networks (RNTNs) (i.e. tree neural networks)
Deep Learning: Advanced NLP and RNNs
- Dives deeper into sequential models with bidirectional RNNs and seq2seq
- Introduces the all-important "attention" mechanism (precursor to transformers)
- Neural machine translation
- Memory networks
Data Science: Transformers for Natural Language Processing
- Massive course split into beginner, intermediate, and advanced sections
- Beginner: focus on Hugging Face plug-and-play library with pretrained models and pipelines
- Many applications including sentiment analysis, text summarization, text generation, question-answering
- Intermediate: fine-tuning Hugging Face models with applications to text classification and sequence classification
- Advanced: build transformers from scratch

Generative AI: OpenAI API, ChatGPT, and GPT-4 in Python
- As you may already know, transformers are what drive the latest mainstream AIs, like ChatGPT, GPT-4, Mistral, Google's Gemini, Meta's Llama, etc. At this level, the main architecture hasn't really changed (they're still transformers), but the way we work with them is different. You won't be training your own ChatGPT. But you will be using it! The following courses are designed to teach you how to use technologies like ChatGPT effectively, focusing mainly on their APIs (rather than more general topics like prompt engineering, though we do cover that as well). The goal is to stay within the world of programming and building tools / applications, while making use of the latest state-of-the-art LLMs. Although I've placed these at the end of the ordering, this doesn't imply that you have to take these courses last. In fact, all that is required is a bit of programming knowledge. However, to fully appreciate what these LLMs are doing, you'll want to have a good handle on the aforementioned NLP topics.
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn the basics of numerical and scientific computing in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Bayesian Machine Learning in Python: A/B Testing
- This will introduce you to Bayesian inference in an applied setting. For instance, how to estimate the click-through rate of an advertisement or the conversion rate of a sales page. The methods you will learn in this course are very practical and can be used for just about any online business. You'll learn the difference between the classical (frequentist) and Bayesian approaches. You'll learn about hypothesis testing (i.e. "Which article performs better, A or B?"). But most importantly, this course will teach you how to use Bayes' rule. The key point you will learn is that instead of making point estimates, your estimates will be expressed as probability distributions.
- The above course doesn't cover what people "traditionally" think of as machine learning (e.g. regression, classification, clustering, etc.). Before you move on to Bayesian Linear Regression, Bayesian Classification, Bayesian Clustering, etc... it is suggested that you learn about their "non-Bayesian" variants first. The "Bayesian" component adds quite a bit more difficulty in terms of math.
- As such, the following machine learning courses are strongly recommended, but not necessarily required (e.g. Bayesian linear regression doesn't strictly depend on clustering, but it does depend on linear regression).
Deep Learning Prerequisites: Linear Regression in Python
- The next step is to learn about simple linear models for supervised learning (both classification and regression). "Simple" in this case does not imply "less useful". In fact, linear models will probably be the most used, due to their simplicity and importantly, their interpretability. This will be extremely valuable when pitching your technology to stakeholders.
Deep Learning Prerequisites: Logistic Regression in Python
- Again, very practical and interpretable. Example use-cases: predict whether or not the user will purchase an item, predict the amount of sales given adspend, detect fraudulent behavior on your website.
Cluster Analysis and Unsupervised Machine Learning in Python
- Let's now explore the world of unsupervised learning (for data without labels)
- K-means clustering, hierarchical clustering, and Gaussian mixture models
- Expectation-maximization algorithm (applied again later with HMMs)
Data Science: Bayesian Linear Regression in Python
- One area of machine learning we've only briefly touched on at this point is Bayesian Machine Learning (through the A/B Testing course). But the above course doesn't cover what people "traditionally" think of as machine learning (e.g. regression, classification, clustering, etc.). In order to apply the Bayesian approach to these models, we will look at them in roughly the same order as above (starting with linear regression, then linear classification, then unsupervised learning, etc.)
Data Science and Machine Learning: Naive Bayes in Python
- Naive Bayes, covered in much more detail than the Supervised Machine Learning course.
- I am working on replacing that course.
Data Science: Bayesian Classification in Python
- Implement a "Bayesian" Bayes Classifier (different from the Bayes classifiers discussed earlier)
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn the basics of numerical and scientific computing in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Classical Statistical Inference and A/B Testing in Python
- Statistics will be your primary tool in both finance and time series analysis. Most techniques rely on statistics. Start with this primer.
Financial Engineering and Artificial Intelligence in Python
- Then, jump right into finance. This course is huge.
- Note that while the above course does give you a brief overview of several advanced machine learning techniques, like reinforcement learning, HMMs, GMMs, and PCA, you might want to learn about them more in depth. The below courses can help with that.
Cluster Analysis and Unsupervised Machine Learning in Python
- Let's now explore the world of unsupervised learning (for data without labels)
- K-means clustering, hierarchical clustering, and Gaussian mixture models
- Expectation-maximization algorithm (applied again later with HMMs)
Unsupervised Machine Learning: Hidden Markov Models in Python
- Ok, back to unsupervised learning. Classic machine learning methods also look at sequence models. Among the most popular is the Hidden Markov Model (HMM).
- HMMs have been successfully used for speech recognition, biological sequence (e.g. DNA and RNA) analysis, and stock trading.
- Fun fact: HMMs were used early on at Renaissance Technologies (a.k.a. RenTech - then called Monemetrics), which is one of the most popular and successful quantitative hedge funds. Not only did they use HMMs, they hired Leonard Baum, one of the inventors of the famous "Baum-Welch Algorithm" used for training HMMs.
- The HMM course draws on knowledge from the Cluster Analysis course, specifically the EM (expectation-maximization) algorithm and Gaussian Mixture Models (GMMs).
Artificial Intelligence: Reinforcement Learning in Python
- Learn how RL works in-depth
- Bandit algorithms
- Markov Decision Processes (MDPs), Bellman Equations
- Policy Iteration, Value Iteration
- Basic approaches to RL: Dynamic Programming (DP), Monte Carlo (MC) Methods, and Temporal Difference (TD) Learning
- Apply function approximation to RL - later of course, the "function approximator" will be a deep neural network
Time Series Analysis, Forecasting, and Machine Learning
- Next, enhance your knowledge of time series with Time Series Analysis. While the financial engineering course introduces you to fundamental tools like Holt-Winters and ARIMA, this course goes much more in-depth. You'll learn about more advanced models such as GARCH.
Data Science: Time Series Forecasting with Facebook Prophet in Python
- As an alternative to the full Time Series course, if you for some reason only want to learn about Facebook Prophet (one of the VIP sections of the Time Series course), I have an individual course on that.
Financial Analysis: Build a ChatGPT Pairs Trading Bot
- There are more trading algorithms out there! One popular algorithm, called Pairs Trading, is explored with the help of ChatGPT.
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn the basics of numerical and scientific computing in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Deep Learning Prerequisites: Linear Regression in Python
- The next step is to learn about simple linear models for supervised learning (both classification and regression). "Simple" in this case does not imply "less useful". In fact, linear models will probably be the most used, due to their simplicity and importantly, their interpretability. This will be extremely valuable when pitching your technology to stakeholders.
Deep Learning Prerequisites: Logistic Regression in Python
- Again, very practical and interpretable. Example use-cases: predict whether or not the user will purchase an item, predict the amount of sales given adspend, detect fraudulent behavior on your website.
Data Science: Supervised Machine Learning in Python
- Before moving on to neural networks, get to know other, more interesting supervised machine learning models.
- K-Nearest Neighbor, Decision Trees, Perceptron, Naive Bayes
- How to deploy your model to a server / API web service!
Data Science and Machine Learning: Naive Bayes in Python
- Naive Bayes, covered in much more detail than the Supervised Machine Learning course.
- I am working on replacing that course.
Ensemble Machine Learning in Python: Random Forest, AdaBoost
- Learn how to combine decision trees (and other ML models) to create even more powerful models called ensembles
- Covers an important ML/statistical learning concept: the Bias-Variance tradeoff
- 2 essential approaches: Random Forest and AdaBoost
Cluster Analysis and Unsupervised Machine Learning in Python
- Let's now explore the world of unsupervised learning (for data without labels)
- Can be taken prior to or in parallel with above supervised ML courses
- Business people love clustering
- K-means clustering, hierarchical clustering, and Gaussian mixture models
- Expectation-maximization algorithm (applied again later with HMMs)
Machine Learning and AI: Support Vector Machines in Python
- Another very powerful ML model
- Start with Linear SVM and find the optimal separating line/hyperplane (why is it more optimal than logistic regression and perceptron?)
- Extend SVM to the nonlinear case with the "kernel trick"
- Also learn how to apply Kernel Methods to other ML models, both supervised and unsupervised
- Extend SVM to multiclass case and regression case
- Another look at quadratic programming (QP) also covered in finance course
Data Science: Deep Learning and Neural Networks in Python
- At this point, it's time to turn our attention back to neural networks and deep learning.
- "Deep learning" is really just neural networks. Learn about how neural networks really work, especially the backpropagation algorithm
- This course heavily depends on your calculus skills
Unsupervised Deep Learning in Python
- Back to unsupervised learning. Aside from clustering, another common unsupervised task is dimensionality reduction. Basically, converting high dimensional vectors into lower dimensional vectors. This can be useful, for instance, in visualizing high-dimensional data. I recommend using this course to learn about PCA (principal components analysis) and autoencoders. Consider RBMs to be optional. Later, I may make a pure PCA course to replace this one.
Unsupervised Machine Learning: Hidden Markov Models in Python
- Classic machine learning methods also look at sequence models. Among the most popular is the Hidden Markov Model (HMM). HMMs have been successfully used for speech recognition, biological sequence (e.g. DNA and RNA) analysis, and stock trading.
- The HMM course draws on knowledge from the Cluster Analysis course, specifically the EM (expectation-maximization) algorithm and Gaussian Mixture Models (GMMs).
Recommender Systems and Deep Learning in Python
- Very fun and immensely practical: recommender systems. Used by all the biggest tech companies, such as Google, Facebook, Netflix, Amazon, etc. Whenever you display a list of products to the user, you'd like to do so intelligently. Use these techniques to show users the products they are most likely to purchase or rate highly.
Artificial Intelligence: Reinforcement Learning in Python
- I place reinforcement learning last because it's the most challenging to both understand and implement correctly
- Bandit algorithms
- Markov Decision Processes (MDPs), Bellman Equations
- Policy Iteration, Value Iteration
- Basic approaches to RL: Dynamic Programming (DP), Monte Carlo (MC) Methods, and Temporal Difference (TD) Learning
Math 0-1: Calculus for Data Science & Machine Learning
- Alright, so if you actually want to learn machine learning, you're going to have to get serious about math.
- It all starts with calculus (assuming you have finished high school math).
- This course covers what you'd learn in calculus 1 (differentiation), 2 (integration), and 3 (vector calculus).
Math 0-1: Linear Algebra for Data Science & Machine Learning
- All about vectors, matrices, and how to manipulate them
- Why? Because that's how we represent "data" in machine learning
- A table of data (rows and columns) is just a matrix
- An image is also a matrix
- Audio and time series can be considered 1-D vectors
- Covers matrix arithmetic, determinant, inverse, and other operations, rank, definiteness, eigenvalues
Math 0-1: Matrix Calculus for Data Science & Machine Learning
- Learn how to differentiate functions with respect to vectors and matrices
- Also covers optimization techniques (gradient descent, Newton's method)
Math 0-1: Probability for Data Science & Machine Learning
- Probability is a mathematical tool for quantifying uncertainty
- You'll apply both calculus and linear algebra
- Used in nearly every machine learning / AI technique you'll learn about, from linear regression to neural networks to reinforcement learning
- Covers random variables, PMFs, PDFs, CDFs, joint, conditional, and marginal distributions, Bayes' rule, random vectors, generating functions, law of large numbers, central limit theorem
- Note: I separate probability from statistics, as most proper university-level courses do. Courses that don't tend to leave out too many important details. There's a statistics course later in this series.
Complete SQL Bootcamp for Data Science, Analytics, Marketing
- More on the practical side of things. How do we actually store data in a web application? No, we don't store everything in Pandas DataFrames, you silly data scientist! We use databases. The most common type of database is the relational database, some examples of which are MySQL, PostgreSQL, and SQLite.
Data Science Prerequisites: The Numpy Stack in Python (V2+)
- Learn how to apply the math you learned in Python
- It's not "just coding", it's "coding mathy things"
- Vector and matrix operations with Numpy
- Plotting and data visualization with Matplotlib
- Loading and manipulating datasets with Pandas
- More scientific computing (statistics, signal processing) with Scipy
- This prepares you for machine learning / data science / AI courses because they will all apply one or more of the above (loading in data, manipulating the data as vectors / matrices / tensors, plotting the results, ...)
- Free (but shorter) version of the course
Join 30 day bootcamp for free