This repo is my own personal guide to machine learning and contains knowledge from a variety of courses, blog posts and research papers that I have encountered that have been useful to me on my journey to becoming a Machine Learning Engineer. A detailed list of these links can be found at the bottom of this page.
There isn't one! Please feel free to use these notes and code templates for your own products, everything here is free to utilise as you see fit :)
The majority of these notes and findings will be placed within the wiki, please pick the appropriate link from the table of contents below to navigate to the area of your choice.
All coding templates are written in Python 3.6 and the IDE used to create them was using Anaconda's Spyder, you can download Anaconda here.
The Machine Learning models are coded using the following libraries: Scikit-learn, NumPy, Matplotlib and Pandas.
The Deep Learning models are coded using the following libraries: Tensorflow, Keras, PyTorch. The Supervised models used Keras & Unsupervised use PyTorch.
The Computer Vision models are coded using the following libraries: OpenCV for face recognition and smile detection, PyTorch for Object Detection & GANs.
The Artificial Intelligence models are coded using the following libraries: PyTorch for all models.
The Natural Language Processing models are coded using the following libraries: Tensorflow.
The sections consist of: Machine Learning, Deep Learning, Computer Vision, Artificial Intelligence, Natural Language Processing. These are split into multiple subsections that link to wiki pages for further information.
- Data Preprocessing
- Regression Models
- Classification Models
- Clustering Models
- Association Rule Learning
- Reinforcement Learning
- Dimensionality Reduction
- Model Selection
- XGBoost
Here is the list of references for the information within this repo.
I highly recommend these courses and I just want to say a huge thank you to the SuperDataScience Team (Kirill Eremenko & Hadelin de Ponteves) for making these incredible courses. All courses come with an intuitive understanding and coding examples for each model.
- Machine Learning A-Z
- Deep Learning A-Z
- Deep Learning & Computer Vision A-Z
- Artificial Intelligence A-Z
- Deep Learning & Natural Language Processing A-Z
Thank you to all writers of the blog posts that are linked within this section, these have been a massive help to understanding core concepts of the Machine Learning world.
- Cross-Entropy Loss
- Understanding Convolutional Neural Networks (CNNs)
- Understanding Long Short-Term Memory (LSTM) Networks
- Attention and Augmented Recurrent Neural Networks
- AutoEncoders
- AutoEncoders in Keras
- Brief Overview of Sparse AutoEncoders
- Deep Learning Tutorial - Sparse Autoencoder
- Simple Reinforcement Learning with Tensorflow: Q-Learning
- A3C Implementation
- A3C Theory
- Simple Reinforcement Learning with Tensorflow: A3C
- Introduction to Convolutional Neural Networks
- Max Pooling
- Contrastive Divergence
- Adam: A Method for Stochastic Optimization
- Reducing Dimensionality of Data with Neural Networks
- Deconvolutional Networks
- Denoising Autoencoders
- Contractive Auto-Encoders: Explicit Invariance During Feature Extraction
- Stacked Denoising Autoencoders
- Deep Boltzmann Machines
- Energy-Based Learning
- An Introduction to Restricted Boltzmann Machines
- Greedy Layer-Wise Training of Deep Networks
- The Wake-sleep Algorithm for Unsupervised Neural Networks
- Dropout: A Simple Way to Prevent Neural Networks from Overfitting
- Single Shot MultiBox Detector (SSD)
- A General Framework for Object Detection
- Boosting Image Retrieval
- Markov Decision Processes: Concepts and Algorithms
- Learning to Predict by the Methods of Temporal Differences
- Prioritized Experience Replay
- Adaptive ε-greedy Exploration in Reinforcement Learning Based on Value Differences
- Asynchronous Methods for Deep Reinforcement Learning
- High-Dimensional Continuous Control Using Generalized Advantage Estimation
Here are a few websites that have free datasets that can be used in your own Machine Learning models.
- UCI Machine Learning Repository - A website home to over 400 datasets for use within the Machine Learning community.
- Kaggle Datasets - Kaggle is an incredible website that brings the Data Scientists community together.
- Grouplens Movie Quotes - This dataset is used within the Deep Learning Boltzmann Machine & AutoEncoder models.
- PASCAL Visual Object Classes - This dataset is used within the Computer Vision object detection section.