|
Vowpal Wabbit
|
#include <fstream>#include <sstream>#include <float.h>#include <netdb.h>#include <string.h>#include <stdio.h>#include <assert.h>#include <memory>#include "parse_example.h"#include "constant.h"#include "gd.h"#include "cache.h"#include "accumulate.h"#include "learner.h"#include "vw.h"#include <map>#include "memory.h"#include "vw_allreduce.h"#include "rand48.h"#include "reductions.h"Go to the source code of this file.
Classes | |
| struct | svm_example |
| struct | svm_model |
| struct | svm_params |
Macros | |
| #define | SVM_KER_LIN 0 |
| #define | SVM_KER_RBF 1 |
| #define | SVM_KER_POLY 2 |
Functions | |
| void | free_svm_model (svm_model *model) |
| float | kernel_function (const flat_example *fec1, const flat_example *fec2, void *params, size_t kernel_type) |
| static int | make_hot_sv (svm_params ¶ms, size_t svi) |
| static int | trim_cache (svm_params ¶ms) |
| int | save_load_flat_example (io_buf &model_file, bool read, flat_example *&fec) |
| void | save_load_svm_model (svm_params ¶ms, io_buf &model_file, bool read, bool text) |
| void | save_load (svm_params ¶ms, io_buf &model_file, bool read, bool text) |
| float | linear_kernel (const flat_example *fec1, const flat_example *fec2) |
| float | poly_kernel (const flat_example *fec1, const flat_example *fec2, int power) |
| float | rbf_kernel (const flat_example *fec1, const flat_example *fec2, float bandwidth) |
| float | dense_dot (float *v1, v_array< float > v2, size_t n) |
| void | predict (svm_params ¶ms, svm_example **ec_arr, float *scores, size_t n) |
| void | predict (svm_params ¶ms, single_learner &, example &ec) |
| size_t | suboptimality (svm_model *model, double *subopt) |
| int | remove (svm_params ¶ms, size_t svi) |
| int | add (svm_params ¶ms, svm_example *fec) |
| bool | update (svm_params ¶ms, size_t pos) |
| void | copy_char (char &c1, const char &c2) noexcept |
| void | add_size_t (size_t &t1, const size_t &t2) noexcept |
| void | add_double (double &t1, const double &t2) noexcept |
| void | sync_queries (vw &all, svm_params ¶ms, bool *train_pool) |
| void | train (svm_params ¶ms) |
| void | learn (svm_params ¶ms, single_learner &, example &ec) |
| LEARNER::base_learner * | kernel_svm_setup (options_i &options, vw &all) |
Variables | |
| static size_t | num_kernel_evals = 0 |
| static size_t | num_cache_evals = 0 |
| #define SVM_KER_LIN 0 |
Definition at line 33 of file kernel_svm.cc.
Referenced by kernel_function(), and kernel_svm_setup().
| #define SVM_KER_POLY 2 |
Definition at line 35 of file kernel_svm.cc.
Referenced by kernel_function(), and kernel_svm_setup().
| #define SVM_KER_RBF 1 |
Definition at line 34 of file kernel_svm.cc.
Referenced by kernel_function(), and kernel_svm_setup().
| int add | ( | svm_params & | params, |
| svm_example * | fec | ||
| ) |
Definition at line 546 of file kernel_svm.cc.
References svm_model::alpha, svm_model::delta, svm_params::model, svm_model::num_support, v_array< T >::push_back(), v_array< T >::size(), and svm_model::support_vec.
Referenced by active_cover_setup(), baseline_setup(), boosting_setup(), bs_setup(), cb_algs_setup(), cb_explore_setup(), cbify_setup(), cbifyldf_setup(), cs_active_setup(), ect_setup(), ExpReplay::expreplay_setup(), ftrl_setup(), EntityRelationTask::initialize(), GraphTask::initialize(), ArgmaxTask::initialize(), kernel_svm_setup(), lda_setup(), log_multi_setup(), memory_tree_setup(), mwt_setup(), nn_setup(), oaa_setup(), OjaNewton_setup(), VW::config::option_group_definition::operator()(), parse_args(), parse_diagnostics(), parse_example_tweaks(), parse_feature_tweaks(), parse_output_model(), parse_source(), recall_tree_setup(), GD::setup(), stagewise_poly_setup(), train(), and warm_cb_setup().
|
noexcept |
Definition at line 618 of file kernel_svm.cc.
|
noexcept |
Definition at line 616 of file kernel_svm.cc.
|
noexcept |
Definition at line 610 of file kernel_svm.cc.
| float dense_dot | ( | float * | v1, |
| v_array< float > | v2, | ||
| size_t | n | ||
| ) |
Definition at line 450 of file kernel_svm.cc.
| void free_svm_model | ( | svm_model * | model | ) |
Definition at line 66 of file kernel_svm.cc.
References svm_model::alpha, v_array< T >::delete_v(), svm_model::delta, free_it(), svm_model::num_support, and svm_model::support_vec.
Referenced by svm_params::~svm_params().
| float kernel_function | ( | const flat_example * | fec1, |
| const flat_example * | fec2, | ||
| void * | params, | ||
| size_t | kernel_type | ||
| ) |
Definition at line 436 of file kernel_svm.cc.
References linear_kernel(), poly_kernel(), rbf_kernel(), SVM_KER_LIN, SVM_KER_POLY, and SVM_KER_RBF.
Referenced by svm_example::compute_kernels(), and svm_example::~svm_example().
| LEARNER::base_learner* kernel_svm_setup | ( | options_i & | options, |
| vw & | all | ||
| ) |
Definition at line 867 of file kernel_svm.cc.
References vw::active, VW::config::option_group_definition::add(), add(), VW::config::options_i::add_and_parse(), vw::all_reduce, f, vw::get_random_state(), getLossFunction(), LEARNER::init_learner(), vw::l2_lambda, learn(), vw::loss, LEARNER::make_base(), VW::config::make_option(), predict(), save_load(), LEARNER::learner< T, E >::set_save_load(), SVM_KER_LIN, SVM_KER_POLY, SVM_KER_RBF, AllReduce::total, and VW::config::options_i::was_supplied().
Referenced by parse_reductions().
| void learn | ( | svm_params & | params, |
| single_learner & | , | ||
| example & | ec | ||
| ) |
Definition at line 833 of file kernel_svm.cc.
References svm_params::all, svm_model::alpha, example::example_counter, f, flatten_sort_example(), svm_example::init_svm_example(), example::l, label_data::label, example::loss, svm_params::loss_sum, svm_params::model, num_cache_evals, num_kernel_evals, svm_model::num_support, svm_params::pool, svm_params::pool_pos, svm_params::pool_size, example::pred, predict(), polyprediction::scalar, polylabel::simple, vw::trace_message, train(), vw::training, and trim_cache().
Referenced by kernel_svm_setup().
| float linear_kernel | ( | const flat_example * | fec1, |
| const flat_example * | fec2 | ||
| ) |
Definition at line 387 of file kernel_svm.cc.
References f, flat_example::fs, features::indicies, features::size(), and features::values.
Referenced by kernel_function(), memory_tree_ns::normalized_linear_prod(), poly_kernel(), and rbf_kernel().
|
static |
Definition at line 202 of file kernel_svm.cc.
References svm_params::all, svm_model::alpha, svm_example::compute_kernels(), svm_model::delta, svm_example::krow, svm_params::model, svm_model::num_support, v_array< T >::push_back(), v_array< T >::size(), svm_model::support_vec, and vw::trace_message.
Referenced by train().
| float poly_kernel | ( | const flat_example * | fec1, |
| const flat_example * | fec2, | ||
| int | power | ||
| ) |
Definition at line 421 of file kernel_svm.cc.
References linear_kernel().
Referenced by kernel_function().
| void predict | ( | svm_params & | params, |
| svm_example ** | ec_arr, | ||
| float * | scores, | ||
| size_t | n | ||
| ) |
Definition at line 457 of file kernel_svm.cc.
References svm_model::alpha, svm_example::compute_kernels(), dense_dot(), svm_params::lambda, svm_params::model, and svm_model::num_support.
Referenced by kernel_svm_setup(), learn(), predict(), and train().
| void predict | ( | svm_params & | params, |
| single_learner & | , | ||
| example & | ec | ||
| ) |
Definition at line 471 of file kernel_svm.cc.
References svm_params::all, flatten_sort_example(), svm_example::init_svm_example(), example::pred, predict(), polyprediction::scalar, and svm_example::~svm_example().
| float rbf_kernel | ( | const flat_example * | fec1, |
| const flat_example * | fec2, | ||
| float | bandwidth | ||
| ) |
Definition at line 429 of file kernel_svm.cc.
References linear_kernel(), and flat_example::total_sum_feat_sq.
Referenced by kernel_function().
| int remove | ( | svm_params & | params, |
| size_t | svi | ||
| ) |
Definition at line 511 of file kernel_svm.cc.
References svm_model::alpha, svm_model::delta, svm_example::krow, svm_model::num_support, v_array< T >::pop(), v_array< T >::size(), svm_model::support_vec, and svm_example::~svm_example().
| void save_load | ( | svm_params & | params, |
| io_buf & | model_file, | ||
| bool | read, | ||
| bool | text | ||
| ) |
Definition at line 376 of file kernel_svm.cc.
References svm_params::all, save_load_svm_model(), and vw::trace_message.
Referenced by kernel_svm_setup().
| int save_load_flat_example | ( | io_buf & | model_file, |
| bool | read, | ||
| flat_example *& | fec | ||
| ) |
Definition at line 261 of file kernel_svm.cc.
References v_array< T >::begin(), io_buf::bin_read_fixed(), io_buf::bin_write_fixed(), v_array< T >::end(), features::indicies, v_array< T >::resize(), v_array< T >::size(), features::size(), and features::values.
Referenced by save_load_svm_model(), and sync_queries().
| void save_load_svm_model | ( | svm_params & | params, |
| io_buf & | model_file, | ||
| bool | read, | ||
| bool | text | ||
| ) |
Definition at line 334 of file kernel_svm.cc.
References svm_model::alpha, v_array< T >::begin(), bin_text_read_write_fixed(), svm_model::delta, io_buf::files, svm_example::init_svm_example(), svm_params::model, svm_model::num_support, v_array< T >::push_back(), v_array< T >::resize(), save_load_flat_example(), v_array< T >::size(), and svm_model::support_vec.
Referenced by save_load().
| size_t suboptimality | ( | svm_model * | model, |
| double * | subopt | ||
| ) |
Definition at line 486 of file kernel_svm.cc.
References svm_model::alpha, svm_model::delta, svm_model::num_support, and svm_model::support_vec.
Referenced by train().
| void sync_queries | ( | vw & | all, |
| svm_params & | params, | ||
| bool * | train_pool | ||
| ) |
Definition at line 620 of file kernel_svm.cc.
References vw::all_reduce, v_array< T >::begin(), v_array< T >::delete_v(), v_array< T >::end(), svm_example::ex, io_buf::head, svm_example::init_svm_example(), svm_params::local_begin, svm_params::local_end, AllReduce::node, svm_params::pool, svm_params::pool_pos, svm_params::pool_size, save_load_flat_example(), io_buf::space, and AllReduce::total.
Referenced by train().
| void train | ( | svm_params & | params | ) |
Definition at line 696 of file kernel_svm.cc.
References svm_params::_random_state, svm_params::active, svm_params::active_c, svm_params::active_pool_greedy, add(), svm_params::all, svm_example::ex, flat_example::example_counter, flat_example::l, make_hot_sv(), svm_params::maxcache, svm_params::model, svm_model::num_support, svm_params::para_active, svm_params::pool, svm_params::pool_pos, svm_params::pool_size, predict(), svm_params::reprocess, polylabel::simple, suboptimality(), svm_params::subsample, sync_queries(), vw::trace_message, vw::training, update(), and label_data::weight.
Referenced by learn().
|
static |
Definition at line 245 of file kernel_svm.cc.
References svm_example::clear_kernels(), svm_example::krow, svm_params::maxcache, svm_params::model, svm_model::num_support, and v_array< T >::size().
Referenced by learn().
| bool update | ( | svm_params & | params, |
| size_t | pos | ||
| ) |
Definition at line 557 of file kernel_svm.cc.
References svm_model::alpha, v_array< T >::begin(), svm_example::compute_kernels(), svm_model::delta, dense_dot(), svm_example::ex, svm_example::krow, flat_example::l, label_data::label, svm_params::lambda, svm_params::model, svm_model::num_support, polylabel::simple, svm_model::support_vec, and label_data::weight.
Referenced by train().
|
static |
Definition at line 45 of file kernel_svm.cc.
Referenced by svm_example::compute_kernels(), learn(), and svm_params::~svm_params().
|
static |
Definition at line 44 of file kernel_svm.cc.
Referenced by svm_example::compute_kernels(), learn(), and svm_params::~svm_params().
1.8.13