Description Usage Arguments Value References Examples
View source: R/smoothedLasso.r
Minimize the objective function of a smoothed regression operator with respect to betavector using the progressive smoothing algorithm.
1 | minimizeSmoothedSequence(p, obj, objgrad, muSeq = 2^seq(3, -6))
|
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\}. |
The estimator betavector (minimizer) of the regression operator.
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.
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))
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.