minimizeSmoothedSequence: Minimize the objective function of a smoothed regression... In smoothedLasso: A Framework to Smooth L1 Penalized Regression Operators using Nesterov Smoothing

Description

Minimize the objective function of a smoothed regression operator with respect to betavector using the progressive smoothing algorithm.

Usage

 1 minimizeSmoothedSequence(p, obj, objgrad, muSeq = 2^seq(3, -6)) 

Arguments

 p The dimension of the unknown parameters (regression coefficients). obj The objective function of the regression operator. Note that in the case of the progressive smoothing algorithm, the objective function must be a function of both betavector and mu. objgrad The gradient function of the regression operator. Note that in the case of the progressive smoothing algorithm, the gradient must be a function of both betavector and mu. muSeq The sequence of Nesterov smoothing parameters. The default is 2^{-n} for n \in \{-3,…,6\}.

Value

The estimator betavector (minimizer) of the regression operator.

References

Hahn, G., Lutz, S., Laha, N., and Lange, C. (2020). A framework to efficiently smooth L1 penalties for linear regression. bioRxiv:2020.09.17.301788.

Examples

  1 2 3 4 5 6 7 8 9 10 11 library(smoothedLasso) n <- 100 p <- 500 betavector <- runif(p) X <- matrix(runif(n*p),nrow=n,ncol=p) y <- X %*% betavector lambda <- 1 temp <- standardLasso(X,y,lambda) obj <- function(z,m) objFunctionSmooth(z,temp$u,temp$v,temp$w,mu=m) objgrad <- function(z,m) objFunctionSmoothGradient(z,temp$w,temp$du,temp$dv,temp\$dw,mu=m) print(minimizeSmoothedSequence(p,obj,objgrad)) 

smoothedLasso documentation built on March 21, 2021, 9:07 a.m.