class GMNPLib Library of solvers for Generalized Minimal Norm Problem (GMNP).
Generalized Minimal Norm Problem to solve is
min 0.5*alpha'*H*alpha + c'*alpha
subject to sum(alpha) = 1, alpha(i) >= 0
H [dim x dim] is symmetric positive definite matrix. c [dim x 1] is an arbitrary vector.
The precision of the found solution is given by the parameters tmax, tolabs and tolrel which define the stopping conditions:
UB-LB <= tolabs -> exit_flag = 1 Abs. tolerance. UB-LB <= UB*tolrel -> exit_flag = 2 Relative tolerance. LB > th -> exit_flag = 3 Threshold on lower bound. t >= tmax -> exit_flag = 0 Number of iterations.
UB ... Upper bound on the optimal solution. LB ... Lower bound on the optimal solution. t ... Number of iterations. History ... Value of LB and UB wrt. number of iterations.
The following algorithms are implemented: ..............................................
GMNP solver based on improved MDM algorithm 1 (u fixed v optimized) exitflag = gmnp_imdm( &get_col, diag_H, vector_c, dim, tmax, tolabs, tolrel, th, &alpha, &t, &History, verb );
For more info refer to V.Franc: Optimization Algorithms for Kernel Methods. Research report. CTU-CMP-2005-22. CTU FEL Prague. 2005. ftp://cmp.felk.cvut.cz/pub/cmp/articles/franc/Franc-PhD.pdf .
Definition at line 66 of file GMNPLib.h.
Public Member Functions |
| CGMNPLib () |
| CGMNPLib (float64_t *vector_y, CKernel *kernel, int32_t num_data, int32_t num_virtual_data, int32_t num_classes, float64_t reg_const) |
virtual | ~CGMNPLib () |
int8_t | gmnp_imdm (float64_t *vector_c, int32_t dim, int32_t tmax, float64_t tolabs, float64_t tolrel, float64_t th, float64_t *alpha, int32_t *ptr_t, float64_t **ptr_History, int32_t verb) |
void | get_indices2 (int32_t *index, int32_t *c, int32_t i) |
| CSGObject () |
| CSGObject (const CSGObject &orig) |
virtual | ~CSGObject () |
virtual bool | is_generic (EPrimitiveType *generic) const |
template<class T > |
void | set_generic () |
void | unset_generic () |
virtual void | print_serializable (const char *prefix="") |
virtual bool | save_serializable (CSerializableFile *file, const char *prefix="") |
virtual bool | load_serializable (CSerializableFile *file, const char *prefix="") |
void | set_global_io (SGIO *io) |
SGIO * | get_global_io () |
void | set_global_parallel (Parallel *parallel) |
Parallel * | get_global_parallel () |
void | set_global_version (Version *version) |
Version * | get_global_version () |
SGVector< char * > | get_modelsel_names () |
char * | get_modsel_param_descr (const char *param_name) |
index_t | get_modsel_param_index (const char *param_name) |