This repository contains assignments, quizzes, and implementations developed for the Comp417: Neural Networks course. It serves as a practical portfolio that demonstrates foundational knowledge of neural network architectures, core learning algorithms (such as backpropagation), and their application to real-world problems using frameworks like TensorFlow/Keras.
The materials in this repository focus on key areas in foundational and applied neural networks:
- Core Concepts from Scratch: Implementing essential neural network components (like Sigmoid activation, perceptron logic, and backpropagation) using only NumPy.
- Perceptrons and Decision Boundaries: Building multi-layer perceptrons (MLP) to solve non-linear classification problems and define complex decision regions.
- Deep Learning with Keras/TensorFlow: Applying dense neural networks to a real-world dataset for Binary Classification.
- Data Preparation: Practical experience with feature scaling, one-hot encoding, and handling missing data for neural network training.
To run the Python scripts and Jupyter Notebooks in this repository, you need the following libraries.
- Python 3.8+
- Anaconda/Miniconda (Recommended for managing environments)
Clone the repository and install the required dependencies:
# Clone the repository
git clone [https://github.com/abanoub-refaat/Comp417-Neural-Networks.git](https://github.com/abanoub-refaat/Comp417-Neural-Networks.git)
cd Comp417-Neural-Networks
# Create and activate a new virtual environment (Optional but Recommended)
conda create -n nn_env python=3.10
conda activate nn_env
# Install dependencies
pip install numpy pandas matplotlib tensorflow scikit-learn jupyter