Migrated to Typst!
Gradient descent
Gradient descent is a method to find local optima of a differentiable function . By intuition, the gradient tells us direction of greatest increase, and vice-versa for negative gradient. So we take steps in directions that reduce function value.
The algorithm works as follows:
- Pick an initial point
- Repeat , for
Where is the step size / learning rate.

Possible Stopping Criteria
We could iterate until for
slides 16-17 have some shit ??
Backtracking line search
In exact line search, instead of picking a fixed step size that may or may not result in a decrease in function value, we consider minimising the function along the direction specified by the gradient to guarantee that the next iteration decreases the function value.
We choose
With backtracking line search, we start with a large step size, , and keep shrinking it until
This always guarantees a decrease, but it may not decrease as much as line search. (though in practice this isn’t a huge issue, as it’s still typically faster)
Slide 21 algorithm
slides 22-23 example
Optimality criterion
An unconstrained problem: is optimal if and only if .
Slides 24-28
Subgradients
Slides 29-37
Stochastic gradient descent
Slides 38-41