Public Member Functions | Protected Attributes

COnlineLinearMachine Class Reference


Detailed Description

Class OnlineLinearMachine is a generic interface for linear machines like classifiers which work through online algorithms.

A linear classifier computes

\[ f({\bf x})= {\bf w} \cdot {\bf x} + b \]

where ${\bf w}$ are the weights assigned to each feature in training and $b$ the bias.

To implement a linear classifier all that is required is to define the train() function that delivers ${\bf w}$ above.

Note that this framework works with linear classifiers of arbitrary feature type, e.g. dense and sparse and even string based features. This is implemented by using CStreamingDotFeatures that may provide a mapping function $\Phi({\bf x})\mapsto {\cal R^D}$ encapsulating all the required operations (like the dot product). The decision function is thus

\[ f({\bf x})= {\bf w} \cdot \Phi({\bf x}) + b. \]

Definition at line 49 of file OnlineLinearMachine.h.

Inheritance diagram for COnlineLinearMachine:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 COnlineLinearMachine ()
virtual ~COnlineLinearMachine ()
virtual void get_w (float32_t *&dst_w, int32_t &dst_dims)
virtual void get_w (float64_t *&dst_w, int32_t &dst_dims)
virtual SGVector< float32_tget_w ()
virtual void set_w (float32_t *src_w, int32_t src_w_dim)
virtual void set_w (float64_t *src_w, int32_t src_w_dim)
virtual void set_bias (float32_t b)
virtual float32_t get_bias ()
virtual bool load (FILE *srcfile)
virtual bool save (FILE *dstfile)
virtual void set_features (CStreamingDotFeatures *feat)
virtual CLabelsapply ()
virtual CLabelsapply (CFeatures *data)
virtual float64_t apply (int32_t vec_idx)
 get output for example "vec_idx"
virtual float32_t apply (float32_t *vec, int32_t len)
virtual float32_t apply_to_current_example ()
virtual CStreamingDotFeaturesget_features ()
virtual const char * get_name () const

Protected Attributes

int32_t w_dim
float32_tw
float32_t bias
CStreamingDotFeaturesfeatures

Constructor & Destructor Documentation

default constructor

Definition at line 16 of file OnlineLinearMachine.cpp.

~COnlineLinearMachine (  )  [virtual]

Definition at line 24 of file OnlineLinearMachine.cpp.


Member Function Documentation

CLabels * apply (  )  [virtual]

apply linear machine to all examples

Returns:
resulting labels

Implements CMachine.

Definition at line 47 of file OnlineLinearMachine.cpp.

CLabels * apply ( CFeatures data  )  [virtual]

apply linear machine to data

Parameters:
data (test)data to be classified
Returns:
classified labels

Implements CMachine.

Definition at line 74 of file OnlineLinearMachine.cpp.

virtual float64_t apply ( int32_t  vec_idx  )  [virtual]

get output for example "vec_idx"

Reimplemented from CMachine.

Definition at line 178 of file OnlineLinearMachine.h.

float32_t apply ( float32_t vec,
int32_t  len 
) [virtual]

apply linear machine to one vector

Parameters:
vec feature vector
len length of vector
Returns:
classified label

Definition at line 84 of file OnlineLinearMachine.cpp.

float32_t apply_to_current_example (  )  [virtual]

apply linear machine to vector currently being processed

Returns:
classified label

Definition at line 89 of file OnlineLinearMachine.cpp.

virtual float32_t get_bias (  )  [virtual]

get bias

Returns:
bias

Definition at line 133 of file OnlineLinearMachine.h.

virtual CStreamingDotFeatures* get_features (  )  [virtual]

get features

Returns:
features

Definition at line 205 of file OnlineLinearMachine.h.

virtual const char* get_name (  )  const [virtual]

Returns the name of the SGSerializable instance. It MUST BE the CLASS NAME without the prefixed `C'.

Returns:
name of the SGSerializable

Implements CSGObject.

Reimplemented in COnlineLibLinear, COnlineSVMSGD, and CVowpalWabbit.

Definition at line 212 of file OnlineLinearMachine.h.

virtual void get_w ( float64_t *&  dst_w,
int32_t &  dst_dims 
) [virtual]

Get w as a _new_ float64_t array

Parameters:
dst_w store w in this argument
dst_dims dimension of w

Definition at line 74 of file OnlineLinearMachine.h.

virtual void get_w ( float32_t *&  dst_w,
int32_t &  dst_dims 
) [virtual]

get w

Parameters:
dst_w store w in this argument
dst_dims dimension of w

Definition at line 61 of file OnlineLinearMachine.h.

virtual SGVector<float32_t> get_w (  )  [virtual]

get w

Returns:
weight vector

Definition at line 87 of file OnlineLinearMachine.h.

bool load ( FILE *  srcfile  )  [virtual]

load from file

Parameters:
srcfile file to load from
Returns:
if loading was successful

Reimplemented from CMachine.

Definition at line 33 of file OnlineLinearMachine.cpp.

bool save ( FILE *  dstfile  )  [virtual]

save to file

Parameters:
dstfile file to save to
Returns:
if saving was successful

Reimplemented from CMachine.

Definition at line 40 of file OnlineLinearMachine.cpp.

virtual void set_bias ( float32_t  b  )  [virtual]

set bias

Parameters:
b new bias

Definition at line 124 of file OnlineLinearMachine.h.

virtual void set_features ( CStreamingDotFeatures feat  )  [virtual]

set features

Parameters:
feat features to set

Definition at line 156 of file OnlineLinearMachine.h.

virtual void set_w ( float64_t src_w,
int32_t  src_w_dim 
) [virtual]

Set weight vector from a float64_t vector

Parameters:
src_w new w
src_w_dim dimension of new w

Definition at line 111 of file OnlineLinearMachine.h.

virtual void set_w ( float32_t src_w,
int32_t  src_w_dim 
) [virtual]

set w

Parameters:
src_w new w
src_w_dim dimension of new w

Definition at line 97 of file OnlineLinearMachine.h.


Member Data Documentation

float32_t bias [protected]

bias

Definition at line 220 of file OnlineLinearMachine.h.

features

Reimplemented in CVowpalWabbit.

Definition at line 222 of file OnlineLinearMachine.h.

float32_t* w [protected]

w

Definition at line 218 of file OnlineLinearMachine.h.

int32_t w_dim [protected]

dimension of w

Definition at line 216 of file OnlineLinearMachine.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation