详细描述
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 .
在文件gmnplib.h第66行定义。
所有成员的列表。
公有成员 |
| 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) |
保护成员 |
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 |
保护属性 |
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
- 参数:
-
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 |
在文件gmnplib.cpp第80行定义。
成员函数文档
float64_t * get_col |
( |
int32_t |
a, |
|
|
int32_t |
b |
|
) |
| [protected] |
void get_indices2 |
( |
int32_t * |
index, |
|
|
int32_t * |
c, |
|
|
int32_t |
i |
|
) |
| |
float64_t * get_kernel_col |
( |
int32_t |
a ) |
[protected] |
virtual const char* get_name |
( |
) |
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 ); --------------------------------------------------------------
在文件gmnplib.cpp第240行定义。
float64_t kernel_fce |
( |
int32_t |
a, |
|
|
int32_t |
b |
|
) |
| [protected] |
成员数据文档
该类的文档由以下文件生成: