Description Usage Arguments Details Value Author(s) References See Also
minimizes the objective function 0.5a'Qa + b'a with respect to "a" subject to 0 <= a <= C, or to the constraints lower <= a <= upper, v <= Ax <= v + r.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
minQuad(H,b,C = 1.0,n1=0,n2=0,
mem.efficient = FALSE,alpha = NULL,
lower = NULL,upper = NULL,mat.constr = NULL, lhs.constr = NULL,rhs.constr = NULL,
control = list(DUP = TRUE,maxit = 1e4, tol = 1e-04,
verbose = FALSE, ret.ws = FALSE,ret.data = FALSE,
rank = 0,
method = c("default","tron","loqo","exhaustive","x"),
optim.control = list(),
q = 2,
ws = c("v","v2","greedy","rv2wg","rvwg","rv","rv2")
)
)
|
H |
A symmetric matrix whose |
b |
a numeric vector of length 'n' whose |
C |
a numeric variable whose |
n1,n2 |
integer variables giving the specific values for n1 = #{diseased}, n2 = #{non-diseased} |
subjects if mem.efficient = TRUE.
mem.efficient |
logical, if FALSE then 'H' is represented by the (n1n2 x n1n2) matrix 'Q' else by the (n1+n2 x n1+n2) matrix 'K', defaults to FALSE. |
alpha |
a length-n1n2 vector vector of initial values for "alpha", whose |
control |
a list with control parameters. See |
mat.constr |
m x n constraint matrix for loqo optimizer |
lhs.constr |
numeric of length 'm', the left hand side constraints for loqo optimizer |
rhs.constr |
numeric of length 'm', theleft hand side for constraints for loqo optimizer |
lower |
numeric of length 'n', the lower bounds on primal valriables for loqo optimizer |
upper |
numeric of length 'n', the upper bounds on primal valriables for loqo optimizer |
The function minQuad passes its arguments by "reference" via the
.C function call to C if DUP = FALSE to avoid copying the large matrix "Q".
When 'H' = 'Q', 'Q' is a symmetric matrix and should have numeric type "double",
be of type "matrix" not of "data.frame": is.matrix(.) should return "TRUE".
We do not make an extra copy by tranposing Q but access the 'flattened' vector in C directly since 'Q' is symmetric.
When 'mem.efficient' = TRUE 'H' = K_{n1+n2 x n1+n2} and may be obtained by the function getK. 'K' is relevant to AUC
estimation, see rauc for more details.
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]|.
Three methods are available, "tron","hideo" and "exhaustive". Optimizer 'x' is a slightly faster implementation of the exhaustive method, whereas
'default' is a fast implementation for q = 2 only. The "exhaustive" method should probably not be used beyond working set size
q = 8,10 on most computers.
The 'loqo' optimizer accepts constraints of the form v <= A*x <= v + r, lower <= x <= upper. v = lhs.constr and
r = rhs.constr - lhs.constr . The entries in 'v','r' and 'A' must be finite.
When verbose is TRUE, each DCA iteration prints one line. Delta means, for the linear kernel, max(abs((beta.new-beta.init)/beta.init)), and for the nonlinear kernel the difference in penalized RAUC loss. epsilon is the KKT criterion of minQuad.
A list with the following elements:
convergence |
0 if converged, 1 if maximum iteration is reached. |
alpha |
estimated vector of coefficients. |
value |
value of the objective function. |
iterations |
number of iterations until convergence or "maxit" reached. |
epsilon |
stopping 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. |
control |
the control argument. |
ws |
if requested, the working set selected at current iteration. |
Krisztian Sebestyen ksebestyen@gmail.com
Youyi Fong youyifong@gmail.com
Shuxin Yin
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/
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.