https://digitallearningai.com/the-math-behind-neural-networks/