50% off | Unlimited Data & AI Learning
Get 50% off unlimited learning

gelnet (version 1.2.1)

L1.ceiling: The largest meaningful value of the L1 parameter

Description

Computes the smallest value of the LASSO coefficient L1 that leads to an all-zero weight vector for a given linear regression problem.

Usage

L1.ceiling(X, y, a = rep(1, nrow(X)), d = rep(1, ncol(X)), P = diag(ncol(X)), m = rep(0, ncol(X)), l2 = 1, balanced = FALSE)

Arguments

X
n-by-p matrix of n samples in p dimensions
y
n-by-1 vector of response values. Must be numeric vector for regression, factor with 2 levels for binary classification, or NULL for a one-class task.
a
n-by-1 vector of sample weights (regression only)
d
p-by-1 vector of feature weights
P
p-by-p feature association penalty matrix
m
p-by-1 vector of translation coefficients
l2
coefficient for the L2-norm penalty
balanced
boolean specifying whether the balanced model is being trained (binary classification only) (default: FALSE)

Value

The largest meaningful value of the L1 parameter (i.e., the smallest value that yields a model with all zero weights)

Details

The cyclic coordinate descent updates the model weight $w_k$ using a soft threshold operator $ S( \cdot, \lambda_1 d_k ) $ that clips the value of the weight to zero, whenever the absolute value of the first argument falls below $\lambda_1 d_k$. From here, it is straightforward to compute the smallest value of $\lambda_1$, such that all weights are clipped to zero.