The proximal gradient methods in julia. Credit to <A Fast Iterative-Thresholding Algorithm for Linear Inverse Problem> by Amir Beck and Marc Teboule. The implementations is based on their paper and the book by Amir <First-Order method for Optimization> is an essential reference for the theoretical background of this repo.
Run setup.jl with julia. And then you can start running the examples we have.
Smooth and nonsmooth function with gradient and proximal oracles are defined as types. The Proximal Gradient algorithm with adaptive stepsize and Nesterov Accelerations is impelmented in one function in this file.
We consider the LASSO Problem applied to image deblurring. The LASSO problem is simply:
in which we solve it using the FISTA algorithm with
Read this for more math. We did:
- Coding up numerical experiment.
- Proved and explained everything.
- Showed where the Nesterov Momentum came from.