#include <shark/Algorithms/QP/QpMcSimplexDecomp.h>
Classes | |
struct | Example |
data structure describing one training example More... | |
struct | PreferedSelectionStrategy |
Working set selection eturning th S2DO working set. More... | |
struct | Variable |
data structure describing one variable of the problem More... | |
Public Types | |
typedef Matrix::QpFloatType | QpFloatType |
Public Member Functions | |
QpMcSimplexDecomp (Matrix &kernel, QpSparseArray< QpFloatType > const &M, Data< unsigned int > const &target, RealMatrix const &linearMat, double C) | |
void | setShrinking (bool shrinking=true) |
enable/disable shrinking More... | |
RealMatrix | solution () const |
Returns the solution found. More... | |
RealMatrix | solutionGradient () const |
Returns the gradient of the solution. More... | |
double | functionValue () const |
Compute the objective value of the current solution. More... | |
unsigned int | label (std::size_t i) |
std::size_t | dimensions () const |
std::size_t | cardP () const |
std::size_t | getNumExamples () const |
void | addDeltaLinear (RealMatrix const &deltaLinear) |
change the linear part of the problem by some delta More... | |
void | updateSMO (std::size_t v, std::size_t w) |
bool | shrink (double epsilon) |
Shrink the problem. More... | |
void | unshrink () |
Activate all m_numVariables. More... | |
double | selectWorkingSet (std::size_t &i, std::size_t &j) |
select the working set More... | |
double | checkKKT () const |
return the largest KKT violation More... | |
Protected Member Functions | |
std::pair< std::pair< std::size_t, std::size_t >, double > | maxGainBox (std::size_t i) const |
Finds the second variable of a working set using maximum gain and returns the pair and gain. More... | |
std::pair< std::pair< std::size_t, std::size_t >, double > | maxGainSimplex (std::size_t e) const |
Returns the best variable pair (i,j) and gain for a given example. More... | |
std::pair< std::pair< double, std::size_t >, std::pair< double, std::size_t > > | getSimplexMVP (Example const &ex) const |
For a given simplex returns the MVP indicies (max_up,min_down) More... | |
void | updateVarsum (std::size_t exampleId, double mu) |
void | gradientUpdate (std::size_t r, double mu, float *q) |
void | deactivateVariable (std::size_t v) |
shrink a variable More... | |
void | deactivateExample (std::size_t e) |
shrink an example More... | |
std::size_t | originalIndex (std::size_t v) const |
Returns the original index of the example of a variable in the dataset before optimization. More... | |
Protected Attributes | |
Matrix & | m_kernelMatrix |
kernel matrix (precomputed matrix or matrix cache) More... | |
QpSparseArray< QpFloatType > const & | m_M |
kernel modifiers More... | |
double | m_C |
complexity constant; upper bound on all variabless More... | |
std::size_t | m_classes |
number of classes in the problem More... | |
std::size_t | m_cardP |
number of dual variables per example More... | |
std::size_t | m_numExamples |
number of examples in the problem (size of the kernel matrix) More... | |
std::size_t | m_numVariables |
number of variables in the problem = m_numExamples * m_cardP More... | |
RealVector | m_linear |
linear part of the objective function More... | |
RealVector | m_alpha |
solution candidate More... | |
RealVector | m_gradient |
std::vector< Example > | m_examples |
information about each training example More... | |
std::vector< Variable > | m_variables |
information about each variable of the problem More... | |
std::vector< std::size_t > | m_storage1 |
space for the example[i].var pointers More... | |
std::vector< std::size_t > | m_storage2 |
space for the example[i].avar pointers More... | |
std::size_t | m_activeEx |
number of currently active examples More... | |
std::size_t | m_activeVar |
number of currently active variables More... | |
bool | m_useShrinking |
should the m_problem use the shrinking heuristics? More... | |
bool | bUnshrinked |
true if the problem has already been unshrinked More... | |
Definition at line 50 of file QpMcSimplexDecomp.h.
typedef Matrix::QpFloatType shark::QpMcSimplexDecomp< Matrix >::QpFloatType |
Definition at line 53 of file QpMcSimplexDecomp.h.
|
inline |
Constructor
kernel | kernel matrix - cache or pre-computed matrix |
M | kernel modifiers in the format \( M_(y_i, p, y_j, q) = _M(classes*(y_i*|P|+p_i)+y_j, q) \) |
target | the target labels for the variables |
linearMat | the linear part of the problem |
C | upper bound for all box variables, lower bound is 0. |
Definition at line 74 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::bUnshrinked, shark::Data< Type >::element(), shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_classes, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_kernelMatrix, shark::QpMcSimplexDecomp< Matrix >::m_linear, shark::QpMcSimplexDecomp< Matrix >::m_M, shark::QpMcSimplexDecomp< Matrix >::m_numExamples, shark::QpMcSimplexDecomp< Matrix >::m_numVariables, shark::QpMcSimplexDecomp< Matrix >::m_storage1, shark::QpMcSimplexDecomp< Matrix >::m_storage2, shark::QpMcSimplexDecomp< Matrix >::m_variables, shark::Data< Type >::numberOfElements(), and SHARK_CHECK.
|
inline |
change the linear part of the problem by some delta
Definition at line 181 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_linear, shark::QpMcSimplexDecomp< Matrix >::m_numExamples, shark::QpMcSimplexDecomp< Matrix >::m_numVariables, shark::QpMcSimplexDecomp< Matrix >::m_variables, shark::QpMcSimplexDecomp< Matrix >::originalIndex(), and SIZE_CHECK.
|
inline |
Definition at line 172 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_cardP.
Referenced by shark::BiasSolverSimplex< Matrix >::solve().
|
inline |
return the largest KKT violation
Definition at line 473 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::getSimplexMVP(), shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_C, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::blas::max(), and shark::QpMcSimplexDecomp< Matrix >::Example::varsum.
Referenced by shark::QpMcSimplexDecomp< Matrix >::shrink().
|
inlineprotected |
shrink an example
Definition at line 805 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_kernelMatrix, shark::QpMcSimplexDecomp< Matrix >::m_variables, SHARK_ASSERT, and shark::swap().
Referenced by shark::QpMcSimplexDecomp< Matrix >::deactivateVariable().
|
inlineprotected |
shrink a variable
Definition at line 763 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::Example::active, shark::QpMcSimplexDecomp< Matrix >::Example::avar, shark::QpMcSimplexDecomp< Matrix >::deactivateExample(), h, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_linear, shark::QpMcSimplexDecomp< Matrix >::m_variables, shark::swap(), and shark::QpMcSimplexDecomp< Matrix >::Example::var.
Referenced by shark::QpMcSimplexDecomp< Matrix >::shrink().
|
inline |
Definition at line 169 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_numVariables.
|
inline |
Compute the objective value of the current solution.
Definition at line 161 of file QpMcSimplexDecomp.h.
References shark::blas::inner_prod(), shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_gradient, and shark::QpMcSimplexDecomp< Matrix >::m_linear.
|
inline |
Definition at line 176 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_numExamples.
|
inlineprotected |
For a given simplex returns the MVP indicies (max_up,min_down)
Definition at line 699 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::Example::active, shark::QpMcSimplexDecomp< Matrix >::Example::avar, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_gradient, and SHARK_ASSERT.
Referenced by shark::QpMcSimplexDecomp< Matrix >::checkKKT(), shark::QpMcSimplexDecomp< Matrix >::selectWorkingSet(), and shark::QpMcSimplexDecomp< Matrix >::shrink().
|
inlineprotected |
Definition at line 742 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::Example::active, shark::QpMcSimplexDecomp< Matrix >::Example::avar, shark::QpSparseArray< QpFloatType >::Row::defaultvalue, shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_classes, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_M, shark::blas::row(), shark::QpSparseArray< QpFloatType >::Row::size, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcSimplexDecomp< Matrix >::Example::var, and shark::QpMcSimplexDecomp< Matrix >::Example::y.
Referenced by shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
inline |
Definition at line 165 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_examples.
|
inlineprotected |
Finds the second variable of a working set using maximum gain and returns the pair and gain.
The variable is searched in-between samples. And not inside the simplex of i. It returns the best pair (i,j) as well as the gain. If the first variable can't make a step, gain 0 is returned with pair(i,i).
Definition at line 534 of file QpMcSimplexDecomp.h.
References shark::QpSparseArray< QpFloatType >::Row::defaultvalue, shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_C, shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_classes, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_kernelMatrix, shark::QpMcSimplexDecomp< Matrix >::m_M, shark::QpMcSimplexDecomp< Matrix >::m_variables, shark::blas::row(), SHARK_ASSERT, shark::QpSparseArray< QpFloatType >::Row::size, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcSimplexDecomp< Matrix >::Example::var, shark::QpMcSimplexDecomp< Matrix >::Example::varsum, and shark::QpMcSimplexDecomp< Matrix >::Example::y.
Referenced by shark::QpMcSimplexDecomp< Matrix >::selectWorkingSet().
|
inlineprotected |
Returns the best variable pair (i,j) and gain for a given example.
For a given example all possible pairs of variables are checkd and the one giving the maximum gain is returned. This method has a special handling for the simplex case.
Definition at line 594 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::Example::active, shark::QpMcSimplexDecomp< Matrix >::Example::avar, shark::QpSparseArray< QpFloatType >::Row::defaultvalue, shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_C, shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_classes, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_M, shark::QpMcSimplexDecomp< Matrix >::m_variables, shark::blas::max(), shark::blas::row(), shark::QpSparseArray< QpFloatType >::Row::size, shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcSimplexDecomp< Matrix >::Example::var, shark::QpMcSimplexDecomp< Matrix >::Example::varsum, and shark::QpMcSimplexDecomp< Matrix >::Example::y.
Referenced by shark::QpMcSimplexDecomp< Matrix >::selectWorkingSet().
|
inlineprotected |
Returns the original index of the example of a variable in the dataset before optimization.
Shrinking is an internal detail so the communication with the outside world uses the original indizes.
Definition at line 828 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_examples, and shark::QpMcSimplexDecomp< Matrix >::m_variables.
Referenced by shark::QpMcSimplexDecomp< Matrix >::addDeltaLinear(), shark::QpMcSimplexDecomp< Matrix >::solution(), and shark::QpMcSimplexDecomp< Matrix >::solutionGradient().
|
inline |
select the working set
Select one or two numVariables 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 variables. The working set may be invalid if the method reports a KKT violation of zero, indicating optimality.
Definition at line 411 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::getSimplexMVP(), shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_C, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_variables, shark::blas::max(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), and shark::QpMcSimplexDecomp< Matrix >::Example::varsum.
|
inline |
enable/disable shrinking
Definition at line 136 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_useShrinking.
|
inline |
Shrink the problem.
Definition at line 289 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::Example::active, shark::QpMcSimplexDecomp< Matrix >::Example::avar, shark::QpMcSimplexDecomp< Matrix >::bUnshrinked, shark::QpMcSimplexDecomp< Matrix >::checkKKT(), shark::QpMcSimplexDecomp< Matrix >::deactivateVariable(), shark::QpMcSimplexDecomp< Matrix >::getSimplexMVP(), shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_C, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_useShrinking, shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::Example::varsum.
|
inline |
Returns the solution found.
Definition at line 142 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_numVariables, shark::QpMcSimplexDecomp< Matrix >::m_variables, and shark::QpMcSimplexDecomp< Matrix >::originalIndex().
|
inline |
Returns the gradient of the solution.
Definition at line 151 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_numVariables, shark::QpMcSimplexDecomp< Matrix >::m_variables, and shark::QpMcSimplexDecomp< Matrix >::originalIndex().
|
inline |
Activate all m_numVariables.
Definition at line 353 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::Example::active, shark::QpMcSimplexDecomp< Matrix >::Example::avar, shark::QpSparseArray< QpFloatType >::Row::defaultvalue, shark::QpSparseArray< QpFloatType >::Row::entry, shark::QpSparseArray< QpFloatType >::Entry::index, shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_classes, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_kernelMatrix, shark::QpMcSimplexDecomp< Matrix >::m_linear, shark::QpMcSimplexDecomp< Matrix >::m_M, shark::QpMcSimplexDecomp< Matrix >::m_numExamples, shark::QpMcSimplexDecomp< Matrix >::m_numVariables, shark::QpMcSimplexDecomp< Matrix >::m_variables, shark::blas::row(), SHARK_ASSERT, shark::QpSparseArray< QpFloatType >::Row::size, shark::blas::subrange(), shark::QpSparseArray< QpFloatType >::Entry::value, shark::QpMcSimplexDecomp< Matrix >::Example::var, and shark::QpMcSimplexDecomp< Matrix >::Example::y.
Referenced by shark::QpMcSimplexDecomp< Matrix >::shrink().
|
inline |
Definition at line 192 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::gradientUpdate(), shark::QpMcSimplexDecomp< Matrix >::m_activeEx, shark::QpMcSimplexDecomp< Matrix >::m_activeVar, shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_C, shark::QpMcSimplexDecomp< Matrix >::m_cardP, shark::QpMcSimplexDecomp< Matrix >::m_classes, shark::QpMcSimplexDecomp< Matrix >::m_examples, shark::QpMcSimplexDecomp< Matrix >::m_gradient, shark::QpMcSimplexDecomp< Matrix >::m_kernelMatrix, shark::QpMcSimplexDecomp< Matrix >::m_M, shark::QpMcSimplexDecomp< Matrix >::m_variables, SHARK_ASSERT, SIZE_CHECK, shark::QpMcSimplexDecomp< Matrix >::updateVarsum(), and w.
|
inlineprotected |
Definition at line 723 of file QpMcSimplexDecomp.h.
References shark::QpMcSimplexDecomp< Matrix >::m_alpha, shark::QpMcSimplexDecomp< Matrix >::m_C, shark::QpMcSimplexDecomp< Matrix >::m_cardP, and shark::QpMcSimplexDecomp< Matrix >::m_examples.
Referenced by shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
protected |
true if the problem has already been unshrinked
Definition at line 886 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), and shark::QpMcSimplexDecomp< Matrix >::shrink().
|
protected |
number of currently active examples
Definition at line 877 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::checkKKT(), shark::QpMcSimplexDecomp< Matrix >::deactivateExample(), shark::QpMcSimplexDecomp< Matrix >::gradientUpdate(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::selectWorkingSet(), shark::QpMcSimplexDecomp< Matrix >::shrink(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
protected |
number of currently active variables
Definition at line 880 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::deactivateExample(), shark::QpMcSimplexDecomp< Matrix >::deactivateVariable(), shark::QpMcSimplexDecomp< Matrix >::getSimplexMVP(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
protected |
solution candidate
Definition at line 858 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::deactivateVariable(), shark::QpMcSimplexDecomp< Matrix >::functionValue(), shark::QpMcSimplexDecomp< Matrix >::getSimplexMVP(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::shrink(), shark::QpMcSimplexDecomp< Matrix >::solution(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), shark::QpMcSimplexDecomp< Matrix >::updateSMO(), and shark::QpMcSimplexDecomp< Matrix >::updateVarsum().
|
protected |
complexity constant; upper bound on all variabless
Definition at line 840 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::checkKKT(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::selectWorkingSet(), shark::QpMcSimplexDecomp< Matrix >::shrink(), shark::QpMcSimplexDecomp< Matrix >::updateSMO(), and shark::QpMcSimplexDecomp< Matrix >::updateVarsum().
|
protected |
number of dual variables per example
Definition at line 846 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::addDeltaLinear(), shark::QpMcSimplexDecomp< Matrix >::cardP(), shark::QpMcSimplexDecomp< Matrix >::deactivateExample(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::solution(), shark::QpMcSimplexDecomp< Matrix >::solutionGradient(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), shark::QpMcSimplexDecomp< Matrix >::updateSMO(), and shark::QpMcSimplexDecomp< Matrix >::updateVarsum().
|
protected |
number of classes in the problem
Definition at line 843 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::gradientUpdate(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
protected |
information about each training example
Definition at line 865 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::checkKKT(), shark::QpMcSimplexDecomp< Matrix >::deactivateExample(), shark::QpMcSimplexDecomp< Matrix >::deactivateVariable(), shark::QpMcSimplexDecomp< Matrix >::gradientUpdate(), shark::QpMcSimplexDecomp< Matrix >::label(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::originalIndex(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::selectWorkingSet(), shark::QpMcSimplexDecomp< Matrix >::shrink(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), shark::QpMcSimplexDecomp< Matrix >::updateSMO(), and shark::QpMcSimplexDecomp< Matrix >::updateVarsum().
|
protected |
gradient of the objective function The m_gradient array is of fixed size and not subject to shrinking.
Definition at line 862 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::addDeltaLinear(), shark::QpMcSimplexDecomp< Matrix >::deactivateVariable(), shark::QpMcSimplexDecomp< Matrix >::functionValue(), shark::QpMcSimplexDecomp< Matrix >::getSimplexMVP(), shark::QpMcSimplexDecomp< Matrix >::gradientUpdate(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::shrink(), shark::QpMcSimplexDecomp< Matrix >::solutionGradient(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
protected |
kernel matrix (precomputed matrix or matrix cache)
Definition at line 834 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::deactivateExample(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
protected |
linear part of the objective function
Definition at line 855 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::addDeltaLinear(), shark::QpMcSimplexDecomp< Matrix >::deactivateVariable(), shark::QpMcSimplexDecomp< Matrix >::functionValue(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), and shark::QpMcSimplexDecomp< Matrix >::unshrink().
|
protected |
kernel modifiers
Definition at line 837 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::gradientUpdate(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::updateSMO().
|
protected |
number of examples in the problem (size of the kernel matrix)
Definition at line 849 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::addDeltaLinear(), shark::QpMcSimplexDecomp< Matrix >::getNumExamples(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), and shark::QpMcSimplexDecomp< Matrix >::unshrink().
|
protected |
number of variables in the problem = m_numExamples * m_cardP
Definition at line 852 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::addDeltaLinear(), shark::QpMcSimplexDecomp< Matrix >::dimensions(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::solution(), shark::QpMcSimplexDecomp< Matrix >::solutionGradient(), and shark::QpMcSimplexDecomp< Matrix >::unshrink().
|
protected |
space for the example[i].var pointers
Definition at line 871 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp().
|
protected |
space for the example[i].avar pointers
Definition at line 874 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp().
|
protected |
should the m_problem use the shrinking heuristics?
Definition at line 883 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::setShrinking(), and shark::QpMcSimplexDecomp< Matrix >::shrink().
|
protected |
information about each variable of the problem
Definition at line 868 of file QpMcSimplexDecomp.h.
Referenced by shark::QpMcSimplexDecomp< Matrix >::addDeltaLinear(), shark::QpMcSimplexDecomp< Matrix >::deactivateExample(), shark::QpMcSimplexDecomp< Matrix >::deactivateVariable(), shark::QpMcSimplexDecomp< Matrix >::maxGainBox(), shark::QpMcSimplexDecomp< Matrix >::maxGainSimplex(), shark::QpMcSimplexDecomp< Matrix >::originalIndex(), shark::QpMcSimplexDecomp< Matrix >::QpMcSimplexDecomp(), shark::QpMcSimplexDecomp< Matrix >::selectWorkingSet(), shark::QpMcSimplexDecomp< Matrix >::solution(), shark::QpMcSimplexDecomp< Matrix >::solutionGradient(), shark::QpMcSimplexDecomp< Matrix >::unshrink(), and shark::QpMcSimplexDecomp< Matrix >::updateSMO().