SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
CScatterSVM Class Reference

Detailed Description

ScatterSVM - Multiclass SVM.

The ScatterSVM is an unpublished experimental true multiclass SVM. Details are availabe in the following technical report.

This code is currently experimental.

Robert Jenssen and Marius Kloft and Alexander Zien and S"oren Sonnenburg and Klaus-Robert M"{u}ller, A Multi-Class Support Vector Machine Based on Scatter Criteria, TR 014-2009 TU Berlin, 2009

Definition at line 50 of file ScatterSVM.h.

Inheritance diagram for CScatterSVM:
Inheritance graph
[legend]

Public Member Functions

 CScatterSVM ()
 CScatterSVM (SCATTER_TYPE type)
 CScatterSVM (float64_t C, CKernel *k, CLabels *lab)
virtual ~CScatterSVM ()
virtual EClassifierType get_classifier_type ()
virtual float64_t apply (int32_t num)
virtual CLabelsclassify_one_vs_rest ()
virtual const char * get_name () const
- Public Member Functions inherited from CMultiClassSVM
 CMultiClassSVM ()
 CMultiClassSVM (EMultiClassSVM type)
 CMultiClassSVM (EMultiClassSVM type, float64_t C, CKernel *k, CLabels *lab)
virtual ~CMultiClassSVM ()
bool create_multiclass_svm (int32_t num_classes)
bool set_svm (int32_t num, CSVM *svm)
CSVMget_svm (int32_t num)
int32_t get_num_svms ()
void cleanup ()
virtual CLabelsapply ()
virtual CLabelsapply (CFeatures *data)
virtual float64_t classify_example_one_vs_rest (int32_t num)
CLabelsclassify_one_vs_one ()
float64_t classify_example_one_vs_one (int32_t num)
bool load (FILE *svm_file)
bool save (FILE *svm_file)
EMultiClassSVM get_multiclass_type ()
- Public Member Functions inherited from CSVM
 CSVM (int32_t num_sv=0)
 CSVM (float64_t C, CKernel *k, CLabels *lab)
virtual ~CSVM ()
void set_defaults (int32_t num_sv=0)
virtual SGVector< float64_tget_linear_term ()
virtual void set_linear_term (SGVector< float64_t > linear_term)
void set_nu (float64_t nue)
void set_C (float64_t c_neg, float64_t c_pos)
void set_epsilon (float64_t eps)
void set_tube_epsilon (float64_t eps)
float64_t get_tube_epsilon ()
void set_qpsize (int32_t qps)
float64_t get_epsilon ()
float64_t get_nu ()
float64_t get_C1 ()
float64_t get_C2 ()
int32_t get_qpsize ()
void set_shrinking_enabled (bool enable)
bool get_shrinking_enabled ()
float64_t compute_svm_dual_objective ()
float64_t compute_svm_primal_objective ()
void set_objective (float64_t v)
float64_t get_objective ()
void set_callback_function (CMKL *m, bool(*cb)(CMKL *mkl, const float64_t *sumw, const float64_t suma))
- Public Member Functions inherited from CKernelMachine
 CKernelMachine ()
virtual ~CKernelMachine ()
void set_kernel (CKernel *k)
CKernelget_kernel ()
void set_batch_computation_enabled (bool enable)
bool get_batch_computation_enabled ()
void set_linadd_enabled (bool enable)
bool get_linadd_enabled ()
void set_bias_enabled (bool enable_bias)
bool get_bias_enabled ()
float64_t get_bias ()
void set_bias (float64_t bias)
int32_t get_support_vector (int32_t idx)
float64_t get_alpha (int32_t idx)
bool set_support_vector (int32_t idx, int32_t val)
bool set_alpha (int32_t idx, float64_t val)
int32_t get_num_support_vectors ()
void set_alphas (SGVector< float64_t > alphas)
void set_support_vectors (SGVector< int32_t > svs)
SGVector< int32_t > get_support_vectors ()
SGVector< float64_tget_alphas ()
bool create_new_model (int32_t num)
bool init_kernel_optimization ()
- Public Member Functions inherited from CMachine
 CMachine ()
virtual ~CMachine ()
virtual bool train (CFeatures *data=NULL)
virtual void set_labels (CLabels *lab)
virtual CLabelsget_labels ()
virtual float64_t get_label (int32_t i)
void set_max_train_time (float64_t t)
float64_t get_max_train_time ()
void set_solver_type (ESolverType st)
ESolverType get_solver_type ()
virtual void set_store_model_features (bool store_model)
- Public Member Functions inherited from CSGObject
 CSGObject ()
 CSGObject (const CSGObject &orig)
virtual ~CSGObject ()
virtual bool is_generic (EPrimitiveType *generic) const
template<class T >
void set_generic ()
void unset_generic ()
virtual void print_serializable (const char *prefix="")
virtual bool save_serializable (CSerializableFile *file, const char *prefix="")
virtual bool load_serializable (CSerializableFile *file, const char *prefix="")
void set_global_io (SGIO *io)
SGIOget_global_io ()
void set_global_parallel (Parallel *parallel)
Parallelget_global_parallel ()
void set_global_version (Version *version)
Versionget_global_version ()
SGVector< char * > get_modelsel_names ()
char * get_modsel_param_descr (const char *param_name)
index_t get_modsel_param_index (const char *param_name)

Protected Member Functions

virtual bool train_machine (CFeatures *data=NULL)

Protected Attributes

SCATTER_TYPE scatter_type
svm_problem problem
svm_parameter param
struct svm_model * model
float64_tnorm_wc
float64_tnorm_wcw
float64_t rho
int32_t m_num_classes
- Protected Attributes inherited from CMultiClassSVM
EMultiClassSVM multiclass_type
int32_t m_num_classes
int32_t m_num_svms
CSVM ** m_svms
- Protected Attributes inherited from CSVM
SGVector< float64_tm_linear_term
bool svm_loaded
float64_t epsilon
float64_t tube_epsilon
float64_t nu
float64_t C1
float64_t C2
float64_t objective
int32_t qpsize
bool use_shrinking
bool(* callback )(CMKL *mkl, const float64_t *sumw, const float64_t suma)
CMKLmkl
- Protected Attributes inherited from CKernelMachine
CKernelkernel
bool use_batch_computation
bool use_linadd
bool use_bias
float64_t m_bias
SGVector< float64_tm_alpha
SGVector< int32_t > m_svs
- Protected Attributes inherited from CMachine
float64_t max_train_time
CLabelslabels
ESolverType solver_type
bool m_store_model_features

Additional Inherited Members

- Static Public Member Functions inherited from CKernelMachine
static void * apply_helper (void *p)
- Public Attributes inherited from CSGObject
SGIOio
Parallelparallel
Versionversion
Parameterm_parameters
Parameterm_model_selection_parameters

Constructor & Destructor Documentation

default constructor

Definition at line 20 of file ScatterSVM.cpp.

constructor

Definition at line 27 of file ScatterSVM.cpp.

CScatterSVM ( float64_t  C,
CKernel k,
CLabels lab 
)

constructor (using NO_BIAS as default scatter_type)

Parameters
Cconstant C
kkernel
lablabels

Definition at line 33 of file ScatterSVM.cpp.

~CScatterSVM ( )
virtual

default destructor

Definition at line 39 of file ScatterSVM.cpp.

Member Function Documentation

float64_t apply ( int32_t  num)
virtual

classify one example

Parameters
numnumber of example to classify
Returns
resulting classification

Reimplemented from CMultiClassSVM.

Definition at line 406 of file ScatterSVM.cpp.

CLabels * classify_one_vs_rest ( )
virtual

classify one vs rest

Returns
resulting labels

Reimplemented from CMultiClassSVM.

Definition at line 339 of file ScatterSVM.cpp.

virtual EClassifierType get_classifier_type ( )
virtual

get classifier type

Returns
classifier type LIBSVM

Reimplemented from CMachine.

Definition at line 74 of file ScatterSVM.h.

virtual const char* get_name ( ) const
virtual
Returns
object name

Reimplemented from CSVM.

Definition at line 90 of file ScatterSVM.h.

bool train_machine ( CFeatures data = NULL)
protectedvirtual

train SVM classifier

Parameters
datatraining data (parameter can be avoided if distance or kernel-based classifiers are used and distance/kernels are initialized with train data)
Returns
whether training was successful

Reimplemented from CMachine.

Definition at line 45 of file ScatterSVM.cpp.

Member Data Documentation

int32_t m_num_classes
protected

number of classes

Definition at line 131 of file ScatterSVM.h.

struct svm_model* model
protected

SVM model

Definition at line 119 of file ScatterSVM.h.

float64_t* norm_wc
protected

norm of w_c

Definition at line 122 of file ScatterSVM.h.

float64_t* norm_wcw
protected

norm of w_cw

Definition at line 125 of file ScatterSVM.h.

svm_parameter param
protected

SVM param

Definition at line 116 of file ScatterSVM.h.

svm_problem problem
protected

SVM problem

Definition at line 114 of file ScatterSVM.h.

float64_t rho
protected

ScatterSVM rho

Definition at line 128 of file ScatterSVM.h.

SCATTER_TYPE scatter_type
protected

type of scatter SVM

Definition at line 111 of file ScatterSVM.h.


The documentation for this class was generated from the following files:

SHOGUN Machine Learning Toolbox - Documentation