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 Auto-Differentiation 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.
Dependencies:
- tqdm, numpy, sklearn, matplotlib
Table of contents
-
Machine Learning models:
-
Deep Learning layers:
-
Optimization algorithms:
-
Weights initialization:
-
Advanced models: