giangtranml/mlfromscratch
All the ML algorithms, ML models are coded from scratch by pure Python/Numpy with the Math under the hood. It works well on CPU.
repo name  giangtranml/mlfromscratch 
repo link  https://github.com/giangtranml/mlfromscratch 
homepage  https://giangtranml.github.io 
language  Jupyter Notebook 
size (curr.)  21470 kB 
stars (curr.)  120 
created  20190301 
license  
Machine Learning from scratch
About
This ML repository is all about coding Machine Learning algorithms from scratch by Numpy with the math under the hood without AutoDifferentiation frameworks like Tensorflow, Pytorch, etc. Some advanced models in Computer Vision, NLP require Tensorflow to quickly get the idea written in paper.
Repository structure
As a software engineer, I follow the principle of OOP to construct the repository. You can see that NeuralNetwork
class will use FCLayer
, BatchNormLayer
, ActivationLayer
class and CNN
class will use ConvLayer
, PoolingLayer
, FCLayer
, ActivationLayer
,… This helps me easily reuse every piece of code I wrote as well as for readable code.
Table of contents

Machine Learning models:

Deep Learning layers:

Optimization algorithms:

Weights initialization:

Advanced models: