Skip to contents

Minimises F(b) = 0.5 ||X b - y||^2 + lam ||b||_1 by the accelerated proximal-gradient scheme of Beck and Teboulle (2009, Sect. 4): x_k = soft(y_k - grad f(y_k)/L, lam/L), t_{k+1} = (1 + sqrt(1 + 4 t_k^2))/2, y_{k+1} = x_k + ((t_k - 1)/t_{k+1})(x_k - x_{k-1}).

Usage

Fistalasso(X, y, lam, steps = 100, lipschitz = NULL)

Arguments

X

Design matrix, one record per row.

y

Response vector of length n.

lam

L1 penalty, non-negative.

steps

Fixed number of FISTA iterations.

lipschitz

Step constant L; NULL uses a fixed 50-step power iteration on X'X.

Value

List with beta, objective, rss, l1, lipschitz, steps, nonzero, n, p.

References

Beck, A. and Teboulle, M. (2009), SIAM Journal on Imaging Sciences 2(1), 183-202, Section 4. Standard published form of FISTA; standard published form.

Examples

Fistalasso(X = c(1, 2, 3, 4, 5, 6, 7, 8), y = c(1, 2, 3, 4, 5, 6, 7, 8), lam = 5L)
#> $beta
#> [1] 0.9754902
#> 
#> $objective
#> [1] 4.938725
#> 
#> $rss
#> [1] 0.06127451
#> 
#> $l1
#> [1] 0.9754902
#> 
#> $lipschitz
#> [1] 204
#> 
#> $steps
#> [1] 100
#> 
#> $nonzero
#> [1] 1
#> 
#> $n
#> [1] 8
#> 
#> $p
#> [1] 1
#> 
#> $method
#> [1] "FISTA for the LASSO (Beck-Teboulle 2009 Sect. 4)"
#> 
#> attr(,"class")
#> [1] "morie_rich_result" "list"