CLinearKernel Class Reference

Inheritance diagram for CLinearKernel:

Inheritance graph
[legend]

List of all members.

Public Member Functions

 CLinearKernel ()
 CLinearKernel (CRealFeatures *l, CRealFeatures *r)
virtual ~CLinearKernel ()
virtual bool init (CFeatures *l, CFeatures *r)
virtual void cleanup ()
virtual bool load_init (FILE *src)
virtual bool save_init (FILE *dest)
virtual EKernelType get_kernel_type ()
virtual const char * get_name ()
virtual bool init_optimization (int32_t num_suppvec, int32_t *sv_idx, float64_t *alphas)
virtual bool delete_optimization ()
virtual float64_t compute_optimized (int32_t idx)
virtual void clear_normal ()
virtual void add_to_normal (int32_t idx, float64_t weight)
const float64_tget_normal (int32_t &len)
void get_w (float64_t **dst_w, int32_t *dst_dims)
void set_w (float64_t *src_w, int32_t src_w_dim)

Protected Member Functions

virtual float64_t compute (int32_t idx_a, int32_t idx_b)

Protected Attributes

float64_tnormal
int32_t normal_length


Detailed Description

Computes the standard linear kernel on dense real valued features

\[ k({\bf x},{\bf x'})= \frac{1}{scale}{\bf x}\cdot {\bf x'} \]

Definition at line 23 of file LinearKernel.h.


Constructor & Destructor Documentation

CLinearKernel::CLinearKernel (  ) 

constructor

Definition at line 17 of file LinearKernel.cpp.

CLinearKernel::CLinearKernel ( CRealFeatures l,
CRealFeatures r 
)

constructor

Parameters:
l features of left-hand side
r features of right-hand side

Definition at line 23 of file LinearKernel.cpp.

CLinearKernel::~CLinearKernel (  )  [virtual]

Definition at line 30 of file LinearKernel.cpp.


Member Function Documentation

void CLinearKernel::add_to_normal ( int32_t  idx,
float64_t  weight 
) [virtual]

add to normal vector

Parameters:
idx where to add
weight what to add

Reimplemented from CKernel.

Definition at line 73 of file LinearKernel.cpp.

void CLinearKernel::cleanup (  )  [virtual]

clean up kernel

Reimplemented from CKernel.

Definition at line 42 of file LinearKernel.cpp.

void CLinearKernel::clear_normal (  )  [virtual]

clear normal vector

Reimplemented from CKernel.

Definition at line 59 of file LinearKernel.cpp.

float64_t CLinearKernel::compute ( int32_t  idx_a,
int32_t  idx_b 
) [protected, virtual]

compute kernel function for features a and b idx_{a,b} denote the index of the feature vectors in the corresponding feature object

Parameters:
idx_a index a
idx_b index b
Returns:
computed kernel function at indices a,b

Implements CKernel.

Definition at line 87 of file LinearKernel.cpp.

float64_t CLinearKernel::compute_optimized ( int32_t  idx  )  [virtual]

compute optimized

Parameters:
idx index to compute
Returns:
optimized value at given index

Reimplemented from CKernel.

Definition at line 129 of file LinearKernel.cpp.

bool CLinearKernel::delete_optimization (  )  [virtual]

delete optimization

Returns:
if deleting was successful

Reimplemented from CKernel.

Definition at line 119 of file LinearKernel.cpp.

virtual EKernelType CLinearKernel::get_kernel_type (  )  [virtual]

return what type of kernel we are

Returns:
kernel type LINEAR

Implements CKernel.

Definition at line 68 of file LinearKernel.h.

virtual const char* CLinearKernel::get_name (  )  [virtual]

return the kernel's name

Returns:
name Lineaer

Implements CKernel.

Definition at line 74 of file LinearKernel.h.

const float64_t* CLinearKernel::get_normal ( int32_t &  len  ) 

get normal

Parameters:
len where length of normal vector will be stored
Returns:
normal vector

Definition at line 115 of file LinearKernel.h.

void CLinearKernel::get_w ( float64_t **  dst_w,
int32_t *  dst_dims 
)

get normal vector (swig compatible)

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

Definition at line 134 of file LinearKernel.h.

bool CLinearKernel::init ( CFeatures l,
CFeatures r 
) [virtual]

initialize kernel

Parameters:
l features of left-hand side
r features of right-hand side
Returns:
if initializing was successful

Reimplemented from CSimpleKernel< float64_t >.

Definition at line 35 of file LinearKernel.cpp.

bool CLinearKernel::init_optimization ( int32_t  num_suppvec,
int32_t *  sv_idx,
float64_t alphas 
) [virtual]

optimizable kernel, i.e. precompute normal vector and as phi(x) = x do scalar product in input space

Parameters:
num_suppvec number of support vectors
sv_idx support vector index
alphas alphas
Returns:
if optimization was successful

Reimplemented from CKernel.

Definition at line 107 of file LinearKernel.cpp.

bool CLinearKernel::load_init ( FILE *  src  )  [virtual]

load kernel init_data

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

Implements CKernel.

Definition at line 49 of file LinearKernel.cpp.

bool CLinearKernel::save_init ( FILE *  dest  )  [virtual]

save kernel init_data

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

Implements CKernel.

Definition at line 54 of file LinearKernel.cpp.

void CLinearKernel::set_w ( float64_t src_w,
int32_t  src_w_dim 
)

set normal vector (swig compatible)

Parameters:
src_w new w
src_w_dim dimension of new w - must fit dim of lhs

Definition at line 150 of file LinearKernel.h.


Member Data Documentation

normal vector (used in case of optimized kernel)

Definition at line 170 of file LinearKernel.h.

int32_t CLinearKernel::normal_length [protected]

length of normal vector

Definition at line 172 of file LinearKernel.h.


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

SHOGUN Machine Learning Toolbox - Documentation