- Machine Learning Fundamentals
- Linear Models
- Neural Networks
- Unsupervised Learning
- Probabilistic Models
- Natural Language Processing

## Machine Learning Fundamentals

**A friendly introduction to machine learning**

A friendly survey through some of the main algorithms in machine learning with easy examples. Regression, classification, and clustering are discussed.

**Machine Learning: Testing and error metrics**

A survey of the main concepts used in training ml models such as testing, precision/recall, under/overfitting, model complexity graphs, and grid search, using simple examples. Godzilla makes an appearance.

## Linear Models

**Linear Regression**

A friendly introduction to the linear regression, using a trick that moves lines closer to points (no calculus). A housing price example is discussed.

**Logistic Regression and the Perceptron Algorithm**

A friendly introduction to the perceptron algorithm, using a trick that moves lines closer to points (no calculus). A spam detection example is used.

**Support Vector Machines**

A simple explanation of support vector machines (SVM), where we develop an algorithm to train them, without using calculus, only lines that move and separate.

## Neural Networks

**Neural Networks**

A friendly and very graphical explanation of neural networks, using probabilities and gradient descent.

**Convolutional Neural Networks**

A simple explanation of convolutional neural networks using a simple example of image recognition.

**Recurrent Neural Networks**

A friendly introduction to recurrent neural networks using a cooking example.

**Generative Adversarial Networks**

A simple construction of two 1-layer GANs that generate simple 2×2 images.

Code in Github

## Unsupervised Learning

**Clustering**

A friendly explanation of K-means and Hierarchical clustering using a marketing example and an example of locating restaurants in a map. Elbow method and dendrograms discussed as well.

**Principal Component Analysis (PCA)**

A friendly explanation of mean, variance, covariance, eigenvectors, eigenvalues, and dimensionality reduction.

**Matrix Factorization and Netflix Recommendations**

Matrix factorization explained using a simple example of 4 users generating ratings for 5 movies.

## Probabilistic Models

**Bayes Theorem and the Naive Bayes Algorithm**

Bayes theorem and the naive Bayes algorithm explained using a friendly spam detection example.

**Hidden Markov Models**

Bayes theorem, hidden Markov models and the Viterbi paths algorithm explained using a simple example of guessing the weather based on someone’s mood.

**Shannon Entropy and Information Gain**

A simple explanation of entropy and information gain by using an example of picking balls from boxes.

## Natural Language Processing

**Latent Dirichlet Allocation** (part 1 of 2)

A powerful NLP technique used to sort documents by topic.

In the first video we study Dirichlet distributions and the blueprint for LDA.

**Latent Dirichlet Allocation – Gibbs Sampling** (part 2 of 2)

A powerful NLP technique used to sort documents by topic.

In the second video we study a way to train LDA models using Gibbs sampling.