Detailed Description
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.
List of all members.
Public Member Functions |
| CGMNPLib (void) |
| 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) |
Protected Member Functions |
float64_t * | get_kernel_col (int32_t a) |
float64_t * | get_col (int32_t a, int32_t b) |
float64_t | kernel_fce (int32_t a, int32_t b) |
virtual const char * | get_name () const |
Protected Attributes |
float64_t * | diag_H |
float64_t ** | kernel_columns |
float64_t * | cache_index |
int32_t | first_kernel_inx |
int64_t | Cache_Size |
int32_t | m_num_data |
float64_t | m_reg_const |
float64_t * | m_vector_y |
CKernel * | m_kernel |
int32_t | first_virt_inx |
float64_t * | virt_columns [3] |
int32_t | m_num_virt_data |
int32_t | m_num_classes |
Constructor & Destructor Documentation
constructor
- Parameters:
-
| vector_y | vector y |
| kernel | kernel |
| num_data | number of data |
| num_virtual_data | number of virtual data |
| num_classes | number of classes |
| reg_const | reg const |
Definition at line 100 of file GMNPLib.cpp.
Member Function Documentation
float64_t * get_col |
( |
int32_t |
a, |
|
|
int32_t |
b | |
|
) |
| | [protected] |
get col
- Parameters:
-
- Returns:
- col at a, b
Definition at line 212 of file GMNPLib.cpp.
void get_indices2 |
( |
int32_t * |
index, |
|
|
int32_t * |
c, |
|
|
int32_t |
i | |
|
) |
| | |
float64_t * get_kernel_col |
( |
int32_t |
a |
) |
[protected] |
get kernel col
- Parameters:
-
- Returns:
- col at a
Definition at line 161 of file GMNPLib.cpp.
virtual const char* get_name |
( |
void |
|
) |
const [protected, virtual] |
-------------------------------------------------------------- GMNP solver based on improved MDM algorithm 1.
Search strategy: u determined by common rule and v is optimized.
Usage: exitflag = gmnp_imdm( &get_col, diag_H, vector_c, dim, tmax, tolabs, tolrel, th, &alpha, &t, &History ); --------------------------------------------------------------
Definition at line 260 of file GMNPLib.cpp.
float64_t kernel_fce |
( |
int32_t |
a, |
|
|
int32_t |
b | |
|
) |
| | [protected] |
kernel fce
- Parameters:
-
- Returns:
- something floaty
Definition at line 477 of file GMNPLib.cpp.
Member Data Documentation
index of first used column
Definition at line 163 of file GMNPLib.h.
number of virt data
Definition at line 167 of file GMNPLib.h.
cache for three columns
Definition at line 165 of file GMNPLib.h.
The documentation for this class was generated from the following files: