minimizeSmoothedSequence {smoothedLasso}R Documentation

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

Description

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

Usage

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 betavectorbetavector and mumu.

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 betavectorbetavector and mumu.

muSeq

The sequence of Nesterov smoothing parameters. The default is 2n2^{-n} for n{3,,6}n \in \{-3,\ldots,6\}.

Value

The estimator betavectorbetavector (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

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))


[Package smoothedLasso version 1.6 Index]