Quadratic program solver for multi class SVM problems. More...
#include <shark/Algorithms/QP/QpMcDecomp.h>
Classes | |
struct | tExample |
data structure describing one training example More... | |
struct | tVariable |
data structure describing one variable of the problem More... | |
Public Types | |
typedef Matrix::QpFloatType | QpFloatType |
typedef blas::matrix< QpFloatType > | QpMatrixType |
typedef blas::matrix_row< QpMatrixType > | QpMatrixRowType |
typedef blas::matrix_column< QpMatrixType > | QpMatrixColumnType |
Public Member Functions | |
QpMcDecomp (Matrix &kernel, RealMatrix const &_gamma, UIntVector const &_rho, QpSparseArray< QpFloatType > const &_nu, QpSparseArray< QpFloatType > const &_M, bool sumToZeroConstraint) | |
void | solve (Data< unsigned int > const &target, double C, RealVector &solutionAlpha, QpStoppingCondition &stop, QpSolutionProperties *prop=NULL, RealVector *solutionBias=NULL) |
solve the quadratic program More... | |
void | solveSMO (Data< unsigned int > const &target, double C, RealVector &solutionAlpha, QpStoppingCondition &stop, QpSolutionProperties *prop=NULL, RealVector *solutionBias=NULL) |
solve the quadratic program with SMO More... | |
void | setShrinking (bool shrinking=true) |
enable/disable shrinking More... | |
Protected Member Functions | |
void | initializeLP () |
void | solveForBias (double epsilon) |
void | solveEdge (double &alpha, double g, double Q, double U, double &mu) |
void | solve2D_box (double &alphai, double &alphaj, double gi, double gj, double Qii, double Qij, double Qjj, double Ui, double Uj, double &mui, double &muj) |
void | solve2D_triangle (double &alphai, double &alphaj, double &alphasum, double gi, double gj, double Qii, double Qij, double Qjj, double &mui, double &muj) |
double | checkKKT () |
return the largest KKT violation More... | |
double | selectWorkingSet (std::size_t &i, std::size_t &j) |
select the working set More... | |
double | selectWorkingSetSMO (std::size_t &i, std::size_t &j) |
select the working set for SMO More... | |
void | shrink (double epsilon) |
Shrink the problem. More... | |
void | unshrink (double epsilon, bool complete) |
Activate all variables. More... | |
void | deactivateVariable (std::size_t v) |
shrink a variable More... | |
void | deactivateExample (std::size_t e) |
shrink an examples More... | |
Protected Attributes | |
bool | bUnshrinked |
true if the problem has already been unshrinked More... | |
std::vector< tExample > | example |
information about each training example More... | |
std::vector< tVariable > | variable |
information about each variable of the problem More... | |
std::vector< std::size_t > | storage1 |
space for the example[i].var pointers More... | |
std::vector< std::size_t > | storage2 |
space for the example[i].avar pointers More... | |
std::size_t | examples |
number of examples in the problem (size of the kernel matrix) More... | |
unsigned int | classes |
number of classes in the problem More... | |
unsigned int | cardP |
number of dual variables per example More... | |
unsigned int | cardR |
number of slack variables per example More... | |
std::size_t | variables |
number of variables in the problem = examples times cardP More... | |
Matrix & | kernelMatrix |
kernel matrix (precomputed matrix or matrix cache) More... | |
RealMatrix const & | gamma |
target margins More... | |
UIntVector const & | rho |
mapping connecting constraints (dual variables) to slack variables More... | |
QpSparseArray< QpFloatType > const & | nu |
margin coefficients More... | |
QpSparseArray< QpFloatType > const & | M |
kernel modifiers More... | |
bool | sumToZero |
indicates whether there a sum-to-zero constraint in the problem More... | |
double | C |
complexity constant; upper bound on all variables More... | |
RealVector | linear |
linear part of the objective function More... | |
std::size_t | activeEx |
number of currently active examples More... | |
std::size_t | activeVar |
number of currently active variables More... | |
RealVector | gradient |
RealVector | alpha |
solution candidate More... | |
RealVector * | bias |
solution candidate More... | |
bool | useShrinking |
should the solver use the shrinking heuristics? More... | |
Quadratic program solver for multi class SVM problems.
Definition at line 187 of file QpMcDecomp.h.
typedef Matrix::QpFloatType shark::QpMcDecomp< Matrix >::QpFloatType |
Definition at line 195 of file QpMcDecomp.h.
typedef blas::matrix_column<QpMatrixType> shark::QpMcDecomp< Matrix >::QpMatrixColumnType |
Definition at line 198 of file QpMcDecomp.h.
typedef blas::matrix_row<QpMatrixType> shark::QpMcDecomp< Matrix >::QpMatrixRowType |
Definition at line 197 of file QpMcDecomp.h.
typedef blas::matrix<QpFloatType> shark::QpMcDecomp< Matrix >::QpMatrixType |
Definition at line 196 of file QpMcDecomp.h.
|
inline |
Constructor
kernel | kernel matrix - cache or pre-computed matrix |
_gamma | _gamma(y, p) is the target margin of constraint p for examples of class y |
_rho | mapping from constraints to slack variables |
_nu | margin coefficients in the format \( \nu_{y,p,c} = _\nu(|P|*y+p, c) \) |
_M | kernel modifiers in the format \( M_(y_i, p, y_j, q) = _M(classes*(y_i*|P|+p_i)+y_j, q) \) |
sumToZeroConstraint | enable or disable the sum-to-zero constraint |
Definition at line 207 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::cardR, shark::QpMcDecomp< Matrix >::classes, shark::QpMcDecomp< Matrix >::examples, shark::QpMcDecomp< Matrix >::gamma, shark::QpMcDecomp< Matrix >::kernelMatrix, shark::QpMcDecomp< Matrix >::M, shark::QpMcDecomp< Matrix >::nu, shark::QpMcDecomp< Matrix >::rho, SHARK_CHECK, SHARKEXCEPTION, shark::QpMcDecomp< Matrix >::useShrinking, and shark::QpMcDecomp< Matrix >::variables.
|
inlineprotected |
return the largest KKT violation
Definition at line 1375 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::tExample::active, shark::QpMcDecomp< Matrix >::activeEx, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::tExample::avar, shark::QpMcDecomp< Matrix >::C, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::cardR, shark::QpMcDecomp< Matrix >::gradient, SHARK_ASSERT, and shark::QpMcDecomp< Matrix >::tExample::varsum.
Referenced by shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
inlineprotected |
shrink an examples
Definition at line 1945 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::activeEx, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::kernelMatrix, SHARK_ASSERT, shark::swap(), and shark::QpMcDecomp< Matrix >::variable.
Referenced by shark::QpMcDecomp< Matrix >::shrink().
|
inlineprotected |
shrink a variable
Definition at line 1907 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::tExample::active, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::tExample::avar, shark::QpMcDecomp< Matrix >::gradient, h, shark::QpMcDecomp< Matrix >::linear, shark::swap(), shark::QpMcDecomp< Matrix >::tExample::var, and shark::QpMcDecomp< Matrix >::variable.
Referenced by shark::QpMcDecomp< Matrix >::shrink().
|
inlineprotected |
Initialize the linear project member LP for solving the problem with bias parameters.
Definition at line 882 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
inlineprotected |
select the working set
Select one or two variables for the sub-problem and return the maximal KKT violation. The method MAY select the same index for i and j. In that case the working set consists of a single variable. The working set may be invalid if the method reports a KKT violation of zero, indicating optimality.
Definition at line 1439 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::tExample::active, shark::QpMcDecomp< Matrix >::activeEx, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::tExample::avar, shark::QpMcDecomp< Matrix >::C, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::cardR, shark::QpMcDecomp< Matrix >::classes, shark::QpSparseArray< QpFloatType >::Row::defaultvalue, shark::QpMcDecomp< Matrix >::tVariable::diagonal, shark::QpSparseArray< QpFloatType >::Row::entry, GAIN_SELECTION_BOX, GAIN_SELECTION_TRIANGLE, shark::QpMcDecomp< Matrix >::gradient, shark::QpMcDecomp< Matrix >::tVariable::i, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcDecomp< Matrix >::kernelMatrix, shark::QpMcDecomp< Matrix >::M, shark::QpMcDecomp< Matrix >::tVariable::p, shark::blas::row(), SHARK_ASSERT, shark::QpSparseArray< QpFloatType >::Row::size, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcDecomp< Matrix >::tExample::var, shark::QpMcDecomp< Matrix >::variable, shark::QpMcDecomp< Matrix >::tExample::varsum, and shark::QpMcDecomp< Matrix >::tExample::y.
Referenced by shark::QpMcDecomp< Matrix >::solve().
|
inlineprotected |
select the working set for SMO
Select one or two variables for the sub-problem and return the maximal KKT violation. The method MAY select the same index for i and j. In that case the working set consists of a single variable. The working set may be invalid if the method reports a KKT violation of zero, indicating optimality.
Definition at line 1720 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::C, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::cardR, shark::QpMcDecomp< Matrix >::gradient, SHARKEXCEPTION, and shark::QpMcDecomp< Matrix >::variable.
Referenced by shark::QpMcDecomp< Matrix >::solveSMO().
|
inline |
enable/disable shrinking
Definition at line 876 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::useShrinking.
Referenced by shark::McSvmMMRTrainer< InputType, CacheType >::train().
|
inlineprotected |
Shrink the problem.
Definition at line 1766 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::activeEx, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::bUnshrinked, shark::QpMcDecomp< Matrix >::C, shark::QpMcDecomp< Matrix >::deactivateExample(), shark::QpMcDecomp< Matrix >::deactivateVariable(), shark::QpMcDecomp< Matrix >::gradient, shark::QpMcDecomp< Matrix >::kernelMatrix, shark::QpMcDecomp< Matrix >::unshrink(), and shark::QpMcDecomp< Matrix >::variable.
Referenced by shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
inline |
solve the quadratic program
target | class labels in {0, ..., classes-1} |
C | regularization constant, upper bound on all variables |
solutionAlpha | input: initial feasible vector \( \alpha \); output: solution \( \alpha^* \) |
stop | stopping condition(s) |
prop | solution properties (may be NULL) |
solutionBias | input: initial bias parameters \( b \); output: solution \( b^* \). If this parameter is NULL, then the corresponding problem without bias is solved. |
Definition at line 258 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::activeEx, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::bias, shark::QpMcDecomp< Matrix >::bUnshrinked, shark::QpMcDecomp< Matrix >::C, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::cardR, shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::classes, shark::Data< Type >::element(), shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpMcDecomp< Matrix >::examples, shark::QpMcDecomp< Matrix >::gamma, shark::QpMcDecomp< Matrix >::gradient, GRADIENT_UPDATE, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcDecomp< Matrix >::initializeLP(), ITERATIONS_BETWEEN_SHRINKING, shark::QpMcDecomp< Matrix >::kernelMatrix, shark::QpMcDecomp< Matrix >::linear, shark::QpMcDecomp< Matrix >::M, shark::QpStoppingCondition::maxIterations, shark::QpStoppingCondition::maxSeconds, shark::QpStoppingCondition::minAccuracy, shark::Timer::now(), shark::QpMcDecomp< Matrix >::nu, shark::Data< Type >::numberOfElements(), shark::QpAccuracyReached, shark::QpMaxIterationsReached, shark::QpTimeout, shark::blas::row(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), SHARK_ASSERT, shark::QpMcDecomp< Matrix >::shrink(), shark::QpSparseArray< QpFloatType >::Row::size, SIZE_CHECK, shark::QpMcDecomp< Matrix >::solve2D_box(), shark::QpMcDecomp< Matrix >::solve2D_triangle(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::storage1, shark::QpMcDecomp< Matrix >::storage2, shark::QpMcDecomp< Matrix >::unshrink(), shark::QpMcDecomp< Matrix >::useShrinking, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcDecomp< Matrix >::variable, shark::QpMcDecomp< Matrix >::variables, and w.
Referenced by shark::McSvmMMRTrainer< InputType, CacheType >::train().
|
inlineprotected |
Exact solver for the S2DO problem for the case that the sub-problem has box-constraints. The method updates alpha and in addition returns the step mu.
Definition at line 1186 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::solveEdge().
Referenced by shark::QpMcDecomp< Matrix >::solve().
|
inlineprotected |
Exact solver for the S2DO problem for the case that the sub-problem has simplex-constraints. The method updates alpha and in addition returns the step mu.
Definition at line 1271 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::C, and shark::QpMcDecomp< Matrix >::solveEdge().
Referenced by shark::QpMcDecomp< Matrix >::solve().
|
inlineprotected |
Exact solver for the one-dimensional sub-problem
maximize \( g \alpha - Q/2 \mu^2 \)
such that \( 0 \leq \alpha \leq U \)
The method returns the optimal alpha as well as the step mu leading to the update \( \alpha \leftarrow \alpha + \mu \).
Definition at line 1146 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::alpha.
Referenced by shark::QpMcDecomp< Matrix >::solve2D_box(), and shark::QpMcDecomp< Matrix >::solve2D_triangle().
|
inlineprotected |
Solve the primal problem with fixed weight vectors for the bias variables (and the slack variables, but these are ignored).
Definition at line 953 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::bias, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::cardR, shark::QpMcDecomp< Matrix >::classes, shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpMcDecomp< Matrix >::examples, shark::QpMcDecomp< Matrix >::gradient, shark::QpMcDecomp< Matrix >::tVariable::i, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcDecomp< Matrix >::linear, shark::QpMcDecomp< Matrix >::nu, shark::QpMcDecomp< Matrix >::tVariable::p, shark::blas::row(), SHARK_ASSERT, SHARK_CHECK, shark::QpSparseArray< QpFloatType >::Row::size, shark::blas::sum(), shark::QpMcDecomp< Matrix >::sumToZero, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcDecomp< Matrix >::tExample::var, shark::QpMcDecomp< Matrix >::variable, shark::QpMcDecomp< Matrix >::variables, and shark::QpMcDecomp< Matrix >::tExample::y.
Referenced by shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
inline |
solve the quadratic program with SMO
target | class labels in {0, ..., classes-1} |
C | regularization constant, upper bound on all variables |
solutionAlpha | input: initial feasible vector \( \alpha \); output: solution \( \alpha^* \) |
stop | stopping condition(s) |
prop | solution properties (may be NULL) |
solutionBias | input: initial bias parameters \( b \); output: solution \( b^* \). If this parameter is NULL, then the corresponding problem without bias is solved. |
Definition at line 605 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::activeEx, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::bias, shark::QpMcDecomp< Matrix >::bUnshrinked, shark::QpMcDecomp< Matrix >::C, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::cardR, shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::classes, shark::Data< Type >::element(), shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpMcDecomp< Matrix >::examples, shark::QpMcDecomp< Matrix >::gamma, shark::QpMcDecomp< Matrix >::gradient, GRADIENT_UPDATE, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcDecomp< Matrix >::initializeLP(), ITERATIONS_BETWEEN_SHRINKING, shark::QpMcDecomp< Matrix >::kernelMatrix, shark::QpMcDecomp< Matrix >::linear, shark::QpMcDecomp< Matrix >::M, shark::QpStoppingCondition::maxIterations, shark::QpStoppingCondition::maxSeconds, shark::QpStoppingCondition::minAccuracy, shark::Timer::now(), shark::QpMcDecomp< Matrix >::nu, shark::Data< Type >::numberOfElements(), shark::QpAccuracyReached, shark::QpMaxIterationsReached, shark::QpTimeout, shark::blas::row(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), SHARKEXCEPTION, shark::QpMcDecomp< Matrix >::shrink(), shark::QpSparseArray< QpFloatType >::Row::size, SIZE_CHECK, shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::storage1, shark::QpMcDecomp< Matrix >::storage2, shark::QpMcDecomp< Matrix >::unshrink(), shark::QpMcDecomp< Matrix >::useShrinking, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcDecomp< Matrix >::variable, shark::QpMcDecomp< Matrix >::variables, and w.
Referenced by shark::McSvmMMRTrainer< InputType, CacheType >::train().
|
inlineprotected |
Activate all variables.
Definition at line 1835 of file QpMcDecomp.h.
References shark::QpMcDecomp< Matrix >::tExample::active, shark::QpMcDecomp< Matrix >::activeEx, shark::QpMcDecomp< Matrix >::activeVar, shark::QpMcDecomp< Matrix >::alpha, shark::QpMcDecomp< Matrix >::tExample::avar, shark::QpMcDecomp< Matrix >::cardP, shark::QpMcDecomp< Matrix >::classes, shark::QpSparseArray< QpFloatType >::Row::defaultvalue, shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpMcDecomp< Matrix >::examples, shark::QpMcDecomp< Matrix >::gradient, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcDecomp< Matrix >::kernelMatrix, shark::QpMcDecomp< Matrix >::linear, shark::QpMcDecomp< Matrix >::M, shark::blas::row(), SHARK_ASSERT, shark::QpMcDecomp< Matrix >::shrink(), shark::QpSparseArray< QpFloatType >::Row::size, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcDecomp< Matrix >::tExample::var, shark::QpMcDecomp< Matrix >::variable, shark::QpMcDecomp< Matrix >::variables, and shark::QpMcDecomp< Matrix >::tExample::y.
Referenced by shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
number of currently active examples
Definition at line 2043 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::deactivateExample(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
number of currently active variables
Definition at line 2046 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::deactivateExample(), shark::QpMcDecomp< Matrix >::deactivateVariable(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
solution candidate
Definition at line 2053 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::deactivateVariable(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveEdge(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
solution candidate
Definition at line 2056 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
true if the problem has already been unshrinked
Definition at line 1904 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
complexity constant; upper bound on all variables
Definition at line 2037 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solve2D_triangle(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
number of dual variables per example
Definition at line 2010 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::deactivateExample(), shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
number of slack variables per example
Definition at line 2013 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
number of classes in the problem
Definition at line 2007 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
information about each training example
Definition at line 1992 of file QpMcDecomp.h.
|
protected |
number of examples in the problem (size of the kernel matrix)
Definition at line 2004 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
target margins
Definition at line 2022 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
gradient of the objective function The gradient array is of fixed size and not subject to shrinking.
Definition at line 2050 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::checkKKT(), shark::QpMcDecomp< Matrix >::deactivateVariable(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
kernel matrix (precomputed matrix or matrix cache)
Definition at line 2019 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::deactivateExample(), shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
linear part of the objective function
Definition at line 2040 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::deactivateVariable(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
kernel modifiers
Definition at line 2031 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
margin coefficients
Definition at line 2028 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
mapping connecting constraints (dual variables) to slack variables
Definition at line 2025 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp().
|
protected |
space for the example[i].var pointers
Definition at line 1998 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
space for the example[i].avar pointers
Definition at line 2001 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
indicates whether there a sum-to-zero constraint in the problem
Definition at line 2034 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::solveForBias().
|
protected |
should the solver use the shrinking heuristics?
Definition at line 2059 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::setShrinking(), shark::QpMcDecomp< Matrix >::solve(), and shark::QpMcDecomp< Matrix >::solveSMO().
|
protected |
information about each variable of the problem
Definition at line 1995 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::deactivateExample(), shark::QpMcDecomp< Matrix >::deactivateVariable(), shark::QpMcDecomp< Matrix >::selectWorkingSet(), shark::QpMcDecomp< Matrix >::selectWorkingSetSMO(), shark::QpMcDecomp< Matrix >::shrink(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().
|
protected |
number of variables in the problem = examples times cardP
Definition at line 2016 of file QpMcDecomp.h.
Referenced by shark::QpMcDecomp< Matrix >::QpMcDecomp(), shark::QpMcDecomp< Matrix >::solve(), shark::QpMcDecomp< Matrix >::solveForBias(), shark::QpMcDecomp< Matrix >::solveSMO(), and shark::QpMcDecomp< Matrix >::unshrink().