Neural Networks from Scratch

This project creates a neural network from scratch using basic coding techniques with Python or R, specifically leveraging the basic library or packages, such as NumPy and basic R functionalities. The primary objectives include providing an educational experience to understand the fundamentals of neural networks, offering practical exposure to coding in Python and R, and enabling customization of the network architecture. The proposed methodology involves research, environment setup, data preparation, implementation of neural network components, activation functions, loss functions, training algorithms, testing, evaluation, and thorough documentation. Additionally, time permitting, the exploration of attention mechanisms and a few transformer-based architectures will be included.

Supervisor: Eric Icaza