Learn R Programming

aucm (version 2016.1-2)

control.minQuad: control.minQuad

Description

Control function to minQuad

Usage

control.minQuad(
    maxit = 1e4, tol = 1e-04, 
    q = 0,
    ws = c("v","v2","greedy","rv2wg","rvwg","rv","rv2"),
    method = c("default","tron","loqo","exhaustive","x"),
	optim.control = list(),
    rank = 0,
	DUP = FALSE,
	NAOK = FALSE,
	verbose = FALSE, 
	ret.ws = FALSE,
	ret.data = FALSE
)

Arguments

rank
a nonnegative integer indicating the 'rank' of the design matrix, only used by by method 'exhaustive' or 'x'. if zero it is estimated by the singular value decomposition of each 'sub-matrix' associated with the sub-optimization problem
method
a character string (first letter is sufficient) indicating which quadratic optmizer to use, defaults to 'default'. See details.
optim.control
a list of control parameters to methods 'tron' or 'loqo'; 'tron' : list(maxfev = 1000,fatol = tol,frtol = tol,cgtol=tol,gtol=tol,fmin = -.Machine$double.xmax), 'loqo' : list(bound = 10,margin=0.05,maxiter=40,sigfig = 7,inf = 1e6)
q
size of the working set, will be set to 2 for all methods except for method = 'tron' when it defaults to NULL. In that case workings set size is automatically chosen to be sqrt(#violators) at each iteration.
ws
a character string indicating the strategy of how to select the working set, defaults to "rv2wg", see details.
maxit
maximum number of iterations whose typeof returns "integer".
tol
tolerance for termination criterion whose typeof returns "double".
DUP
should arguments be passed by reference ? defaults to FALSE.
NAOK
should NA's,NaN's be allowed to be passed to C code (no checking) ? defaults to FALSE.
verbose
some output at each iteration, possible values are FALSE/TRUE or and integer if more details are wanted, defaults to FALSE.
ret.ws
defaults to FALSE, indicates whether to return the working set selected at each iteration.
ret.data
defaults to FALSE, indicates whether to return the data passed to minQuad.

Value

  • A list with the following elements:
  • convergence0 if converged, 1 if maximum iteration is reached.
  • alphaestimated vector of coefficients.
  • valuevalue of the objective function.
  • iterationsnumber of iterations until convergence or "maxit" reached.
  • epsilonstopping rule value to be compared to "tol".
  • n
  • nSV#{0 < a}, no. of support vectors.
  • nBSV#{a==C}, no. of bounded support vectors.
  • nFSV#{0 < alpha < C}, no. of unbounded support vectors.
  • controlthe control argument.
  • wsif requested, the working set selected at current iteration.

Details

Four quadratic optimizers are available within minQuad, "default", "tron", "loqo" and "exhaustive" (optimizer 'x' is a slightly faster implementation of the exhaustive method). For working set size q = 2, the 'default' option is a fast implementation that loosely minimizes the quadratic objective function, which is often sufficient to achieve convergence in the DCA-loop in rauc. For working set size q = 2, the 'default' option minimizes the quadratic objective function by "solving" an associated equation at each data point. The "exhaustive" method is a brute-force method that gives an exact solution to each quadratic sub-problem in minQuad and should probably not be used beyond working set size q = 8,10 on most computers. Method 'tron' is a positive semidefinite quadratic optimizer and thus well suited for low-rank problems - for this method 'q' can be larger, ~100 or perhaps even ~1000. Method 'loqo' is a positive definite quadratic optimizer that accepts 'm' constraints specified by (m x n) matrix A in the form v <= a*x="" <="v+r" with="" both="" v="" and="" r="" finite.="" the="" default value="" of="" size="" working="" set="" 'q'="" is="" 0.="" this="" means="" that="" if="" 'method'="" 'tron'="" then="" automatically="" to="" sqrt(no.="" violators)="" at="" current="" iteration="" in="" minQuad (rounded up). Otherwise 'q' defaults to 2 but may be set to any nonzero integer that is greater than 1. The "ws" argument sets the type of strategy to select the working set. Denote the two sets of violators as V0 = {1 if (a[p] > 0.0),(df[p] > 0.0), 0 ow.}, VC = {1 if (a[p] < C),(df[p] < 0.0), 0 ow.} where "df[a]" stands for the gradient of the objective function at 'a'. "greedy" selects the extremes pairs (max,min) from the two sets (M,m) where M = {-df[i] , a[i] < C} and m = {-df[j] | a[j] > 0}. "v" selects from violators V = V0 U VC ranked by |df|. "v2" selects separately from V0 and VC separately, ranked by |df|. "rv" selects without replacement (WOR) from all violators. "rvwg" selects WOR from all violators V with probability ~ |df[V]|. "rv2wg" selects WOR from the two sets of violators V0 and VC with probability ~ |df[V]|.

References

Combining Biomarkers Nonlinearly for Classification Using the Area Under the ROC Curve Y. FONG, S. YIN, Y. HUANG Biometrika (2012), pp 1-28 Newton's method for large bound-constrained optimization problems Lin, C.J. and More, J.J. SIAM Journal on Optimization (1999), volume 9, pp 1100-1127. kernlab - An S4 Package for Kernel Methods in R. Alexandros Karatzoglou, Alex Smola, Kurt Hornik, Achim Zeileis Journal of Statistical Software (2004) 11(9), 1-20. URL http://www.jstatsoft.org/v11/i09/

See Also

rauc, minQuad