LION.classical_algorithms.fista

FISTA algorithm for l1-regularized problems.

Functions

fista_l1(op, y, lam[, max_iter, tol, L, verbose])

Solves min_w ½||A w - y||² + lam ||w||_1 by FISTA (Beck and Teboulle, 2009), an accelerated proximal-gradient method; see Daubechies, Defrise and De Mol (2004) for ISTA and Parikh and Boyd (2014) for proximal algorithms.

soft_threshold(v, tau)

The soft thresholding of v by tau: sign(v) max(|v| - tau, 0), the proximal operator of tau ||.||_1.


LION.classical_algorithms.fista.fista_l1(op, y, lam, max_iter=200, tol=0.0001, L=None, verbose=1)[source]

Solves min_w ½||A w - y||² + lam ||w||_1 by FISTA (Beck and Teboulle, 2009), an accelerated proximal-gradient method; see Daubechies, Defrise and De Mol (2004) for ISTA and Parikh and Boyd (2014) for proximal algorithms. Returns w, with the shape of op.adjoint(y).

op: the linear operator, called as op(w) and op.adjoint(r); y: the measurements (M,); lam: the l1 weight; max_iter; tol: stop when ||w_next - w|| / (||w|| + 1e-8) < tol; L: the Lipschitz constant of AᵀA (None: estimated by the power method); verbose: 0 nothing, 1 (default) a progress bar, 2 with the objective and the relative change (one more op(w) per iteration).

References: Beck and Teboulle, “A fast iterative shrinkage-thresholding algorithm for linear inverse problems”, SIAM J. Imaging Sciences 2(1):183-202, 2009. Daubechies, Defrise and De Mol, “An iterative thresholding algorithm for linear inverse problems with a sparsity constraint”, Comm. Pure Appl. Math. 57(11):1413-1457, 2004. Parikh and Boyd, “Proximal Algorithms”, Foundations and Trends in Optimization 1(3):127-239, 2014.

LION.classical_algorithms.fista.soft_threshold(v, tau)[source]

The soft thresholding of v by tau: sign(v) max(|v| - tau, 0), the proximal operator of tau ||.||_1.