Skip to content

šŸ§ Implementation of a Neural Network from scratch in Python for the Machine Learning Course.

License

Notifications You must be signed in to change notification settings

dilettagoglia/impl-NN-from-scratch

Repository files navigation

impl-NN-from-scratch

Implementation of a Neural Network from scratch in Python for the Machine Learning course.

unipi


Authors:

  • Diletta Goglia - M.Sc. in Artificial Intelligence, University of Pisa

  • Paolo Murgia - M.Sc. in Artificial Intelligence, University of Pisa

Description

Project implementation for Machine Learning exam, Master's Degree Course in Computer Science, Artificial Intelligence curriculum, University of Pisa.

Professor: Alessio Micheli.

For more further info please read the report.

Abstract

The project consists in the implementation of an Artificial Neural Network built from scratch using Python, without using pre-built libraries. The overall validation schema consists in a preliminary screening phase to reduce the hyperparameters search space, followed by a first coarse grid-search and a second but finer one. All the explored models are validated with a 5-fold cross validation. The resulting model is a 2 hidden layer network with 20 units each and ReLU activation for both layers.

Code implementation.

For clarity, transparency and accessibility purposes, we decided to write our code following the ā€tacit and explicit conventions applied in Scikit-learn and its APIā€, and soto follow the notation of the glossary, eg. using standard terms for methods, attributes, etc.
This well-known ā€best practiceā€ allowed us to write a good-quality code, well-commented and easy for reading, understanding and experiments reproducibility.

References

Useful sources used & documentation:

For parameter tuning:

Comparison with pre-built models: