This repository, "Neural-Network-Tasks," contains three tasks that aim to help users understand how artificial neural networks work and implement them from scratch. The tasks are designed to be applied to the penguin dataset. The repository includes a user-friendly GUI that allows users to specify the epochs, number of neurons, and number of layers.
The goal of Task 1 is to create a single layer perceptron that continues training until it reaches 100% accuracy on the penguin dataset. A single layer perceptron is a basic neural network model that can learn linearly separable patterns. By implementing this task, users will gain insights into the fundamental workings of neural networks.
Task 2 builds upon Task 1 by updating the single layer perceptron to utilize the Mean Squared Error (MSE) as the loss function. The MSE is a commonly used loss function for regression problems. By incorporating this update, users will learn how to handle non-linearly separable patterns and improve the performance of the neural network.
Task 3 takes the implementation a step further by guiding users in creating a multi-layer perceptron (MLP) from scratch, without relying on any external libraries. An MLP consists of multiple layers of neurons and is capable of learning complex patterns. By completing this task, users will gain a deeper understanding of how neural networks can be extended to handle more intricate tasks.
To get started with the tasks, follow these steps:
-
Clone the repository to your local machine using the following command:
-
In the GUI, specify the desired settings for epochs, number of neurons, and number of layers for each task.
-
Start the training process by clicking the "Run" button.
-
Monitor the progress and accuracy of the neural network as it learns from the penguin dataset.
Contributions to this repository are welcome! If you have any ideas, bug fixes, or improvements, please submit a pull request. Make sure to follow the existing coding style and guidelines.
This project is licensed under the MIT License. Feel free to use, modify, and distribute it for both commercial and non-commercial purposes.
We would like to acknowledge the creators and maintainers of the penguin dataset for providing a valuable resource for machine learning tasks. Additionally, we are grateful to the open-source community for their contributions to the field of neural networks, which inspired this repository.