Neural Network Tasks

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.

Task 1: Single Layer Perceptron (SLP)

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: Mean Squared Error (MSE) Update

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: Multi-Layer Perceptron (MLP) from Scratch

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.

Getting Started

To get started with the tasks, follow these steps:

  1. Clone the repository to your local machine using the following command:

  2. In the GUI, specify the desired settings for epochs, number of neurons, and number of layers for each task.

  3. Start the training process by clicking the "Run" button.

  4. Monitor the progress and accuracy of the neural network as it learns from the penguin dataset.

Contributing

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.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute it for both commercial and non-commercial purposes.

Acknowledgments

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.