Class LPBoost trains a linear classifier called Linear Programming Machine, i.e. a SVM using a norm regularizer.
It solves the following optimization problem using Boosting on the input features:
Note that currently CPLEX is required to solve this problem. This implementation is faster than solving the linear program directly in CPLEX (as was done in CLPM).
公有成员 | |
CLPBoost () | |
virtual | ~CLPBoost () |
virtual bool | train (CFeatures *data=NULL) |
virtual EClassifierType | get_classifier_type () |
bool | init (int32_t num_vec) |
void | cleanup () |
virtual void | set_features (CDotFeatures *feat) |
void | set_C (float64_t c_neg, float64_t c_pos) |
float64_t | get_C1 () |
float64_t | get_C2 () |
void | set_bias_enabled (bool enable_bias) |
bool | get_bias_enabled () |
void | set_epsilon (float64_t eps) |
float64_t | get_epsilon () |
float64_t | find_max_violator (int32_t &max_dim) |
virtual const char * | get_name () const |
保护属性 | |
float64_t | C1 |
float64_t | C2 |
bool | use_bias |
float64_t | epsilon |
float64_t * | u |
CDynamicArray< int32_t > * | dim |
int32_t | num_sfeat |
int32_t | num_svec |
TSparse< float64_t > * | sfeat |
CLPBoost | ( | ) |
在文件LPBoost.cpp第25行定义。
~CLPBoost | ( | ) | [virtual] |
在文件LPBoost.cpp第36行定义。
void cleanup | ( | ) |
在文件LPBoost.cpp第57行定义。
float64_t find_max_violator | ( | int32_t & | max_dim | ) |
在文件LPBoost.cpp第69行定义。
virtual EClassifierType get_classifier_type | ( | ) | [virtual] |
bool init | ( | int32_t | num_vec | ) |
在文件LPBoost.cpp第41行定义。
virtual void set_features | ( | CDotFeatures * | feat | ) | [virtual] |
bool train | ( | CFeatures * | data = NULL |
) | [virtual] |
train 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。
在文件LPBoost.cpp第104行定义。
CDynamicArray<int32_t>* dim [protected] |