MKLMultiClass is a class for L1-norm multiclass MKL.
It is based on the GMNPSVM Multiclass SVM. Its own parameters are the L2 norm weight change based MKL Its termination criterion set by void set_mkl_epsilon(float64_t eps ); and the maximal number of MKL iterations set by void set_max_num_mkliters(int32_t maxnum); It passes the regularization constants C1 and C2 to GMNPSVM.
在文件MKLMultiClass.h第32行定义。

公有成员 | |
| CMKLMultiClass () | |
| CMKLMultiClass (float64_t C, CKernel *k, CLabels *lab) | |
| virtual | ~CMKLMultiClass () |
| virtual bool | train (CFeatures *data=NULL) |
| virtual EClassifierType | get_classifier_type () |
| float64_t * | getsubkernelweights (int32_t &numweights) |
| void | set_mkl_epsilon (float64_t eps) |
| void | set_max_num_mkliters (int32_t maxnum) |
保护成员 | |
| CMKLMultiClass (const CMKLMultiClass &cm) | |
| CMKLMultiClass | operator= (const CMKLMultiClass &cm) |
| void | initlpsolver () |
| void | initsvm () |
| virtual bool | evaluatefinishcriterion (const int32_t numberofsilpiterations) |
| void | addingweightsstep (const std::vector< float64_t > &curweights) |
| float64_t | getsumofsignfreealphas () |
| float64_t | getsquarenormofprimalcoefficients (const int32_t ind) |
保护属性 | |
| CGMNPSVM * | svm |
| MKLMultiClassGLPK * | lpw |
| ::std::vector< std::vector < float64_t > > | weightshistory |
| float64_t | mkl_eps |
| int32_t | max_num_mkl_iters |
| CMKLMultiClass | ( | ) |
Class default Constructor
在文件MKLMultiClass.cpp第17行定义。
| CMKLMultiClass | ( | float64_t | C, | |
| CKernel * | k, | |||
| CLabels * | lab | |||
| ) |
Class Constructor commonly used in Shogun Toolbox
| C | constant C | |
| k | kernel | |
| lab | labels |
在文件MKLMultiClass.cpp第27行定义。
| ~CMKLMultiClass | ( | ) | [virtual] |
Class default Destructor
在文件MKLMultiClass.cpp第39行定义。
| CMKLMultiClass | ( | const CMKLMultiClass & | cm | ) | [protected] |
Class Copy Constructor protected to avoid its usage
在文件MKLMultiClass.cpp第47行定义。
| void addingweightsstep | ( | const std::vector< float64_t > & | curweights | ) | [protected] |
adds a constraint to the LP used in MKL
| curweights | are the current MKL weights |
it uses void addingweightsstep( const std::vector<float64_t> & curweights); and float64_t getsumofsignfreealphas();
在文件MKLMultiClass.cpp第159行定义。
| bool evaluatefinishcriterion | ( | const int32_t | numberofsilpiterations | ) | [protected, virtual] |
checks MKL for convergence
| numberofsilpiterations | is the number of currently done iterations |
在文件MKLMultiClass.cpp第126行定义。
| virtual EClassifierType get_classifier_type | ( | ) | [virtual] |
| float64_t getsquarenormofprimalcoefficients | ( | const int32_t | ind | ) | [protected] |
computes the second svm-dependent part used for generating MKL constraints
| ind | is the index of the kernel for which to compute |
在文件MKLMultiClass.cpp第245行定义。
| float64_t * getsubkernelweights | ( | int32_t & | numweights | ) |
returns MKL weights for the different kernels
| numweights | is output parameter, is set to zero if no weights have been computed or to the number of MKL weights which is equal to the number of kernels |
在文件MKLMultiClass.cpp第359行定义。
| float64_t getsumofsignfreealphas | ( | ) | [protected] |
computes the first svm-dependent part used for generating MKL constraints it is
在文件MKLMultiClass.cpp第195行定义。
| void initlpsolver | ( | ) | [protected] |
performs some sanity checks (on the provided kernel), inits the GLPK-based LP solver
在文件MKLMultiClass.cpp第98行定义。
| void initsvm | ( | ) | [protected] |
inits the underlying Multiclass SVM
在文件MKLMultiClass.cpp第66行定义。
| CMKLMultiClass operator= | ( | const CMKLMultiClass & | cm | ) | [protected] |
Class Assignment operator protected to avoid its usage
在文件MKLMultiClass.cpp第57行定义。
| void set_max_num_mkliters | ( | int32_t | maxnum | ) |
sets maximal number of MKL iterations
| maxnum | is the desired maximal number of MKL iterations; when it is reached the MKL terminates irrespective of the MKL progress set it to a nonpositive value in order to turn it off |
在文件MKLMultiClass.cpp第380行定义。
| void set_mkl_epsilon | ( | float64_t | eps | ) |
sets MKL termination threshold
| eps | is the desired threshold value the termination criterion is the L2 norm between the current MKL weights and their counterpart from the previous iteration |
在文件MKLMultiClass.cpp第375行定义。
| bool train | ( | CFeatures * | data = NULL |
) | [virtual] |
train Multiclass MKL classifier
| data | training data (parameter can be avoided if distance or kernel-based classifiers are used and distance/kernels are initialized with train data) |
重载CClassifier。
在文件MKLMultiClass.cpp第281行定义。
MKLMultiClassGLPK* lpw [protected] |
the lp solver wrapper
在文件MKLMultiClass.h第169行定义。
int32_t max_num_mkl_iters [protected] |
maximal number of MKL iterations is set by void set_max_num_mkliters(int32_t maxnum);
在文件MKLMultiClass.h第182行定义。
MKL termination threshold is set void set_mkl_epsilon(float64_t eps );
在文件MKLMultiClass.h第178行定义。
the multiclass svm for fixed MKL weights
在文件MKLMultiClass.h第165行定义。
::std::vector< std::vector< float64_t> > weightshistory [protected] |
stores the last two mkl iteration weights
在文件MKLMultiClass.h第173行定义。