Skip to content

steakmeatdev/ML-and-DL-from-scratch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ANN from Scratch

This repository provides a deep dive into the fundamentals of neural networks and machine learning, featuring two key resources:

  1. An Artificial Neural Network (ANN) implementation from scratch, inspired by the teachings of Guillaume from the MachineLearnia YouTube channel.
  2. A comprehensive slide deck (around 250 slides) crafted to explain the basics of machine learning, deep learning, and the gradient descent algorithm, designed independently for a deep learning course delivered to the Open Source Club.

Features

ANN Implementation

  • Custom Build: Implements an ANN entirely in Python without libraries like TensorFlow or PyTorch.
  • Key Components:
    • Forward propagation for calculating outputs.
    • Backpropagation for learning via gradient descent.
    • Activation functions such as sigmoid and ReLU.
    • Loss function computation, including Mean Squared Error.
  • Learning-Oriented Design: Step-by-step code and explanations to help beginners grasp neural network mechanics.

Slide Deck

  • Educational Focus: Introduces machine learning and deep learning concepts in an easy-to-follow format.
  • Gradient Descent Explained: Thorough coverage of the gradient descent algorithm, its mathematical foundation, and its role in optimization.
  • Standalone Resource: The slides stop at gradient descent and do not delve into forward or backward propagation.
  • Independent Creation: These slides were developed solely by the author to support the Open Source Club’s educational goals.

Getting Started

Prerequisites

  • Python 3.x
  • Required libraries:
    • numpy
    • matplotlib (optional, for visualization)
    • sklearn
    • tqdm

Install the necessary libraries using pip:

pip install numpy matplotlib
pip install numpy sklearn
pip install numpy tqdm
pip install numpy numpy

Running the Notebook

  1. Download or clone the repository.
  2. Open the Jupyter Notebook (ANN_from_scratch.ipynb) in a Jupyter environment.
  3. Run the cells sequentially to understand and execute the code.

Important Notice

  • The ANN implementation is inspired by the work of Guillaume from MachineLearnia.
  • The slides are the original work of the repository author. Their use, reproduction, or distribution without explicit permission is strictly prohibited.

Acknowledgments

  • Special thanks to Guillaume from MachineLearnia for the inspiration and guidance on the ANN implementation.
  • Gratitude to the Open Source Club for the opportunity to present the educational course where these slides were used.

License

This project is open-source under the MIT License, except for the slide deck, which requires explicit permission for use.


For any questions or suggestions, feel free to reach out!

About

Simple Python programs to build machine learning and deep learning algorithms from scratch.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published