There are 2 notebooks in this repository:
- One notebook contains my code for the Single Neuron Classifier coded from scratch in Python (uses NumPy, matplotlib).
- The second notebook contains the same Single Neuron Classifier coded in PyTorch.
All neccessary functions have been defined in the same notebook, so only one has to be run to test the code.
----- About the project -----
Objective: Train a single artificial neuron to a high accuracy, in order to be used as a binary classifier in the problem.
Problem to Solve: Given a 3x3 array of binary data (i.e. only 1's and 0's), determine when the 3x3 pattern is an 'X' pattern. This 'X' patter is defined as 1's along the 2 diagonals and 0s elsewhere.
Visualize the Data: matplotlib and a provided dispKernal function was used to visualize the training and validation losses and accuracies, and trained weights, respectively.
Choose your own parameters:
-
Activation Functions: ReLU, Sigmoid, Linear
-
Number of Epochs
-
Learning Rate
-
Random Seed
----- Results -----
-
100% training accuracy obtainable
-
100% validation accuracy obtainable