Understand machine learning and deep learning by building linear regression and gradient descent from the ground up.