Skip to content

Implementation of a neural network with backpropagation algorithm

License

Notifications You must be signed in to change notification settings

riki95/Neural-Network-Backpropagation

Repository files navigation

Implementation of a Neural Network with Backpropagation Algorithm

University Project for Machine Learning course.

This is an implementation of a Neural Network with the Backpropagation Algorithm, using Momentum and L2 Regularization.

Getting Started

To download my repo:

git clone https://github.com/riki95/Neural-Network-Backpropagation-ML-Project

The program was written and executed with Matlab.

The dataset used are Monks for Classification and Wines Quality for Regression, but you can modify the launch files to use different datasets.

Monks - Classification

Monks Dataset was downloaded and modified in order to get only a file instead of 2 different files for train and validation.

You can find the Monks Dataset inside the Data folder, starting from the first file which is the easier to the last one which is the harder to train.

Wine Quality - Regression

Wine Quality Dataset was downloaded and it's ready to be used, you can find it on the Data folder.

The files are 2, one for Red Wines and one for White Wines.

Running the tests

Just open the project with Matlab and run the "LaunchMonks" or "LaunchWines" files. There are 2 files from both, depending on the type of algorythm to use for Validation: Holdout or K-Fold.

Inside the launch files you can also set some parameters, for example "Validation" if you want to use it or not.

You can change hyperparameters like Hidden Layers or Regularization and Momentum inside the NeuralNetwork file.

What is produced at the end of the learning is something like this for Classification:

Monks Classification

And this for Regression:

Wines Regression

Authors

  • Riccardo Basso - Università degli studi di Genova - Machine Learning 2017-2018

Releases

No releases published

Packages

No packages published

Languages