Learn R Programming

smoothedLasso (version 1.6)

objFunctionSmoothGradient: Auxiliary function which computes the gradient of the smoothed L1 penalized regression operator.

Description

Auxiliary function which computes the gradient of the smoothed L1 penalized regression operator.

Usage

objFunctionSmoothGradient(betavector, w, du, dv, dw, mu, entropy = TRUE)

Arguments

betavector

The vector of regression coefficients.

w

The function encoding the dependence structure among the regression coefficients.

du

The derivative (gradient) of the objective of the regression operator.

dv

The derivative (gradient) of the penalty of the regression operator.

dw

The derivative (Jacobian matrix) of the function encoding the dependence structure among the regression coefficients.

mu

The Nesterov smoothing parameter.

entropy

A boolean switch to select the entropy prox function (default) or the squared error prox function.

Value

The value of the gradient for the input \(betavector\).

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

Run this code
# NOT RUN {
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)
print(objFunctionSmoothGradient(betavector,temp$w,temp$du,temp$dv,temp$dw,mu=0.1))

# }

Run the code above in your browser using DataLab