Machine Learning and Deep Learning from Scratch