Description Usage Arguments Details Value Author(s)
Fit solution paths for sparse linear SVM regularized by lasso or elastic-net over a grid of values for the regularization parameter lambda.
1 2 3 4 5 | bigSVM(X, y, row.idx = 1:nrow(X), alpha = 1, gamma = 0.1, nlambda = 100,
lambda.min = ifelse(nrow(X) > ncol(X), 0.001, 0.01), lambda,
preprocess = c("standardize", "rescale", "none"), screen = c("ASR", "SR",
"none"), max.iter = 1000, eps = 1e-05, dfmax = ncol(X) + 1,
penalty.factor = rep(1, ncol(X)), message = FALSE)
|
X |
Input matrix, without an intercept. It must be a
|
y |
Response vector. |
row.idx |
The integer vector of row indices of |
alpha |
The elastic-net mixing parameter that controls the relative
contribution from the lasso and the ridge penalty. It must be a number
between 0 and 1. |
gamma |
The tuning parameter for huberization smoothing of hinge loss. Default is 0.01. |
nlambda |
The number of lambda values. Default is 100. |
lambda.min |
The smallest value for lambda, as a fraction of lambda.max, the data derived entry value. Default is 0.001 if the number of observations is larger than the number of variables and 0.01 otherwise. |
lambda |
A user-specified sequence of lambda values. Typical usage is
to leave blank and have the program automatically compute a |
preprocess |
Preprocessing technique to be applied to the input. Either
"standardize" (default), "rescale" or "none" (see |
screen |
Screening rule to be applied at each |
max.iter |
Maximum number of iterations. Default is 1000. |
eps |
Convergence threshold. The algorithms continue until the maximum
change in the objective after any coefficient update is less than |
dfmax |
Upper bound for the number of nonzero coefficients. The
algorithm exits and returns a partial path if |
penalty.factor |
A numeric vector of length equal to the number of
variables. Each component multiplies |
message |
If set to TRUE, sparseSVM will inform the user of its progress. This argument is kept for debugging. Default is FALSE. |
The sequence of models indexed by the regularization parameter lambda
is fitted using a semismooth Newton coordinate descent algorithm. The
objective function is defined to be
∑ hingeLoss(y_i x_i^T w) /n + λ*penalty.
where
hingeLoss(t) = max(0, 1-t)
and the intercept is unpenalized.
The program supports different types of preprocessing techniques. They are
applied to each column of the input matrix X. Let x be a column of
X. For preprocess = "standardize", the formula is
x' = (x-mean(x))/sd(x);
for preprocess =
"rescale",
x' = (x-min(x))/(max(x)-min(x)).
The models are fit with preprocessed input, then the coefficients are transformed back to the original scale via some algebra.
The function returns an object of S3 class "bigSVM", which
is a list containing:
call |
The call that produced this object. |
weights |
The fitted matrix of coefficients. The number of rows is
equal to the number of coefficients, and the number of columns is equal to
|
iter |
A vector of length
|
saturated |
A logical flag for whether the
number of nonzero coefficients has reached |
lambda |
The sequence of regularization parameter values in the path. |
alpha |
Same as above. |
gamma |
Same as above. |
penalty.factor |
Same as above. |
nv |
The variable screening rules are accompanied with checks
of optimality conditions. When violations occur, the program adds in
violating variables and re-runs the inner loop until convergence. |
Yaohui Zeng and Congrui Yi
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.