Skip to content

This is a project I did as part of my Computer Science degree. It involves designing a MLP backpropagation algorithm, which taking a dataset of 8 predictors and 1 predictant, splitting the dataset and evaluating its performance in predicting the predicant on the test sub-dataset.

License

Notifications You must be signed in to change notification settings

SaoodCS/Backpropagation-Algorithm

Repository files navigation


Logo

Error-Correcting MLP Backpropagation Algorithm

This is a project I did as part of my Computer Science degree. It involves designing a MLP backpropagation algorithm, which taking a dataset of 8 predictors and 1 predictant, splitting the dataset and evaluating its performance in predicting the predicant on the test sub-dataset.

Table of Contents
  1. About The Project
  2. Getting Started
  3. User Guide
  4. Contributing
  5. License
  6. Contact

About The Project

The purpose of this project was implement an artificial neural network, more specifically and multi layered perceptron, trained using the error backpropagation algorithm. The process included data pre-processing (splitting the data into training, validation and test subsets and standardising the data) and creating, training, and implementing the neural network to predict index floods from the given data set.

The performance of the neural network is measured using a variety of different performance evaluations, including: RMS (Root Mean Squared), RSME (Root Mean Squared Deviation), and MSRE (Mean Squared Relative Error) to name a few.

A graph is also plotted to show the actual outputs from the test dataset (x axis) against the predictions that the network made from the test dataset predictors. An example screenshot of this graph is shows below:
Logo

Built With

This section lists all major frameworks, programming languages, packages and libraries used throughout the project.

Getting Started

To set up this project, get a local copy up and running by either cloning this repository to your IDE, or downloading the ZIP file of the repository and opening it in your IDE.

Prerequisites

You will need to install the following software in order to run this project.

Installation

  1. Download the latest version of Python. The download link and installation guide can be found on the following link: https://www.python.org/downloads/
  2. Download Jupyter Notebook for an enhanced experience when running the project (optional): https://jupyter.org/
  3. Download all the python libraries listed above in the prerequisites section: Prerequisites
  4. Clone the repository to your IDE through the command line using the "git" function or through your IDE. Copy the following repository URL:
    https://github.com/SaoodCS/Backpropagation-Algorithm
  5. Run the python file "Backprop Alg with Bold Driver" in your IDE.

User Guide

  1. Run the python file "Backprop Alg with Bold Driver" in your IDE.
  2. Enter 8 as the number of inputs, 1 as the number of outputs (as this is the predictors and predictant of this specific dataset in dataset.txt.)NOTE: You can run the algorithm on your own dataset too by formatting it into a txt file and saving it to the same folder as the algorithm (the first x columns on the LHS should be the inputs and the last x columns on the RHS shoulf be the outputs).
  3. Enter any number between 4 and 14 as the number of nodes in the hidden layer.
  4. The output of this algorithm will illustrate the performance of this algorithm based on the predictors in the test dataset. These performance analyses include: RMS (Root Mean Squared), RSME (Root Mean Squared Deviation), and MSRE (Mean Squared Relative Error) to name a few.
  5. The scatter graph plotted in the output shows the actual outputs from the test dataset (x axis) against the predictions that the network made from the test dataset predictors.

Contributing

As of now, this project isn't open to contributions. The only contributer is myself, though this may change in the future.

License

Distributed under the MIT License.

Contact

Saood - saood-aslam@outlook.com

Project Link: https://github.com/SaoodCS/Backpropagation-Algorithm

About

This is a project I did as part of my Computer Science degree. It involves designing a MLP backpropagation algorithm, which taking a dataset of 8 predictors and 1 predictant, splitting the dataset and evaluating its performance in predicting the predicant on the test sub-dataset.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages