A simple version of a neural network.
This repository contains Matlab code, test data, and input data for a 3-layer perceptron, a type of artificial neural network that consists of an input layer, a hidden layer, and an output layer. The network is trained using the backpropagation algorithm to approximate linear and non linear relationships of the input data. It also shows the progress in a live plot during the calculations.
The code in this repository is written in Matlab, and requires the following toolboxes:
- Symbolic Math Toolbox
To train and test the 3-layer perceptron, simply run the Perceptron.m
script and then choose the following hyperparameters:
testing data: just select the already existing testing data file or select your own
training data: same as above
activation function = x^2
neurons: 90
learning rate: 0.05 (should be smaller than 0.1)
epochs: 1000
This will train and test the network on the specified datasets, with the specified number of neurons, learning rate, number of epochs, and activation function. You will see the progress of the error and the results in a live plot during the calculations. At the end you get 3 plots as an overview and the results in the terminal.
The repository includes 2 example datasets. The dataset for training TrainData.csv
consists of 45 training examples and the testing data TestData.csv
13 validation examples, each with 3 input features and a single output label. The goal of the network is to predict the output label based on the input features.
This project is licensed under the MIT License - see the LICENSE
file for details.
leonmarx.de · GitHub @LeonM789