Neural Networks from Scratch: Implementing Linear Layer and Stochastic Gradient Descent