Skip to content

maelfabien/Machine_Learning_Tutorials

Repository files navigation

Machine Learning Tutorials and Articles

GitHub stars GitHub forks GitHub watchers GitHub followers GitHub commit activity GitHub contributors PyPI - Python Version

Illustration

In this repository, I'm uploading code, notebooks and articles from my personal blog : https://maelfabien.github.io/. Don't hesitate to ⭐ the repo if you enjoy my work ! New articles are being published weekly !

🚀 I recently started a newsletter in which I gather some cool articles I wrote on a topic, interesting Github repositories, projects, papers and more! I’ll try to send 1 to 2 emails per month. If you want to stay in the loop, just click here : http://eepurl.com/gyYzi5

NEW: I'm looking for motivated Data Scientists to help me build high environmental impact algorithms (CV essentially). Please contact me if you're interested (from my website, contact section)

Table of Content :


First of all, if you're not familiar with the key concepts of machine learrning, make sure to check this first article : https://maelfabien.github.io/machinelearning/ml_base/

The repository is organized the following way :

  • articles and tutorials are posted by category
  • there is a link to the article in question with the read time specified
  • the is a link to the code folder for each article

You would like to work on an article with me ? Or you would like me to work on a specific topic ? Feel free to reach out ! ([email protected])

Machine Learning Cheatsheet :

For the moment, these cheat sheets are written manually. I'd like to create a visual content later that would both dive in the maths and illustrate clearly each algorithm.

  1. Supervised Learning

Illustration

  1. Unsupervised Learning

Illustration


Projects

I have made a series of projects, all of which are available on my blog : https://maelfabien.github.io/portfolio/#

Illustration

Latest articles

SP - Voice Gender Detection web application: How to extract relevant features and build a voice gender detection application using MFCC, GMMs and a provided dataset.

SP - Sound Visualization (3/3): Dive into spectrograms, chromagrams, tempograms, spectral power density and more...

SP - Sound Feature Extraction (2/3): An overview with a Python implementation of the different sound features to extract.

SP - Introduction to Voice Processing in Python (1/3): Summary of the book "Voice Computing with Python" with concepts, code and examples.

SP - Building a Voice Activity Detection web application : Voice detection can be used to start a voice assistant or in emergency cases for example. Here's how to implement it using simple methods.

CV - Implementing YoloV3 for Object Detection : Learn how to implement YoloV3 and detect objects on your images and videos.

NLP - Easy Question Answering with AllenNLP : Understand the core concepts and create a simple example of Question Answering.

NLP - Data Augmentation in NLP : Details of the implementation of “Easy Data Augmentation” paper.

NLP - Character-level LSTMs to predict gender of first names : 90% accuracy on predictiong the gender of French and US first names.

NLP - Few Shot Text Classification : Implementation of a simple paper that leverages pre-trained models for few shot text classification.

NLP - Improved Few Shot Text Classification : Improving previous results with Data Augmentation and more complex models.

RL - Introduction to Reinforcement Learning : An introduction to the basic building blocks of reinforcement learning.

RL - Markov Decision Process : Overview of Markov Decision Process and Bellman Equation.

RL - Planning by Dynamic Programming : Introduction to Dynamic Programming, including Policy and Value Iteration.

NLP - I trained a Neural Network to speak like me : Having written over 100 articles, I trained a NN to write articles just like me.

DL - How do Neural Networks learn? : Dive into feedforward process and back-propagation.

See More

Illustration

Illustration

Article Title Read Time Article Code Folder
The linear regression model (1/2) 14mn here here
The linear regression model (3/2) 10mn here here
Basics of Statistical Hypothesis Testing 5mn here ---
The Logistic Regression 4mn here here
Statistics in Matlab 4mn here ---

Illustration

Article Title Read Time Article Code Folder
The Basics of Machine Learning 4mn here ---
Bayes Classifier 1mn here ---
Linear Discriminant Analysis 3mn here ---
Adaboost and Boosting 7mn here here
Gradient Boosting Regression 6mn here here
Gradient Boosting Classification 3mn here ---
Large Scale Kernel Methods for SVM 9mn here here
Anomaly Detection 3mn here ---

Illustration

Article Title Read Time Article Code Folder
Introduction to Time Series 4mn here here
Key concepts of Time Series 4mn here here

Illustration

Article Title Read Time Article Code Folder
Markov Chains 9mn here here
Hidden Markov Models 6mn here ---
Build a language recognition app from scratch 10mn here here

Illustration

Article Title Read Time Article Code Folder
Introduction to Graph Mining 5mn here here
Graph Analysis 4mn here here
Graph Algorithms 11mn here here
Graph Learning 8mn here here
Graph Embedding 4mn here here

Illustration

Article Title Read Time Article Code Folder
GridSearch vs. Randomized Search 2mn here ---
AutoML with h2o 6mn here ---
Bayesian Hyperparameter Optimization 7mn here here
Machine Learning Explainability 12mn here ---

Illustration

Article Title Read Time Article Code Folder
Introduction to Data Viz 12mn here ---
Visual Recommendation System 4mn here ---
Interactive graphs in Python with Altair 5mn here here
Dynamic plots with BQ-Plot --- --- here
An interactive tool with Altair --- here ---
An interactive tool with D3.js --- here ---

Illustration

Article Title Read Time Article Code Folder
Introduction to Online Learning 5mn here ---
Linear Classification 1mn here ---

Illustration

Illustration

Article Title Read Time Article Code Folder
The Rosenbaltt's Perceptron 8mn here here
Multilayer Perceptron (MLP) 5mn here here
Prevent Overfitting of Neural Netorks 6mn here ---
Full introduction to Neural Nets 6mn here ---
Convolutional Neural Network 6mn here ---
How do Neural Networks learn? 3mn here ---
Activation functions in DL 3mn here here

Illustration

Article Title Read Time Article Code Folder
Inception Architecture in Keras 2mn here here
Build an autoencoder using Keras functional API 5mn here ---
XCeption Architecture 5mn here here
GANs on the MNIST dataset --- --- here

Illustration

Illustration

Article Title Read Time Article Code Folder
Build an Emotion Recognition WebApp from scratch 8mn here here
A full guide to Face, Mouth and Eyes Real Time detection 16mn here here
How to use OpenPose on MacOS ? 3mn here ---
Introduction to Computer Vision 1mn here ---
Image Filtering and Image Gradients 5mn here here
Advanced Filtering and Image Transformation 5mn here ---
Image Features, Panorama, Matching 5mn here ---
Implementing YoloV3 for Object Detection 3mn here ---

Illustration

Illustration

Article Title Read Time Article Code Folder
Introduction to NLP 1mn here ---
Text Pre-Processing 8mn here ---
Text Embedding with BoW and Tf-Idf 5mn here ---
Text Embedding with Word2Vec 6mn here ---
I trained a Neural Network to speak like me 8mn here here
I trained a Neural Network to speak like me 8mn here here
Few Shot Text Classification 10mn here here
Improved Few Shot Text Classification 9mn here here
Predicting Gender of First Names 7mn here here
Data Augmentation in NLP 3mn here ---
Easy Question Answering with AllenNLP 4mn here ---

Illustration

Illustration

Article Title Read Time Article Code Folder
Introduction to Reinforcement Learning 6mn here ---
Markov Decision Process 7mn here ---
Planning by Dynamic Programming 4mn here ---

Illustration

Two general articles :

  1. Understanding Computer Components (6mn read) https://maelfabien.github.io/bigdata/comp_components/

  2. Useful Bash commands (1mn read) https://maelfabien.github.io/bigdata/Terminal/

  3. Making your code production ready (1mn read) https://maelfabien.github.io/bigdata/Code/


Illustration

Article Title Read Time Article
Introduction to Hadoop 4mn here
MapReduce 3mn here
HDFS 2mn here
VMs in Virtual Box 1mn here
Hadoop with the HortonWorks Sandbox 2mn here
Load and move files to HDFS 2mn here
Launch a MapReduce Job 2mn here
MapReduce Jobs in Python 3mn here
MapReduce Job in Python locally 1mn here

Illustration

Article Title Read Time Article
Introduction to Spark 6mn here
Install Spark-Scala and PySpark 1mn here
Discover Spark-Scala 2mn here

Illustration

Article Title Read Time Article
A No-SQL project from scratch 8mn here
Big (Open) Data, the GDelt project 2mn here
Install Zeppelin locally 1mn here
Run Zeppelin on AWS EMR 4mn here
Work with S3 buckets 1mn here
Launch and access AWS EC2 instances 2mn here
Install Apache Cassandra on EC2 Cluster 2mn here
Install Zookeeper on EC2 instances 3mn here
Build an ETL in Scala 3mn here
Move Scala Dataframes to Cassandra 2mn here
Move Scala Dataframes to Cassandra 2mn here

Illustration

Article Title Read Time Article
AWS Cloud Concepts 2mn here
AWS Core Services 1mn here

Illustration

Article Title Read Time Article
TPU Survival Guide on Colab 8mn here
Store files on Google Cloud and Colab 1mn here
TPU Survival Guide on Colab 8mn here
Introduction to GCP (Week 1 Module 1) 6mn here
Lab - Instance VM + Cloud Storage 3mn here
Lab - BigQuery Public Datasets 1mn here
Introduction to Recommendation Systems (Week 1 Module 2) 4mn here
Run Spark jobs on Cloud DataProc (Week 1 Module 2) 2mn here
Lab - Recommend products using Cloud SQL and SparkML 6mn here
Run ML models in SQL with BigQuery ML (Week 1 Module 3) 6mn here

Illustration

Article Title Read Time Article
Introduction to ElasticStack 1mn here
Getting Started with ElasticSearch and Kibana 7mn here
Install and run Kibana locally 1mn here
Working with DevTools in ElasticSearch 9mn here
Working with DevTools in ElasticSearch 9mn here

Illustration

Article Title Read Time Article
Introduction to Graph Databases 1mn here
A day at Neo4J GraphTour 7mn here

Written for other blogs

  1. Who's the painter? - For explorium.ai : An illustration of how data enrichment and feature engineering can improve a model.

  2. Machine Learning Interpretability and Explainability (1/2) - For explorium.ai : An introduction to interpretable models with code and examples.

  3. Machine Learning Interpretability and Explainability (2/2) - For explorium.ai : An introduction to explainability in Machine Learning with code and examples.

  4. A guide to Face Detection - For digitalminds.io : An overview of the different techniques face Face Detection in Python (with code).

  5. Modéliser des distributions avec Python (French) - For Stat4Decision: Distribution fitting web application with Streamlit.

  6. Introduction au Traitement Automatique de Language Naturel (TAL) (French) - For Stat4Decision

Medium Articles

  1. Boosting and Adaboost clearly explained : https://towardsdatascience.com/boosting-and-adaboost-clearly-explained-856e21152d3e

  2. A guide to Face Detection in Python: https://towardsdatascience.com/a-guide-to-face-detection-in-python-3eab0f6b9fc1

  3. Markov Chains and HMMs: https://towardsdatascience.com/markov-chains-and-hmms-ceaf2c854788

  4. Introduction to Graphs (Part 1): https://towardsdatascience.com/introduction-to-graphs-part-1-2de6cda8c5a5

  5. Graph Algorithms (Part 2): https://towardsdatascience.com/graph-algorithms-part-2-dce0b2734a1d

  6. Graph Algorithms (Part 3): https://towardsdatascience.com/learning-in-graphs-with-python-part-3-8d5513eef62d

  7. I trained a neural network to speak like me: https://towardsdatascience.com/i-trained-a-network-to-speak-like-me-9552c16e2396

Stay tuned :)