Describe in your own words how gradient descent works.
Write your own method of finding the minimum of a function numerically.
Consider the minimize function from scipy.optimize.
Suppose you give the function one starting point and receive a minimum of 10.
Then, you give the function another starting point and receive a minimum of -10.
What might be happening? How could you address this?