Class CVowpalWabbit is the implementation of the online learning algorithm used in Vowpal Wabbit.
VW is a fast online learning algorithm which operates on sparse features. It uses an online gradient descent technique.
For more details, refer to the tutorial at https://github.com/JohnLangford/vowpal_wabbit/wiki/v5.1_tutorial.pdf
Definition at line 38 of file VowpalWabbit.h.
Public Member Functions | |
CVowpalWabbit () | |
CVowpalWabbit (CStreamingVwFeatures *feat) | |
~CVowpalWabbit () | |
void | reinitialize_weights () |
void | set_no_training (bool dont_train) |
void | set_adaptive (bool adaptive_learning) |
void | set_exact_adaptive_norm (bool exact_adaptive) |
void | set_num_passes (int32_t passes) |
void | load_regressor (char *file_name) |
void | set_regressor_out (char *file_name, bool is_text=true) |
void | set_prediction_out (char *file_name) |
void | add_quadratic_pair (char *pair) |
virtual bool | train_machine (CFeatures *feat=NULL) |
virtual float32_t | predict_and_finalize (VwExample *ex) |
float32_t | compute_exact_norm (VwExample *&ex, float32_t &sum_abs_x) |
float32_t | compute_exact_norm_quad (float32_t *weights, VwFeature &page_feature, v_array< VwFeature > &offer_features, vw_size_t mask, float32_t g, float32_t &sum_abs_x) |
virtual CVwEnvironment * | get_env () |
virtual const char * | get_name () const |
Protected Attributes | |
CStreamingVwFeatures * | features |
Features. | |
CVwEnvironment * | env |
Environment for VW, i.e., globals. | |
CVwLearner * | learner |
Learner to use. | |
CVwRegressor * | reg |
Regressor. |
CVowpalWabbit | ( | ) |
Default constructor
Definition at line 20 of file VowpalWabbit.cpp.
CVowpalWabbit | ( | CStreamingVwFeatures * | feat | ) |
Constructor, taking a features object as argument
feat | StreamingVwFeatures object |
Definition at line 28 of file VowpalWabbit.cpp.
~CVowpalWabbit | ( | ) |
Destructor
Definition at line 36 of file VowpalWabbit.cpp.
void add_quadratic_pair | ( | char * | pair | ) |
Add a pair of namespaces whose features should be crossed for quadratic updates
pair | a string with the two namespace names concatenated |
Definition at line 101 of file VowpalWabbit.cpp.
Computes the exact norm during adaptive learning
ex | example | |
sum_abs_x | set by reference, sum of abs of features |
Definition at line 382 of file VowpalWabbit.cpp.
float32_t compute_exact_norm_quad | ( | float32_t * | weights, | |
VwFeature & | page_feature, | |||
v_array< VwFeature > & | offer_features, | |||
vw_size_t | mask, | |||
float32_t | g, | |||
float32_t & | sum_abs_x | |||
) |
Computes the exact norm for quadratic features during adaptive learning
weights | weights | |
page_feature | current feature | |
offer_features | paired features | |
mask | mask | |
g | square of gradient | |
sum_abs_x | sum of absolute value of features |
Definition at line 419 of file VowpalWabbit.cpp.
virtual CVwEnvironment* get_env | ( | ) | [virtual] |
Get the environment
Definition at line 176 of file VowpalWabbit.h.
virtual const char* get_name | ( | ) | const [virtual] |
Return the name of the object
Reimplemented from COnlineLinearMachine.
Definition at line 187 of file VowpalWabbit.h.
void load_regressor | ( | char * | file_name | ) |
Load regressor from a dump file
file_name | name of regressor file |
Definition at line 80 of file VowpalWabbit.cpp.
Predict for an example
ex | VwExample to predict for |
Definition at line 178 of file VowpalWabbit.cpp.
void reinitialize_weights | ( | ) |
Reinitialize the weight vectors. Call after updating env variables eg. stride.
Definition at line 43 of file VowpalWabbit.cpp.
void set_adaptive | ( | bool | adaptive_learning | ) |
Set whether learning is adaptive or not
adaptive_learning | true if adaptive |
Definition at line 56 of file VowpalWabbit.cpp.
void set_exact_adaptive_norm | ( | bool | exact_adaptive | ) |
Set whether to use the more expensive exact norm for adaptive learning
exact_adaptive | true if exact norm is required |
Definition at line 69 of file VowpalWabbit.cpp.
void set_no_training | ( | bool | dont_train | ) |
Set whether one desires to not train and only make passes over all examples instead.
This is useful if one wants to create a cache file from data.
dont_train | true if one doesn't want to train |
Definition at line 73 of file VowpalWabbit.h.
void set_num_passes | ( | int32_t | passes | ) |
Set number of passes (only works for cached input)
passes | number of passes |
Definition at line 95 of file VowpalWabbit.h.
void set_prediction_out | ( | char * | file_name | ) |
Set file name of prediction output
file_name | name of file to save predictions to |
Definition at line 93 of file VowpalWabbit.cpp.
void set_regressor_out | ( | char * | file_name, | |
bool | is_text = true | |||
) |
Set regressor output parameters
file_name | name of file to save regressor to | |
is_text | human readable or not, bool |
Definition at line 87 of file VowpalWabbit.cpp.
bool train_machine | ( | CFeatures * | feat = NULL |
) | [virtual] |
Train on a StreamingVwFeatures object
feat | StreamingVwFeatures to train using |
Reimplemented from CMachine.
Definition at line 106 of file VowpalWabbit.cpp.
CVwEnvironment* env [protected] |
Environment for VW, i.e., globals.
Definition at line 266 of file VowpalWabbit.h.
CStreamingVwFeatures* features [protected] |
CVwLearner* learner [protected] |
Learner to use.
Definition at line 269 of file VowpalWabbit.h.
CVwRegressor* reg [protected] |
Regressor.
Definition at line 272 of file VowpalWabbit.h.