PRTools contents |
NUSVO
[V,J,NU,C] = NUSVO(K,NLAB,NU,OPTIONS)
Input | |
K | Similarity matrix |
NLAB | Label list consisting of -1/+1 |
NU | Regularization parameter (0 < NU < 1): expected fraction of SV (optional; default: 0.01) |
OPTIONS | |
.PD_CHECK | force positive definiteness of the kernel by adding a small constant to a kernel diagonal (default: 1) |
.BIAS_IN_ADMREG | it may happen that bias of svc (b term) is not defined, then if BIAS_IN_ADMREG == 1, b will be taken from its admissible region (if the region is bounded, the midpoint will be used); if BIAS_IN_ADMREG == 0 the situation will be considered as an optimization failure and treated accordingly (deafault: 1) |
.ALLOW_UB_BIAS_ADMREG | it may happen that bias admissible region is unbounded if ALLOW_UB_BIAS_ADMREG == 1, b will be heuristically taken from its admissible region, otherwise(ALLOW_UB_BIAS_ADMREG == 0) the situation will be considered as an optimization failure and treated accordingly (deafault: 1) |
.PF_ON_FAILURE | if the optimization is failed (optimizer did not converge, or there are problems with finding of the bias term and PF_ON_FAILURE == 1, then Pseudo Fisher classifier will be computed, otherwise (PF_ON_FAILURE == 0) an error will be issued (default: 1) |
Output | |
V | Vector of weights for the support vectors |
J | Index vector pointing to the support vectors |
NU | NU parameter (useful when NU was automatically selected) |
C | C regularization parameter of SVC algorithm, which gives the same classifier |
A low level routine that optimizes the set of support vectors for a 2-class classification problem based on the similarity matrix K computed from the training set. SVO is called directly from SVC. The labels NLAB should indicate the two classes by +1 and -1. Optimization is done by a quadratic programming. If available, the QLD function is used, otherwise an appropriate Matlab routine.
NU is bounded from above by NU_MAX = (1 - ABS(Lp-Lm)/(Lp+Lm)), where Lp (Lm) is the number of positive (negative) samples. If NU > NU_MAX is supplied to the routine it will be changed to the NU_MAX.
If NU is less than some NU_MIN which depends on the overlap between classes algorithm will typically take long time to converge (if at all). So, it is advisable to set NU larger than expected overlap.
Weights V are rescaled in a such manner as if they were returned by SVO with the parameter C.
PRTools contents |