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.